我正在使用OpenSSL,需要一個理智的默認CA列表。我正在使用Mozilla的受信任CA列表,如bundled by cURL。但是,我需要拆分CA證書的這種捆綁,因爲OpenSSL documentation says:如何將CA證書包拆分爲單獨的文件?
如果CApath不爲空,它指向包含PEM格式的CA證書的目錄。每個文件都包含一個CA證書。這些文件由CA主題名稱哈希值查找,因此必須可用。
例如,直接使用ca-bundle.crt
文件正常工作:
openssl-1.0.1g> ./apps/openssl s_client -connect www.google.com:443 -CAfile /home/user/certs/ca-bundle.crt
...
Verify return code: 0 (ok)
---
DONE
但指定包含ca-bundle.crt
文件的目錄不起作用:
openssl-1.0.1g> ./apps/openssl s_client -connect www.google.com:443 -CApath /opt/aspera/certs
Verify return code: 20 (unable to get local issuer certificate)
---
DONE
我想這是因爲我的文件夾不符合文檔要求的內容(即包含PEM格式的CA證書的目錄,每個文件包含一個由哈希值命名的證書)。我的目錄只有一捆證書。
如何拆分我的證書包以遵守OpenSSL的要求,即每個證書都在單個文件中?如果哈希也可以完成(如果需要的話,如果所有證書都在單個文件中,我可以編寫一個腳本來自己完成)。
適合我。應該是一個被接受的答案。 –