Perbedaan antara perintah openssl verifikasi dan s_client

Berjalan di Ubuntu 14.04 dengan OpenSSL 1.0.1l:

 openssl s_client -CApath /etc/ssl/certs -showcerts -connect www.google.com:443

Pengembalian:

Verify return code: 0 (ok)

Namun, menjalankan:

openssl verify -CApath /etc/ssl/certs/ google_chain.pem

dimana google_chain.pem adalah output dari perintah s_client di atas, menghasilkan:

google_chain.pem: C = US, ST = California, L = Mountain View, O = Google Inc, CN = google.com
error 20 at 0 depth lookup:unable to get local issuer certificate

Adakah yang bisa menjelaskan perbedaan ini? Menurut saya, perintah openssl verifikasi hanya mengabaikan parameter -CApath.


person clatter    schedule 21.01.2015    source sumber
comment
Mungkin Anda harus Tanya Ubuntu.   -  person GoBusto    schedule 21.01.2015


Jawaban (1)


openssl verify tidak mengharapkan sertifikat berisi rantainya. Rantai harus diteruskan dengan argumen -untrusted. Anda dapat meneruskan file yang sama di sana, kepercayaan masih ditentukan dengan menemukan root tepercaya di -CAfile/-CApath.

openssl verify -CApath /etc/ssl/certs -untrusted google_chain.pem google_chain.pem
person zakjan    schedule 22.01.2015