Godaddy tarafından verilen sertifika [kapalı] kullanılırken "Genel anahtar sertifikası ve özel anahtar eşleşmiyor"


86

Amazon AWS'de kurduğum yeni bir yük dengeleyiciye bir GoDaddy SSL sertifikası yüklemeye çalışıyorum. Sertifikayı ilk olarak Godaddy'de Glassfish 3.1 sunucusuna (Amazon linux ami) doğrudan kurulum için keytool programını kullanarak oluşturdum. Bu kurulumu doğrudan sunucuda alırken hiçbir sorun yaşamadım. Şimdi sertifikayı web sunucusundan yeni yük dengeleyiciye taşımam gerekiyor. Amazon, özel anahtarın ve sertifikaların PEM biçiminde olmasını gerektirdiğinden, yeni sertifikalar oluşturmak için GoDaddy'deki "yeniden anahtarlama" aracını kullandım. AWS Mgmt Konsolundaki yük dengeleyici kurulum ekranındakileri yüklediğimde, "Genel Anahtar Sertifikası ve Özel Anahtar eşleşmiyor" hata mesajını alıyorum.

Anahtarları şu şekilde oluşturuyorum:

$ openssl genrsa -des3 -out private.key 2048
$ openssl req -new -key private.key -out apps.mydomain.com.csr

Daha sonra .csr dosyasını "yeniden anahtarlama" işlemi sırasında GoDaddy'ye gönderiyorum. Yeniden anahtarlama işlemi tamamlandığında, yeni oluşturulan 2 sertifikayı indiriyorum (apps.mydomain.com.crt & gd_bundle.crt). Sunucu türü olarak (Apache) seçerek indiriyorum ("diğer" ve "Cpanel" i de denedim ama hepsi aynı görünüyor).

Bu noktada aşağıdaki komutu kullanarak private.key dosyasındaki şifrelemeyi kaldırıyorum:

$ openssl rsa -in private.key -out private.pem

Bu noktada, AWS Mgmt konsoluna geri dönüyorum, yük dengeleyiciyi oluşturuyorum, güvenli sunucu yönlendirmesini ekliyorum ve aşağıdaki dosyaların içeriğini, ssl sertifikasını kurmayı istediği ekranda ilgili alanlara koyuyorum:

private.pem --> Private Key
apps.mydomain.com.crt --> Public Key Certificate
gd_bundle.crt --> Certificate Chain

"Devam et" düğmesini tıkladığımda "Hata: Genel Anahtar Sertifikası ve Özel Anahtar eşleşmiyor" hatasını alıyorum.

-Amazon'dan geçerli bir hata mesajı aldığımı test etmenin bir yolu var mı? GoDaddy'nin talimatlarını oldukça yakından takip ettiğimde anahtarların eşleşmemesi bana garip geliyor.

.Csr'yi oluşturmadan önce RSA şifrelemesi olmadan private.key dosyasını oluşturmayı denedim ve bu herhangi bir fark yaratmıyor gibi görünüyor.

Ayrıca GoDaddy'den indirdiğim .crt dosyalarının .PEM biçiminde olduğunu varsayıyorum, ancak bunu nasıl doğrulayacağımdan emin değilim.

Herhangi bir fikir?


1
Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Bu soru, programlama veya geliştirmeyle ilgili olmadığı için konu dışı gibi görünüyor. Burada , Yardım Merkezinde hangi konular hakkında soru sorabilirim konusuna bakın . Belki Süper Kullanıcı sormak için daha iyi bir yer olabilir. Ayrıca, Dev Ops ile ilgili sorularımı nereye gönderebilirim? Konusuna bakın. .
jww

Bu gönderi 3 yaşın üzerinde, neden şimdi taşımakla uğraşasınız?
Felby

1
Felby - millet sık sık "... ama bu gönderiye ve o gönderiye bakın" der. Yani yeni gönderileri düzenli tutmak için yeterli değil - en azından eski gönderiler için de bir mesaj almalıyız. Ve değeri ne olursa olsun, bunun kötü bir soru olduğunu düşünmüyorum. Stack Overflow için biraz konu dışı.
jww

@Felby, kabul için bu cevabı düşünmelisiniz . AWS ile bu sorun ortaya çıktığında çoğu geliştiricinin aradığı sorun budur.
Noel Baron

Yanıtlar:


61

Benim için bu kolay bir iki adımdı:

  1. Özel anahtarı PEM'e dönüştürün:

    openssl rsa -in yourdomain.key -outform PEM

  2. Sertifikayı ve sertifika paketini PEM'e dönüştürün :

    openssl x509 -inform PEM -in yourdomain.crt

    openssl x509 -inform PEM -in bundle.crt


1
Bu özel cevap bana gerçekten yardımcı oldu. Teşekkürler Jonathan. Kayıt için, yourdomain.crt, sağlayıcınızdan aldığınız sertifika olan ortak anahtardır (aynı zamanda bir .cer olabilir)
user_v

hata almaya devam ediyorumWARNING: can't open config file: /etc/pki/tls/openssl.cnf
tq

2
@tq - bazı OpenSSL komutları da bir -configseçenek sunar. Kullandığınız yapılandırma dosyasının yolunu belirtmek için kullanın.
jww

@felby Bunu kabul edilen cevap olarak işaretlemeli. İOS cihazlarda SSL güven sorunu yaratmayan tek cevap budur.
Noel Baron

Bu cevap, joker karakter SSL ile gerçekten yararlıdır. Hem domain.crt hem de gd_bundle.crt dosyasını dönüştürmeniz gerekir.
Ducle

40

Sadece kayıt için ve bunu anlamaya çalışan herkes için:

yourdomain.key -> terminal komutu: sudo openssl rsa -in yourdomain.key -outform PEM -out yourdomain.pem -> özel anahtar

yourdomain.crt -> genel anahtar

gd_bundle.crt -> sertifika zinciri

ve gitmekte iyisin :)


2
OMG, problemle o kadar çok saat kaybettim ki, beni kurtardın! Bir RapidSSL sertifikası satın aldım: işin püf noktası 1) burada önerdiğiniz gibi özel anahtarı dönüştürmek ve 2) RapidSSL tarafından sağlanan sertifika zincirindeki sertifikaların sırasını tersine çevirmek. Teşekkürler!
MiniQuark

benden şifre sormaya devam ediyor ama rapidssl sertifikam şifresiz yapıldı
tq

Sudo komutu, hesabınız birkaç farklı yöntemle şifre gerektirmeyecek şekilde ayarlanmadıkça bir yönetici şifresi isteyecektir. Bu senin de bahsettiğin şifre mi?
Chris J

İhtiyacı olan biri tarafından bulunabileceği bir şey eklemek için, bir istemciden bir Host Gator sertifikası aldık ve oldukça güzel bir şekilde kurulmuş görünüyordu - pem dönüşümü yok ve CA paketi zaten bir araya getirildi. Ancak, Amazon'a girmezdi. Paketteki sertifika sırası ile aynı şeydi. Siparişi tersine çevirerek içeri girdi ve çalıştı.
CargoMeister

23

Görünüşe göre sorun, anahtarın içeriğini ve onayları AWS Management konsoluna kopyalamamdı. Windows 7 masaüstünde Virtual Box'da çalışan bir Ubuntu masaüstü kullanıyordum; değerleri bir gedit ekranından Windows kutusunda çalışan tarayıcıya kopyalayıp yapıştırın. Anahtar ve sertifika dosyalarını web tarayıcısıyla aynı kutuda açtıktan sonra (bu durumda Windows) sertifikalar gayet iyi geçti. Virtual Box istemcisi ve ana bilgisayar arasında paylaşılan pano kullanılırken, dosyanın bazı kısımlarının düzgün çalışmadığını tahmin ediyorum. Dava kapandı.


İnsanların sorunun çözüldüğünü bilmesi için cevabınızı kabul edebilir misiniz?
Phil Sturgeon

2
Garip, bunu uzun zaman önce zaten kabul ettiğimi sanıyordum ...
Felby

7

Bu soruna alternatif bir çözüm bulduk. Aynı hatayla aynı semptomları yaşıyorduk.

Sonra pem kodlarını bir kez daha girmeyi denedik, ancak bu sefer bir kez enter tuşuna bastığımızdan ve imlecin her pencerenin sonunda boş bir satırda olduğundan emin olduk. Sonra kurtardık. İŞE YARADI.

Bu bizim sorunumuzu çözdü, böylece başkaları için çözebilirdi.


1

Küçük bir şey. Bir Windows kutusu (Win 7 Pro) kullanıyorum ve OpenSSL'nin Windows bağlantı noktasını kullandığımda, çıktı dosyalarının Unix stili satır sonu karakterleri (LF) vardı.

Özel anahtarın yüklenmesi için dosyayı Windows stiline (CRLF) dönüştürmek zorunda kaldım.


0

Size alternatif bir çözüm ve bilgi ile önerebilirim millet. Genellikle tüm sertifikalar PEM dosya biçimindedir. Bir not defteri veya herhangi bir metin düzenleyici açıp .crt dosya biçiminde aldığınız dosyaları sürükleyebilirsiniz. Normalde .PEM dosyası olarak adlandırılan sertifika, anahtar aracınıza yüklenen sertifika anahtar aracından sertifikayı bir pfx dosyası olarak dışa aktarabilirsiniz. Daha sonra pfx dosyasını özel anahtardan pfx dosyasından ayırabilirsiniz. Çünkü pfx dosyası, sertifikanız ve özel anahtarın birleşimidir. Böylece özel anahtar dosyasını ayrı olarak alıp amazon aws üzerinde kullanabilirsiniz.

Sertifikayı yüklemenin başka bir yolu olabileceğinden şüpheleniyorum. Belki sertifika yetkilisiyle iletişime geçebilirsiniz ve sertifikanızın yeniden verilmesini sağlamanın herhangi bir yolu var mı?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.