openssl API网络通信

本文介绍了如何使用OpenSSL库进行网络通信加密,包括SSL库初始化、算法加载、会话协议选择、私钥和证书的使用、SSL套接字绑定、SSL握手以及数据传输等关键步骤。特别提醒,OpenSSL的函数返回值需仔细判断,且在使用中要注意避免设置为nonblock模式的fd,以免影响SSL_connect操作。
摘要由CSDN通过智能技术生成
1.本文是在别人的基础上,经过测试,大体总结的。操作环境ubuntu12和ubuntu14

*****************************************************************************************
"网络通信加密"
头文件:
#include <openssl/ssl.h>
#include <openssl/err.h>

OpenSSL流程和函数介绍

1.ssl库的初始化
int SSL_Library_init (void);

2.载入ssl所有的算法
void OpenSSL_add_all_algorithms();

3.载入ssl所有的错误信息
void SSL_load_error_strings();

4.选择会话协议
在利用OpenSSL开始SSL会话之前,需要为客户端和服务器制定本次会话采用的协议,目前能够使用的协议包括TLSv1.0、SSLv2、SSLv3、SSLv2/v3。
需要注意的是,客户端和服务器必须使用相互兼容的协议,否则SSL会话将无法正常进行。
OpenSSL中一个会话的环境称为“ CTX ”,申请CTX的函数是; const SSL_METHOD *SSLv23_client_method (void);
SSL_CTX *SSL_CTX_new (SSL_METHOD *method); //例如:SSL_CTX_new(SSLv23_server_method());

5.加载用户私钥:
1)有两种方式:私钥有密码, 私钥无密码
int SSL_CTX_use_Private_file (SSL_CTX *ctx, const char *file, int type); //例如:SSL_CTX_use_Pr

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值