TunnelBlick
Sertifika kullanarak bağlanmak için ( başarısız bir OS / X OpenVPN 2.2.1 istemcisi) kullanmak için çok başarısız çalışıyorum . İşte (ayıklanmış) aldığım hata iletisi:
2012-01-11 11:18:26 TLS: **. **. **. **: 1194, sid = 17a4a801 5012e004'ten ilk paket 2012-01-11 11:18:26 HATA DOĞRULA: derinlik = 1, hata = sertifika zincirinde kendinden imzalı sertifika: / C = ABD / ST = ** / L = ** / O = ** / CN = ** / emailAddress = ** 2012-01-11 11:18:26 TLS_ERROR: BIO okuma tls_read_plaintext hatası: hata: 14090086: SSL rutinleri: SSL3_GET_SERVER_CERTIFICATE: sertifika doğrulaması başarısız oldu 2012-01-11 11:18:26 TLS Hatası: TLS nesnesi -> gelen düz metin okuma hatası 2012-01-11 11:18:26 TLS Hatası: TLS anlaşması başarısız oldu 2012-01-11 11:18:26 TCP / UDP: Kapatma soketi
Şimdi, işte sürtünme. Bu sertifikayı istemek için kendime bir CSR oluşturdum , diğer taraf tarafından bana sağlanan ca.crt dosyasını kullanarak (aslında, sadece emin olmak için iki kez yaptılar).
İstemci yapılandırmasındaki ilgili girdiler şunlardır:
ca ca.crt
cert my.crt
key my.key
ve dahası ... Anahtarları şu şekilde doğrulayabilirim:
openssl doğrula -CAfile ca.crt my.crt
my.crt: Tamam
Tamam, şimdi iyice gizem ve güldüm. Bu noktada, CSR ve anahtarın uygun CSR kullanılarak oluşturulduğunu biliyorum . Aslında, burada yaptım çok komut:
openssl req -newkey rsa:2048 -new -out my.csr -keyout my.key
Bunu yapmayı da biliyordum:
openssl x509 -subject -issuer -noout -in ca.crt
...
(goz kirpmak!)
Sadece buldum mu?
Bu komutun çıktısı şuna benzer: (biraz düzenlenmiş)
konu = / C = ABD / ST = VA / L = ** / O = ** / CN = ** CA / emailAddress = ** ihraççı = (aynı)
oysa OpenVPN hata mesajında ST = tam olarak aynı değildir :
HATA DOĞRULA: derinlik = 1, hata = sertifika zincirinde kendinden imzalı sertifika: / C = ABD / ST = Virginia / L = ** / O = ** / CN = ** / emailAddress = **
"VA" tam olarak "Virginia" ya eşit değildir.
openssl s_client -connect host:port -showcerts
ve alınan sertifikanın parmak izini karşılaştırınopenssl x509 -noout -text -in ca.crt
.