cert = SSL_get_peer_certificate(ssl); // SSL_get_verify_result()是重点,SSL_CTX_set_verify()只是配置启不启用并没有执行认证,调用该函数才会真证进行证书认证 // 如果验证不通过,那么程序抛出异常中止连接 if(SSL_get_verify_result(ssl) == X509_V_OK){ printf("证书验证通过\n"); } if (cert...
这个函数用于创建SSL上下文,其参数SSL_METHOD用于传入SSL的抽象方法集合。 对于每个SSL/TSL来说,有三种APIs可以用来创建一个SSL_METHOD: 一个可以用于服务端和客户端,一个只能用于服务端,另外一个只能由于客户端。定义如下: constSSL_METHOD*TLS_method(void);constSSL_METHOD*TLS_server_method(void);constSSL_METHO...
cert=SSL_get_peer_certificate(ssl); if(cert !=NULL){ printf("数字证书信息:\n"); line=X509_NAME_oneline(X509_get_subject_name(cert),0,0); printf("证书:%s\n",line); free(line); line=X509_NAME_oneline(X509_get_issuer_name(cert),0,0); printf("颁发者:%s\n",line); free(line)...
要在验证测试结果之后再检索证书,请调用SSL_get_peer_certificate()。它返回一个指向该证书的 X509 指针,如果证书不存在,就返回 NULL(参见清单 1)。 清单1. 检索证书 X509 * peerCertificate; if(SSL_get_verify_result(ssl) == X509_V_OK) peerCertificate = SSL_get_peer_certificate(ssl); else { /* ...
(SSL *ssl)16{17X509 *cert;18char*line;19cert =SSL_get_peer_certificate(ssl);20if(cert !=NULL) {21printf("数字证书信息:\n");22line = X509_NAME_oneline(X509_get_subject_name(cert),0,0);23printf("证书: %s\n", line);24free(line);25line = X509_NAME_oneline(X509_get_issuer_...
intSSL_accept(SSL *ssl); 握手过程完成之后,Client通常会要求Server发送证书信息,以便对Server进行鉴别。其实现会用到以下两个函数: [cpp]view plaincopyprint? X509 *SSL_get_peer_certificate(SSL *ssl);//从SSL套接字中获取对方的证书信息 X509_NAME *X509_get_subject_name(X509 *a);//得到证书所用者的...
rv = SSL_get_verify_result(ssl); *pCert = SSL_get_peer_certificate(ssl); return rv; } //验证证书的合法性 int VerifyCert(X509 * pCert, const char * hostname) { char commonName [512] = {0}; X509_NAME * name = NULL; if(pCert == NULL || hostname == NULL) ...
../lib/.libs/libcurl.so: undefined reference to`SHA256_Final@OPENSSL_1_1_0'../lib/.libs/libcurl.so:undefinedreference to`SSL_get_peer_cert_chain@OPENSSL_1_1_0' ../lib/.libs/libcurl.so: undefined reference to`OPENSSL_load_builtin_modules@OPENSSL_1_1_0'../lib/.libs/libcurl.so:unde...
#ifdefHEADER_X509_H__owur X509*SSL_get_peer_certificate(constSSL*s);///从SSL套接字中获取对方的证书信息#endifX509_NAME*X509_get_subject_name(constX509*a);///得到证书所用者的名字,所在头文件x509.h 2.3. read/write 经过前面的一系列过程后,就可以进行安全的数据传输了。在数据传输阶段,需要使用S...
See: SSL_get_peer_certificate Return: SSL_SUCCESS upon success. BAD_FUNC_ARG will be returned if a bad function argument was encountered. Example none function wolfSSL_d2i_PKCS12_bio WC_PKCS12 * wolfSSL_d2i_PKCS12_bio( WOLFSSL_BIO * bio, WC_PKCS12 ** pkcs12 ) ...