我知道如何SSL_CTX_load_verify_locations(ctx, caName, caPath)
或通過創建X509_STORE
和添加CA證書,它驗證證書如何驗證任何種類的C/C++(OpenSSL的)證書?
- 加載CA證書。
- 通過
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL)
通過這種方式,我們可以驗證通過加載CA證書籤名的證書啓用SSL客戶端的對等認證。
我想知道的:
1.驗證自簽名證書
如何通過SSL_CTX_load_verify_locations(ctx, caName, caPath)
加載多個CA證書?
如何提供caPath中提到的功能?
我曾嘗試:
- 創建軟玲通過命令
openssl X509 -in ca_file.pem -noout -subject_hash
產生與每名CA證書。 - 這些軟鏈接名爲ca_path
現在同一文件夾中創建,我通過上面的函數這個ca_path爲
caPath
參數。我試圖使用不同類型的軟件鏈接,如
50693e.pem, 50693e.0, 50693e
根據 哈希產生,但沒有任何工作。
2.確定由知名簽署的證書CA
我需要通過自己即使簽名證書的驗證提供CA證書捆綁?
openssl庫會在握手過程中從CertificateServer響應中獲取CA證書鏈本身(或者我有 做某事)?
3.如何啓用SSL客戶端驗證這兩個種類(個體經營由知名CA簽署並簽字)的服務器證書?