当前位置: 技术问答>linux和unix
了解openssl linux下编程的牛牛们,有几个疑惑帮帮忙解解惑
来源: 互联网 发布时间:2016-01-01
本文导语: 看过网上那篇流传的 使用 OpenSSL API 进行安全编程(http://www-900.ibm.com/developerworks/cn/linux/l-openssl.shtml) 有几点不明白 1. 关于非安全连接和安全连接的区别 建立非连接不需要服务器端的证书,那么客户端和服...
看过网上那篇流传的
使用 OpenSSL API 进行安全编程(http://www-900.ibm.com/developerworks/cn/linux/l-openssl.shtml)
有几点不明白
1. 关于非安全连接和安全连接的区别
建立非连接不需要服务器端的证书,那么客户端和服务器端之间的通信还是
加密的吗?安全连接是不是就是通过证书来进行身份验证?
2. 信任库的加载
如果客户端换了一个服务器,是不是就需要重新改变信任库文件(.pem文件),然后重新加载这个信任库?服务器端怎么进行客户端身份的验证的?
3. 在浏览器中访问一个https通常是返回一个证书,让呢选择信任,然后再通信,这部分什么验证是怎么回事?是不是下面这段代码实现类似功能的?
(Client 端的)
server_cert = SSL_get_peer_certificate (ssl);
str = X509_NAME_oneline (X509_get_subject_name (server_cert),0,0);
CHK_NULL(str);
printf ("t subject: %sn", str);
OPENSSL_free (str);
str = X509_NAME_oneline (X509_get_issuer_name (server_cert),0,0);
CHK_NULL(str);
printf ("t issuer: %sn", str);
OPENSSL_free (str);
X509_free (server_cert);
err = SSL_write (ssl, "Hello World!", strlen("HelloWorld!"));
CHK_SSL(err);
使用 OpenSSL API 进行安全编程(http://www-900.ibm.com/developerworks/cn/linux/l-openssl.shtml)
有几点不明白
1. 关于非安全连接和安全连接的区别
建立非连接不需要服务器端的证书,那么客户端和服务器端之间的通信还是
加密的吗?安全连接是不是就是通过证书来进行身份验证?
2. 信任库的加载
如果客户端换了一个服务器,是不是就需要重新改变信任库文件(.pem文件),然后重新加载这个信任库?服务器端怎么进行客户端身份的验证的?
3. 在浏览器中访问一个https通常是返回一个证书,让呢选择信任,然后再通信,这部分什么验证是怎么回事?是不是下面这段代码实现类似功能的?
(Client 端的)
server_cert = SSL_get_peer_certificate (ssl);
str = X509_NAME_oneline (X509_get_subject_name (server_cert),0,0);
CHK_NULL(str);
printf ("t subject: %sn", str);
OPENSSL_free (str);
str = X509_NAME_oneline (X509_get_issuer_name (server_cert),0,0);
CHK_NULL(str);
printf ("t issuer: %sn", str);
OPENSSL_free (str);
X509_free (server_cert);
err = SSL_write (ssl, "Hello World!", strlen("HelloWorld!"));
CHK_SSL(err);
|
SSL_CTX_load_verify_locations()这个是提供你的证书,作为client,变换了server这个是不需要变动的。
SSL_CTX_use_certificate_file()是加载服务器证书的,这个你肯定要变动.
SSL_CTX_use_certificate_file()是加载服务器证书的,这个你肯定要变动.
|
1:不是,是
2:是,服务器会在握手的时候要求客户端发送他的证书
3:还是看看协议吧
2:是,服务器会在握手的时候要求客户端发送他的证书
3:还是看看协议吧
|
题外话...
不晓得别的地方‘牛牛’是啥意思
在陕西‘牛牛’就是 鸡鸡的意思
不晓得别的地方‘牛牛’是啥意思
在陕西‘牛牛’就是 鸡鸡的意思