使用openssl库验证ssl证书

作者:佚名 上传时间:2023-04-05 运行软件:C语言 软件版本:openssl 1.1.1 版权申诉

本示例演示了如何使用openssl库来验证ssl证书,确保对远程服务器的连接是安全的。

//创建SSL上下文
SSL_CTX *ctx = SSL_CTX_new(TLSv1_2_client_method());  
if (ctx == NULL)  
    handle_error();

//设置SSL选项
SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION);

//加载CA证书,用于验证服务器端发来的证书
if (SSL_CTX_load_verify_locations(ctx, CA_FILE, NULL) <= 0)   
    handle_error();

//创建SSL对象
SSL *ssl = SSL_new(ctx);
if (ssl == NULL) 
    handle_error();

//与服务器建立连接
if (connect(sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)) < 0)   
    handle_error();

//将SSL对象与连接套接字关联
SSL_set_fd(ssl, sockfd);
if (SSL_connect(ssl) < 0) 
    handle_error();

//获取服务器端的证书
X509 *server_cert = SSL_get_peer_certificate(ssl);
if (server_cert == NULL) 
    handle_error();

//验证服务器端的证书是否合法,防止中间人攻击或伪造证书
int ret = SSL_get_verify_result(ssl);
if (ret != X509_V_OK)
    handle_error();

//释放资源
SSL_shutdown(ssl);
SSL_free(ssl);
SSL_CTX_free(ctx);
X509_free(server_cert);

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
使用openssl验证ssl证书
本示例演示了如何使用openssl库来验证ssl证书,确保对远程服务器的连接是安全的。//创建SSL上下文SSL_CTX *ctx = SSL_CTX_new(TLSv1_2_client_met
openssl 1.1.1
C语言
2023-04-05 10:00
使用OpenSSL C验证SSL证书
介绍如何使用OpenSSL C库来进行SSL证书验证,防止中间人攻击和伪造证书攻击。通过建立SSL连接并验证证书链来确保通信安全。#include <openssl/ssl.h>#in
OpenSSL 1.1.1
C代码
2023-03-24 08:00
openssl ssl加密证书
在win32平台下利用openssl编写ssl通信程序时需要进行加密证书的验证,本文档是客户端和服务端的证书文件。
RAR
0B
2019-09-03 23:49
使用openssl生成单向ssl证书
使用openssl生成单向ssl证书,此方法生成的证书可以用于基于boost.asio库的SSL通讯测试中。基于基于boost.asio库SSL通讯测试程序可参见本人其他资源。
RAR
0B
2020-05-28 05:13
免费openssl生成ssl证书ssl证书生成
NULL博文链接:https://nassir.iteye.com/blog/1983613
PDF
0B
2020-05-17 19:45
Python中使用OpenSSL验证SSL证书
本示例代码演示了如何使用Python中的OpenSSL库对SSL证书进行验证,包括证书链验证和证书有效期验证。import sslfrom OpenSSL import SSLimport so
Python 3.6
Python
2023-04-29 03:58
OpenSSL生成的ssl证书
通过OpenSSL生成的ssl证书用于windows下用nginx配置https服务器OpenSSL创建证书无需再下载OpenSSL配置OpenSSL相关环境在进行命令生成证书
zip
2.56KB
2023-01-11 20:46
使用Python和OpenSSL证书验证SSL连接
该示例代码演示如何使用Python和OpenSSL证书验证SSL连接,包括如何构建SSL上下文、如何加载证书和如何验证证书。这是一种常见的SSL连接的安全性措施,确保连接的两端都是受信任的。impo
Python 3.6.9,OpenSSL 1.1.1
Python
2023-04-01 18:40
android ssl证书验证
androidssl证书验证
ZIP
0B
2019-09-13 17:55
使用Python和OpenSSL创建和验证SSL证书
本示例展示如何使用Python和OpenSSL创建和验证SSL证书。借助Python的pyopenssl库,可以使用Python脚本快速生成SSL证书,并使用OpenSSL验证服务端响应是否是来自信任
OpenSSL 1.1.1, pyopenssl 19.1.0, Python 3.7.3
Python
2023-03-21 15:55