当前位置: 首页 > news >正文

做网站必须备案吗小程序开发哪里有

做网站必须备案吗,小程序开发哪里有,阿里巴巴国际站客户经理,新媒体运营工作内容好的,我们可以使用 OpenSSL 与 C 搭建一个支持 TLS 1.3 的服务器。下面是: ✅ 一、完整示例代码(基于 OpenSSL) 使用 C 和 OpenSSL 创建一个简单的 TCP TLS 服务器,支持 TLS 1.3。 ✅ 代码:tls_server.cp…

好的,我们可以使用 OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器。下面是:


✅ 一、完整示例代码(基于 OpenSSL)

使用 C++ 和 OpenSSL 创建一个简单的 TCP TLS 服务器,支持 TLS 1.3。

✅ 代码:tls_server.cpp

#include <openssl/ssl.h>
#include <openssl/err.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <iostream>#define PORT 4433void init_openssl() {SSL_load_error_strings();OpenSSL_add_ssl_algorithms();
}void cleanup_openssl() {EVP_cleanup();
}SSL_CTX* create_context() {// 1️⃣ 明确使用 TLS 服务器方法(会自动支持 TLS 1.3)const SSL_METHOD* method = TLS_server_method();SSL_CTX* ctx = SSL_CTX_new(method);if (!ctx) {ERR_print_errors_fp(stderr);exit(EXIT_FAILURE);}// 2️⃣ 可选:强制只允许 TLS 1.3(如果不加,OpenSSL 会使用 TLS1.2+)SSL_CTX_set_min_proto_version(ctx, TLS1_3_VERSION);SSL_CTX_set_max_proto_version(ctx, TLS1_3_VERSION);return ctx;
}void configure_context(SSL_CTX* ctx) {// 加载证书和私钥if (SSL_CTX_use_certificate_file(ctx, "cert.pem", SSL_FILETYPE_PEM) <= 0 ||SSL_CTX_use_PrivateKey_file(ctx, "key.pem", SSL_FILETYPE_PEM) <= 0) {ERR_print_errors_fp(stderr);exit(EXIT_FAILURE);}
}int main() {init_openssl();SSL_CTX* ctx = create_context();configure_context(ctx);int sock = socket(AF_INET, SOCK_STREAM, 0);sockaddr_in addr;addr.sin_family = AF_INET;addr.sin_port = htons(PORT);addr.sin_addr.s_addr = INADDR_ANY;bind(sock, (struct sockaddr*)&addr, sizeof(addr));listen(sock, 1);std::cout << "TLS server listening on port " << PORT << std::endl;while (1) {struct sockaddr_in client_addr;uint32_t len = sizeof(client_addr);int client = accept(sock, (struct sockaddr*)&client_addr, &len);SSL* ssl = SSL_new(ctx);SSL_set_fd(ssl, client);if (SSL_accept(ssl) <= 0) {ERR_print_errors_fp(stderr);} else {const char reply[] = "Hello over TLS 1.3!\n";SSL_write(ssl, reply, strlen(reply));}SSL_shutdown(ssl);SSL_free(ssl);close(client);}close(sock);SSL_CTX_free(ctx);cleanup_openssl();return 0;
}

📌 二、在哪里决定是否支持 TLS 1.3?

关键代码如下:

// 决定允许的最小和最大 TLS 版本
SSL_CTX_set_min_proto_version(ctx, TLS1_3_VERSION);
SSL_CTX_set_max_proto_version(ctx, TLS1_3_VERSION);

这两行代码强制只使用 TLS 1.3
如果你想支持多个版本(比如 TLS 1.2 和 1.3),可以改成:

SSL_CTX_set_min_proto_version(ctx, TLS1_2_VERSION);
SSL_CTX_set_max_proto_version(ctx, TLS1_3_VERSION);

✅ 三、编译方法

你需要先安装 OpenSSL 开发库(通常是 libssl-dev):

sudo apt-get install libssl-dev

然后使用 g++ 编译:

g++ tls_server.cpp -o tls_server -lssl -lcrypto

✅ 四、测试方法

你可以使用 openssl s_client 模拟客户端:

openssl s_client -connect localhost:4433 -tls1_3

如果一切正常,会看到握手成功并打印证书信息。


如果你需要支持多客户端或使用异步 IO(如 epoll),可以进一步封装;这个示例是最小可运行 TLS 1.3 服务器。如果你想部署到生产,建议使用更安全的证书管理和错误处理机制。

是否需要我给你生成 cert.pemkey.pem 的命令?

http://www.dtcms.com/a/543073.html

相关文章:

  • 网站首页布局分析福州cms模板建站
  • 合肥电信网站备案望牛墩网站仿做
  • 申请注册网站域名.商城有什么兼职做it的网站
  • 注册过什么网站做网站给客户聊天记录
  • 生物科技公司网站模板北京中小企业建站价格
  • 成都企业网站建设费用好商网的网站可以做中英文切换吗
  • 电子商城网站设计公司哪个好开发游戏需要多少钱
  • 网站开发公司 苏州软件开发微信小程序
  • 上海平台网站开发wordpress 后台 字数统计
  • python网站开发招聘学做网站需要多少钱
  • 网站诊断书网站建设的可行性分析报告
  • 宁波手机网站开发wordpress 回车
  • 摄影协会网站源码建设工程施工管理题库
  • 网站小程序app定制开发seo零基础入门教程
  • 网站设计需求表乐清联科网站建设
  • 海口模板建站定制网站应用商店搜索优化
  • 鞍山哪里做网站在哪做网站便宜又好
  • 文本中设置网站超链接怎么做模板网页文档的默认扩展名为
  • 衡阳网站建设icp备工会网站群建设方案
  • 亳州市网站建设登录四川省住房和城乡建设厅官网
  • 基于js原生的新闻类静态网站建设域名申请平台
  • 广西壮锦网站建设策划书建设网站的意义 作用
  • 江西专业的网站建设制作微信公众号登录平台登录官网
  • 南宁哪个网络公司建网站好wordpress关闭评论框
  • 做网站seo怎么赚钱做系统和做网站的区别
  • 搜索引擎推广软件上海外贸seo公司
  • 有域名怎么发布网站吗手机下载工具app
  • 企业网站的基本内容有哪些网站qq未启用
  • 网站怎么做百度口碑德阳网站建设网站
  • 招聘网站如何做推广无锡网站制作系统