我想用C語言編寫安全的客戶端/服務器程序與OpenSSL。 我發現了一個代碼示例在http://www.rtfm.com/openssl-examples/但我得到這個錯誤: 服務器:SSL閱讀問題 客戶端:證書不驗證使用OpenSSL C安全的客戶端/服務器程序
我認爲這個問題是與證書的產生,但我不能找到它。
有什麼想法?
感謝
我想用C語言編寫安全的客戶端/服務器程序與OpenSSL。 我發現了一個代碼示例在http://www.rtfm.com/openssl-examples/但我得到這個錯誤: 服務器:SSL閱讀問題 客戶端:證書不驗證使用OpenSSL C安全的客戶端/服務器程序
我認爲這個問題是與證書的產生,但我不能找到它。
有什麼想法?
感謝
我下載的例子,驗證了錯誤:
「10 X509_V_ERR_CERT_HAS_EXPIRED:證書已過期」
使用這個命令:
openssl x509 -in client.pem -noout -text
我得到這樣的輸出:
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 258 (0x102)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=US, O=RTFM, Inc., OU=Widgets Division, CN=Test CA20010517
Validity
Not Before: May 17 16:11:36 2001 GMT
Not After : Mar 6 16:11:36 2004 GMT
Subject: C=US, O=RTFM, Inc., OU=Widgets Division, CN=client
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:87:35:64:a8:36:1e:a6:b1:4c:18:18:67:7b:4d:
84:03:b1:d4:86:d1:aa:3a:41:76:98:8e:4f:bb:f1:
9c:8c:41:e6:54:06:ed:9d:64:58:c6:e3:09:f3:90:
ac:2b:0f:8a:e9:fc:9e:4f:2d:1f:40:77:14:7b:da:
56:fd:01:ab:c4:38:a2:f6:50:31:c9:1a:cb:1c:66:
41:95:c3:f6:f3:65:bc:6b:28:5d:ab:bd:da:59:4a:
f2:8f:d4:e8:55:d4:c3:9d:b3:f5:93:a5:19:b5:81:
c9:95:4a:85:79:bc:b3:8c:a9:58:f3:8c:7a:31:43:
ff:b5:ce:98:f3:33:15:8b:d3
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
24:c9:85:14:79:b6:ff:00:ed:d7:39:fb:39:8a:47:54:3f:8b:
ca:84:dc:ca:e7:9a:9f:cc:39:71:df:5f:e8:9f:27:fc:3e:b7:
0a:1c:ff:27:78:12:7f:bb:a6:bf:a1:1a:c8:93:a1:f7:2d:d4:
93:99:0d:6f:40:92:af:d9:1a:ed:7e:36:95:51:4f:b0:b0:e7:
71:1d:33:0a:62:ec:0a:f0:64:0b:0b:21:40:6c:28:0e:d0:98:
b4:db:77:08:d4:e5:2e:d6:95:9d:b8:7b:28:19:1f:2a:99:ac:
ae:05:7b:0f:89:bb:39:45:92:4a:08:14:80:c2:7e:29:f2:cf:
6e:26
Not After : Mar 6 16:11:36 2004 GMT
顯示該有效期至2004年
您必須創建一個新證書才能使用此示例。
您可以檢查這些網站:
http://h71000.www7.hp.com/doc/83final/ba554_90007/ch04s02.html#cert2-fig
http://h71000.www7.hp.com/doc/83final/ba554_90007/ch04s03.html
http://blog.taragana.com/index.php/archive/openssl-how-to-create-self-signed-certificate/
找SSL_get_verify_result(ssl)
返回的值,並將其與在Diagnostics section of OpenSSL's verify page結果列表。這會告訴你確切的錯誤。