OPENSSL如何加载电子证书
小弟目前正在学习OPENSSL,在摸索中有以下一点疑问,请大家赐教
OPENSSL的Demo 中关于SSL通讯的例子是这么写的(客户端程序)
很显然,根据注释也可以看到,其获得的电子证书实际上没有产生作用,并不影响最后的数据交换,我把关于server_cert的代码都屏蔽掉也能与服务器通讯
请问各位,电子证书里面不是包含了公钥嘛?为什么没有电子证书也能SSL通讯呢? 我应该怎么样才能加载电子证书与服务器进行安全连接
OPENSSL的Demo 中关于SSL通讯的例子是这么写的(客户端程序)
ssl = SSL_new (ctx); CHK_NULL(ssl);
SSL_set_fd (ssl, sd);
err = SSL_connect (ssl); CHK_SSL(err);
/* Following two steps are optional and not required for
data exchange to be successful. */
/* Get the cipher - opt */
printf ("SSL connection using %s\n", SSL_get_cipher (ssl));
/* Get server's certificate (note: beware of dynamic allocation) - opt */
server_cert = SSL_get_peer_certificate (ssl);
CHK_NULL(server_cert);
printf ("Server certificate:\n");
str = X509_NAME_oneline (X509_get_subject_name (server_cert),0,0);
CHK_NULL(str);
printf ("\t subject: %s\n", str);
OPENSSL_free (str);
str = X509_NAME_oneline (X509_get_issuer_name (server_cert),0,0);
CHK_NULL(str);
printf ("\t issuer: %s\n", str);
OPENSSL_free (str);
/* We could do all sorts of certificate verification stuff here before
deallocating the certificate. */
X509_free (server_cert);
/* --------------------------------------------------- */
/* DATA EXCHANGE - Send a message and receive a reply. */
err = SSL_write (ssl, "Hello World!", strlen("Hello World!")); CHK_SSL(err);
err = SSL_read (ssl, buf, sizeof(buf) - 1); CHK_SSL(err);
buf[err] = '\0';
printf ("Got %d chars:'%s'\n", err, buf);
SSL_shutdown (ssl); /* send SSL/TLS close_notify */
/* Clean up. */
closesocket(sd);
SSL_free (ssl);
SSL_CTX_free (ctx);
很显然,根据注释也可以看到,其获得的电子证书实际上没有产生作用,并不影响最后的数据交换,我把关于server_cert的代码都屏蔽掉也能与服务器通讯
请问各位,电子证书里面不是包含了公钥嘛?为什么没有电子证书也能SSL通讯呢? 我应该怎么样才能加载电子证书与服务器进行安全连接
...全文
相关推荐
cpp-ReferenceimplementationofTaiwanscitizendigitalcertificate
台湾公民数字证书(Taiwan's Citizen Digital Certificate,简称CDC)是一种用于验证个人身份的电子证书,主要用于线上服务的身份认证、签名以及数据加密。
国密算法SM2
SM2算法的广泛应用包括电子证书、数字签名、密钥交换和数据加密等领域。由于其高效的计算性能和较高的安全性,SM2在中国国内已经成为许多信息安全标准的首选算法。
CA电子认证服务系统 源代码.zip
CA电子认证服务系统 源代码1、标签上带usb的都是对usbkey钥匙本身进行操作的,本来和小型CA没有什么关系,只是最初这个程序是用来操作usbkey的,所以保留了这些功能,usbkey采用的是飞天
《模式识别与数据挖掘》配套PPT课件
《模式识别与数据挖掘》配套PPT课件
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。


网络编程
