Sertifika Yetkilisi Olmak ve Sertifika Oluşturmak


1

Hızlı bir soru.

PKILabServer.com için bir sertifika imzaladım (Ortak Ad altında listeleniyor),

/etc/hostsve aşağıdaki girişi ekle127.0.0.1 PKILabServer.com

Ardından komutu kullanarak sunucuyu başlatın. % openssl s_server –cert server.pem -www

Tarayıcıyı https://PKILabServer.com:4433’a yöneltiyorum ve ardından " Geçersiz güvenlik sertifikası ... " gösteriyor ve ardından sertifika dosyamı ca.crtyüklüyorum ve web sitesi mükemmel şekilde yükleniyor.

Asıl soru, PKILabServer.com localhost'a işaret ettiğinden, eğer https: // localhost: 4433 kullanıyorsak, aynı web sunucusuna bağlanacağız.

Ancak tarayıcıyı gösterdiğimde localhost:4433, "Bu sertifika sadece pkilabserver.com için geçerlidir ..." diyerek bir hata mesajı alıyorum, bunun nedenini projemde açıklamam gerekiyor ve cevap verdiğim de bu. Yanılıyorsam lütfen beni düzeltin.

Bunun nedeni, oluşturulan Sertifika İmzalama İsteğinin yalnızca PKILabServer.com (Ortak Ad altında listelendiği gibi) için imzalanmış olmasıdır / etc / hosts dosyasında localhost altında listelenen birçok web sitesine giriş olduğundan, tarayıcı localhost:4433/ etc / hosts dosyasında listelenen web sitesini alır ve web siteleri eşleşmediğinden, "Sertifika yalnızca PKILabServer.com için geçerlidir" hatası alırız


Evet. Web sunucusu, etki alanınız için localhost'tan farklı bir sertifikadır ve bu şekilde tarayıcı geçerli olmadığını söyler. İkinci bir sertifikaya ihtiyacınız olacak; localhost kullanmayın ve / veya web sunucusu yapılandırmanızı ayarlamayın. Ek openssl s_serverolarak, çok dar bir kapsamda test yapmak dışında herhangi bir şey için kullanmak kötü bir fikirdir .
Seth

CN=PKILabServer.commuhtemelen yanlış. Ana bilgisayar adları her zaman SAN'a gider . Onun Varsa CN , o zaman bulunması gerekir SAN çok (Bu durumda iki kez listelemek gerekir). Daha fazla kural ve neden için, Sertifika Yetkilinizle Sertifika İmzalama İsteğini nasıl imzalarsınız ve openssl ile kendinden imzalı bir sertifika nasıl oluşturulur?
jww

Yanıtlar:


1

Bir IP adresinin ve alan adının HTTPS bağlantılarıyla ilgili rolünü karıştırdığınızı düşünüyorum.

Bir sertifikanın (HTTPS bağlamında) IP adresleri hakkında bilgisi yoktur ve daha az umurundadır - tek umursadığı şey ilişkili olduğu alan adlarıdır - ve bunlar sertifikaya kodlanmıştır.

HTTPS bağlantınız kurulurken, etki alanı adı bir başlık ("ana bilgisayar: xxxx") kullanılarak iletilir ve sertifika, içinde bulunduğu Arabirimden bağımsız olarak doğrulanır.

Bu nedenle, localhost: XXX'e döndüğünüzde, cert eşleşmez, çünkü localhost başlığın ana bilgisayar satırında değildir ve bir hata atar. Benzer şekilde, 127.0.0.1'in etki alanı adıyla eşleştirilmesi ve etki alanı adının kullanılması iyi sonuç verir.

[Bütünlük uğruna, Virtualhost'un aynı konfigürasyona sahip herhangi bir IP'ye bağlanabileceğini farz ediyorum]


@Davidgo açıklaması için teşekkürler. Lütfen 127.0.0.1'deki bu harita üzerinde etki alanı ismini ve etki alanı ismini kullanarak çalışabilir misiniz? Söyleyecektim çalıştı 127.0.0.1:4433 ben localhost gittiğimde var ben aynı hatayı alıyorum: 4433
Veri Shark

(Üzgünüm, sadece sorunuzu okudum ve tamamen cevaplamadığımı fark ettim - son paragrafı görmedim) başlık. Bunun, sertifikadaki isimlerden hiçbiriyle (Ortak Ad alanı) eşleşmediğini ve bir hata oluşturduğunu görür. Localhost'a giderseniz aynı şey geçerlidir: 443. IE, cert dosyasında listelenmemiş bir ad yazarsanız, IP adresinden bağımsız olarak çalışmaz.
davidgo,

bir daha hızlı soru. Sunucuyu başlattıktan sonra, sertifikayı tarayıcıya yükleyip PKILabServer.com:4433 'e işaret edin , bir sürü şifre paketi alıyorum. Bununla ilgili gözlemi açıklamam istendi. Ben yaptım, lütfen açıklamaya bir göz atın ve doğru olup olmadığını bana bildirin. i.imgsafe.org/8faa770a88.png
Data Shark

Bu konuda otoriter konuşamıyorum, ancak cevabın doğru olduğunu düşünüyorum. S_server kılavuz sayfasına göre "-www, bağlandığında müşteriye tekrar bir durum mesajı gönderir. Bu, kullanılan şifreler ve çeşitli oturum parametreleri hakkında birçok bilgi içerir. Çıktı HTML formatındadır, bu yüzden bu seçenek normalde bir web ile kullanılacaktır. tarayıcı."
davidgo

Bu açıklamada eksik olan (her ne kadar iyi olsa da) SNI'den birkaç yıl önce , bir sertifikayı bir IP'ye bağlamak gerçekten mümkündü. Sertifikanın içinde IP yoktu, ancak El Sıkışma işlemi ana bilgisayar adını içermiyordu ve bu nedenle web sunucusunda farklı sertifikalar verecek hiçbir şekilde sahip değildi.
Seth
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.