#include <iostream>
#include <openssl/ssl.h>
#include <openssl/err.h>
void init_openssl() {
SSL_load_error_strings();
OpenSSL_add_ssl_algorithms();
}
void cleanup_openssl() {
EVP_cleanup();
}
SSL_CTX* create_context() {
const SSL_METHOD* method;
SSL_CTX* ctx;
method = TLS_client_method(); // 使用TLS客户端方法
ctx = SSL_CTX_new(method); // 创建新的SSL上下文
if (!ctx) {
perror("Unable to create SSL context");
ERR_print_errors_fp(stderr);
exit(EXIT_FAILURE);
}
return ctx;
}
int main() {
SSL_CTX* ctx;
init_openssl();
ctx = create_context();
// 这里可以添加更多代码来设置SSL上下文,例如加载证书和私钥等
cleanup_openssl();
SSL_CTX_free(ctx);
std::cout << "OpenSSL example completed." << std::endl;
return 0;
}
初始化和清理:
init_openssl()
:初始化OpenSSL库,加载错误字符串和算法。cleanup_openssl()
:清理OpenSSL库,释放资源。创建SSL上下文:
create_context()
:使用TLS客户端方法创建一个新的SSL上下文。如果创建失败,会打印错误信息并退出程序。主函数:
main()
:调用初始化函数,创建SSL上下文,并在结束时进行清理。最后输出一条完成消息。这段代码展示了如何使用OpenSSL库的基本步骤,包括初始化、创建SSL上下文和清理资源。你可以在此基础上扩展功能,例如加载证书和私钥,建立SSL连接等。
上一篇:c++获取数组长度
下一篇:switch c++
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站