Bir zincirde üç sertifikam var:
- root.pem
- intermediate.pem
- john.pem
Onları incelerken incelediğimde openssl x509 -in [filename] -text -noout
, root.pem kendinden imzalı gibi görünüyor (İhraççı == Konu) ve her sertifikanın Konusu beklendiği gibi bir sonrakinin İhraççısı.
Ve aslında zinciri ara sertifikaya kadar doğrulayabilirim:
$ openssl verify -CAfile root.pem root.pem
root.pem: OK
$ openssl verify -CAfile root.pem intermediate.pem
intermediate.pem: OK
Ancak, john.pem başarısız olur:
$ openssl verify -CAfile root.pem -CAfile intermediate.pem john.pem
john.pem: C = CL, [...redacted data...]
error 2 at 1 depth lookup:unable to get issuer certificate
Bildiğim kadarıyla, bu openssl arabulucu.pem için yayıncıyı bulamadığı anlamına gelir. Root.pem gerçekten arapem için yayıncı olduğu için bu mantıklı değil.
Neyi kaçırıyorum?
Düzenleme: Başlangıçta root.pem ve arap.pem'in bir dosyada birleştirilmesi gerektiğini ve daha sonra bu dosyayı parametre olarak kullanması gerektiğini söyleyen bir cevap yayınlamıştım -CAfile
. Bu YANLIŞ, çünkü Johannes Pille'nin işaret ettiği gibi, bu üstü örtülü olarak mediate.pem'e güveniyor . Silinen yanıtıma verdiği bağlantıyı okuyun: https://mail.python.org/pipermail/cryptography-dev/2016-August/000676.html