2012-12-30 16 views
5

answer - Hostname/IP doesn't match certificate's altname adresinde belirtildiği gibi Node.js, istenen ana bilgisayar adı sertifikanın Ortak Adı (CN) olarak verildiğinde, ana bilgisayar adlarında TLS sertifikalarını başarıyla doğrular. Ben bir IP adresi için aynı çalıştığınızdaNeden Node.js, yalnızca SAN için değil, CN için sertifikalarda IP adreslerini kabul eder?

Request : localhost 
Common Name: localhost 
=> Success 

Şimdi, doğrulama başarısız olur:

Request : 192.168.178.31 
Common Name: 192.168.178.31 
=> Fail 

Ben IP adresi olarak Konusu Diğer Adı (SAN) belirtirseniz sadece çalışır:

Request     : 192.168.178.31 
Common Name    : 192.168.178.31 
Subject Alternative Name: 192.168.178.31 
=> Success 

answer'da açıklandığı gibi IP address as hostname (CN) when creating a certificate? (HTTPS hostname wrong: should be <ipAddress>),

Sertifikalarda IP adresini kullanarak

[...] önerilmez.

Bir alternatif olarak (sırayla node.js çalışır) SAN'lara olarak IP adreslerini eklemek How are SSL certificate server names resolved/Can I add alternative names using keytool? için answer önerilmektedir.

Şimdi sorum şu: yanlış veya yasak anlamına gelmez tavsiye edilmez. önerilmeyen özel bir neden var mı Node.js CNs IP adreslerini desteklemiyor, ya da neden bu bir risk (güvenlik, her neyse, ...) olsaydı?

+1

Tam olarak aynı sorunu yaşıyordum. Araştırmanızı buraya kolayca kazınabilir bir şekilde gönderdiğiniz için teşekkürler - şüphelerimi doğrulamama yardımcı oldu! –

+0

Size yardım ettiğine sevindim :-)) –

cevap

4

uygulama HTTPS specification ile sadece uyumludur: Bazı durumlarda

, URI bir IP adresi yerine bir ana makine olarak belirtilir. Bu durumda, iPAddress subjectAltName sertifikasında olmalıdır ve URI'deki IP ile tam olarak eşleşmelidir.

dediğimde sen alıntı yanıtında, HTTPS kullanırken genel olarak IP adreslerini kullanma hakkında daha fazla oldu "önerilmez". Bazı tarayıcılar, bununla kalmanıza izin veriyor, ama aynı zamanda "zorunluluk" kelimesini kullanan, oradaki özellikleri de aktardım. RFC'nin burada bulacağınız cevaplardan daha yetkili olduğunu söylemek gereksiz.

İlgili konular