Я использую libcurl как http-клиент. Я хочу использовать SSL, поэтому я добавил следующие строкиКаким должно быть содержимое файлов, связанных с CURLOPT_SSLCERT и CURLOPT_CAINFO?
curl_easy_setopt(curl, CURLOPT_SSLCERT, "/path/ssl_cert");
curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/ssl_cainfo");
, что должно быть содержание обоих файлов "/path/ssl_cert"
и "/path/ssl_cainfo"
?
я могу получить сертификат SSL от сервера с помощью команды OpenSSL:
linux# openssl s_client -connect 192.168.1.199:8443 | tee logfile
depth=0 C = GB, ST = XX, O = \"My Org\", CN = \"Wireshark dissectable Cert\"
verify error:num=18:self signed certificate
verify return:1
depth=0 C = GB, ST = XX, O = \"My Org\", CN = \"Wireshark dissectable Cert\"
verify return:1
CONNECTED(00000003)
---
Certificate chain
0 s:/C=GB/ST=XX/O="My Org"/CN="Wireshark dissectable Cert"
i:/C=GB/ST=XX/O="My Org"/CN="Wireshark dissectable Cert"
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDezCCAmOgAwIBAgIJANg/99pVuxpbMA0GCSqGSIb3DQEBBQUAMFQxCzAJBgNV
BAYTAkdCMQswCQYDVQQIDAJYWDERMA8GA1UECgwIIk15IE9yZyIxJTAjBgNVBAMM
HCJXaXJlc2hhcmsgZGlzc2VjdGFibGUgQ2VydCIwHhcNMTUwMzE5MTYwNTAwWhcN
MTUwNDE4MTYwNTAwWjBUMQswCQYDVQQGEwJHQjELMAkGA1UECAwCWFgxETAPBgNV
BAoMCCJNeSBPcmciMSUwIwYDVQQDDBwiV2lyZXNoYXJrIGRpc3NlY3RhYmxlIENl
cnQiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3VVczByO2yiwrmNM
ggulxh/XBJPiFij46ebMKTh/7A+O9fDOQXvEVxkZBpgVtM6B5sQYMb9F0EeRiR2O
Z0RmiPKLvoeGiMFbDh1v3amIbc6jbyBITBn8ZMSZs0OMWhE7grFq1XHmNGWmka1E
OaEhICsJtkLc8DghqIFDer0cl9ZygbM7APBThq2bhpWkld/jinqxnlhYzrJb1WUM
sMZSNRjdsHv8UtJ0xR98tUl8kD3JcExApH4z/emxLZXDMfEnGub0kR/qr8fmgKPq
8FnId233KTY248cmHn8odxyFe6UA8YDiTASUMpTEDrXjpzmS6T7SmlodwE6DRoaX
JuHfywIDAQABo1AwTjAdBgNVHQ4EFgQU6ifQ4/1QiTb04/yVXMssNienjSYwHwYD
VR0jBBgwFoAU6ifQ4/1QiTb04/yVXMssNienjSYwDAYDVR0TBAUwAwEB/zANBgkq
hkiG9w0BAQUFAAOCAQEAwwbIIxAwCGMuYPWEhkr6XOsI7GujP9U4dGsPGuDfCOD7
mtGOyf1qUOhCFbVS+wTYa1RgtbYNJJv0K/uG1H2zYOK1TnjH/aptZVflrgz3glam
OPsZcF5qVu4z18/tauOOkP1dRRXYO4CZlzE6Vtml7RRPbQdMYvSL8ReKQVHMKERm
/1sOim66j6IBE/SGF9vYeiofh1NtmPVEg4z0wvnVZK8CSX8FBPsQpGUnfOjhL3z8
dokcA3lr/qxGgIeLAoeZqRHBd0SW6iTDAAJ/O0fvJQpz+RhdTQoDbf8xTmD03bCX
nnEw1OOTCNlJtVyFsGrX+19TViX7QaXLTMiJ0GfCBg==
-----END CERTIFICATE-----
subject=/C=GB/ST=XX/O="My Org"/CN="Wireshark dissectable Cert"
issuer=/C=GB/ST=XX/O="My Org"/CN="Wireshark dissectable Cert"
---
No client certificate CA names sent
---
SSL handshake has read 1039 bytes and written 638 bytes
---
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DES-CBC3-SHA
Session-ID: 551197E75936D761CF64E18E338FF0E94BC01E019E02BD8F70AB07CEC288164B
Session-ID-ctx:
Master-Key: 5D000DD4CC4A3FA0FBFF78282F171ACB181806E79531381F8858A724355747D26344FEFF8EBD9666FF4B703AEEED7FFC
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1427216305
Timeout : 300 (sec)
Verify return code: 18 (self signed certificate)
---
Но я не знаю, что я должен положить на каждый файл.
Можете ли вы предоставить пример содержания для – MOHAMED
Google для «примерного сертификата клиента PEM» и «пример CA Cert PEM», и вы найдете много прекрасных примеров. –