https server的ssl协议实现

1、简介

HTTPS协议简单的说就是经过ssl加密的HTTP协议,本文不介绍https server中http信令的实现,只介绍ssl的实现。

2、需要的库

使用openssl实现ssl,需要编译openssl生成libssl.a和libcrypto.a

3、API的使用

需要包含的头文件

#include <openssl/ssl.h>

初始化,cert_path是证书文件的路径,private_key_path是私钥文件路径

SSL_CTX* ssl_socket_init(const char* cert_path, const char* private_key_path)
{
    SSL_library_init();  
    OpenSSL_add_all_algorithms();  
    SSL_load_error_strings(); 
    SSL_CTX* ctx = SSL_CTX_new(SSLv23_server_method());
    if (ctx == NULL) {  
        return ctx;
    } 

    if ((SSL_CTX_use_certificate_file(ctx, cert_path, SSL_FILETYPE_PEM) < 1) ||
        (SSL_CTX_use_PrivateKey_file(ctx, private_key_path, SSL_FILETYPE_PEM) < 1) ||
        (!SSL_CTX_check_private_key(ctx)) ) 
    {
        SSL_CTX_free(ctx);
        ctx = NULL;
        return ctx;
    }

    return ctx;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值