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

空间刷赞网站推广ui设计师自我介绍

空间刷赞网站推广,ui设计师自我介绍,无锡正规网站建设,如何做网站竞品分析https——TCPTLS主题:基于mbedtls-2.16.0,验证TLS会话复用功能验证环境:1.TLS服务端2.TLS客户端2.1 基于Sesssion ID2.1.1mbedtls-2.16.0库的宏配置2.1.2 初始化配置2.1.3 TCP连接2.1.4 首次TLS连接2.1.4.1 发送加密算法列表2.1.4.2 选择加密…

https——TCP+TLS

  • 主题:基于mbedtls-2.16.0,验证TLS会话复用功能
  • 验证环境:
  • 1.TLS服务端
  • 2.TLS客户端
    • 2.1 基于Sesssion ID
      • 2.1.1mbedtls-2.16.0库的宏配置
      • 2.1.2 初始化配置
      • 2.1.3 TCP连接
      • 2.1.4 首次TLS连接
        • 2.1.4.1 发送加密算法列表
        • 2.1.4.2 选择加密算法(用于会话秘钥)
        • 2.1.4.3 发送预主秘钥(用于生成会话秘钥)
        • 2.1.4.4 客户端发送 Change Cipher Spec 消息(通知服务端准备使用新秘钥进行通信)
        • 2.1.4.5 客户端确认密钥协商正确
        • 2.1.4.6 服务端发送 Change Cipher Spec 消息(通知客户端准备使用新秘钥进行通信)
        • 2.1.4.7 服务端密钥协商的正确性
        • 2.1.4.6 终止加密通信(客户端主动停止TLS通信——方便验证后续TLS会话复用)
      • 2.1.5 保存TLS连接会话
      • 2.1.6 销毁连接
      • 2.1.7 重新建立TCP连接
      • 2.1.8 复用会话
      • 2.1.9 TLS重新连接
    • 2.2 基于Ticket
      • 2.2.1开启mbedtls库的TLS Ticket复用功能
      • 2.2.2 初始化配置
      • 2.2.3 配置Ticket
      • 2.2.4 TCP连接
      • 2.2.5 首次TLS连接
      • 2.2.6 保存TLS连接会话
      • 2.2.7 销毁连接
      • 2.2.8 重新建立TCP连接
      • 2.2.9 复用会话
      • 2.2.10 TLS重新连接

主题:基于mbedtls-2.16.0,验证TLS会话复用功能

验证环境:

设备与PC验证TLS会话复用
在这里插入图片描述

1.TLS服务端

python代码

# -*- coding: utf-8 -*-
import socket
import ssl
import timehost = '192.168.x.xx'  # 服务器IP地址
port = 443             # 服务器端口# 加载证书和私钥
certfile = "certificate.pem"
keyfile = "private.key"def create_server():context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)context.load_cert_chain(certfile, keyfile=keyfile)#context.verify_mode = ssl.CERT_NONE# 启用SSL会话缓存#context.session_cache_mode = ssl.SESSION_CACHE_SERVER#context.session_cache_size = 100  # 可以设置缓存的大小,调整为合适的值server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)server_socket.bind((host, port))server_socket.listen(5)print("TLS server started on {}:{}".format(host, port))while True:# 等待客户端连接client_socket, client_addr = server_socket.accept()print("Connection from {}".format(client_addr))  # 使用str.format()格式化# 包装客户端连接以启用TLSssl_socket = context.wrap_socket(client_socket, server_side=True)try:data = ssl_socket.recv(1024)  # 接收数据(测试连接时间)if data:print("Received data: {}".format(data))ssl_socket.send(b'Hello from server')except Exception as e:print("Connection error: {}".format(e))finally:ssl_socket.close()if __name__ == "__main__":create_server()

启动TLS服务

sudo python3 tls_server.py
TLS server started on 192.168.xx.xxx:443
Connection from ('192.168.xx.xxx', 56626)
......

2.TLS客户端

2.1 基于Sesssion ID

2.1.1mbedtls-2.16.0库的宏配置

#define MBEDTLS_SSL_CACHE_C 

2.1.2 初始化配置

// 初始化所有组件mbedtls_net_init(&server_fd);mbedtls_ssl_init(&ssl);mbedtls_ssl_config_init(&conf);mbedtls_entropy_init(&entropy);mbedtls_ctr_drbg_init(&ctr_drbg);mbedtls_ssl_session_init(&saved_session);// 配置随机数生成器mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy,(const unsigned char *)"tls_client", 10))// 配置SSL参数mbedtls_ssl_config_defaults(&conf, MBEDTLS_SSL_IS_CLIENT,MBEDTLS_SSL_TRANSPORT_STREAM,MBEDTLS_SSL_PRESET_DEFAULT)// 配置无CA验签mbedtls_ssl_conf_authmode(&conf, MBEDTLS_SSL_VERIFY_NONE);// 生成随机数mbedtls_ssl_conf_rng(&conf, mbedtls_ctr_drbg_random, &ctr_drbg);mbedtls_ssl_conf_dbg(&conf, NULL, 0);

2.1.3 TCP连接

// TCP连接mbedtls_net_connect(&server_fd, SERVER, PORT, 
MBEDTLS_NET_PROTO_TCP) // 配置上下文mbedtls_ssl_setup(&ssl, &conf);// 绑定端口mbedtls_ssl_set_bio(&ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL);

在这里插入图片描述

2.1.4 首次TLS连接

2.1.4.1 发送加密算法列表
// TLS握手mbedtls_ssl_handshake(ssl);

在这里插入图片描述

Seesion ID为0.

2.1.4.2 选择加密算法(用于会话秘钥)

在这里插入图片描述

2.1.4.3 发送预主秘钥(用于生成会话秘钥)

在这里插入图片描述

2.1.4.4 客户端发送 Change Cipher Spec 消息(通知服务端准备使用新秘钥进行通信)

在这里插入图片描述

2.1.4.5 客户端确认密钥协商正确

在这里插入图片描述

2.1.4.6 服务端发送 Change Cipher Spec 消息(通知客户端准备使用新秘钥进行通信)

在这里插入图片描述

2.1.4.7 服务端密钥协商的正确性

在这里插入图片描述

2.1.4.6 终止加密通信(客户端主动停止TLS通信——方便验证后续TLS会话复用)

在这里插入图片描述

2.1.5 保存TLS连接会话

// 保存会话
mbedtls_ssl_get_session(&ssl, &saved_session)

在这里插入图片描述

2.1.6 销毁连接

//断开TLS连接
mbedtls_ssl_close_notify(&ssl);
mbedtls_ssl_free(&ssl);//断开TCP连接
mbedtls_net_free(&server_fd);

2.1.7 重新建立TCP连接

// TCP连接mbedtls_net_connect(&server_fd, SERVER, PORT, 
MBEDTLS_NET_PROTO_TCP) // 初始化SSL结构体
mbedtls_ssl_init(&ssl);// 配置上下文mbedtls_ssl_setup(&ssl, &conf);// 绑定端口mbedtls_ssl_set_bio(&ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL);

2.1.8 复用会话

// 更新旧会话到当前ssl
mbedtls_ssl_set_session(&ssl, &saved_session);

2.1.9 TLS重新连接

   // TLS握手mbedtls_ssl_handshake(ssl);

在这里插入图片描述

2.2 基于Ticket

2.2.1开启mbedtls库的TLS Ticket复用功能

#define MBEDTLS_SSL_SESSION_TICKETS

2.2.2 初始化配置

// 初始化所有组件mbedtls_net_init(&server_fd);mbedtls_ssl_init(&ssl);mbedtls_ssl_config_init(&conf);mbedtls_entropy_init(&entropy);mbedtls_ctr_drbg_init(&ctr_drbg);mbedtls_ssl_session_init(&saved_session);// 配置随机数生成器mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy,(const unsigned char *)"tls_client", 10))// 配置SSL参数mbedtls_ssl_config_defaults(&conf, MBEDTLS_SSL_IS_CLIENT,MBEDTLS_SSL_TRANSPORT_STREAM,MBEDTLS_SSL_PRESET_DEFAULT)// 配置无CA验签mbedtls_ssl_conf_authmode(&conf, MBEDTLS_SSL_VERIFY_NONE);// 生成随机数mbedtls_ssl_conf_rng(&conf, mbedtls_ctr_drbg_random, &ctr_drbg);

2.2.3 配置Ticket

//配置Ticket使能mbedtls_ssl_conf_session_tickets(&conf, MBEDTLS_SSL_SESSION_TICKETS_ENABLED);mbedtls_ssl_conf_dbg(&conf, NULL, 0);

2.2.4 TCP连接

    // TCP连接mbedtls_net_connect(&server_fd, SERVER, PORT, 
MBEDTLS_NET_PROTO_TCP) // 配置上下文mbedtls_ssl_setup(&ssl, &conf);// 绑定端口mbedtls_ssl_set_bio(&ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL);

2.2.5 首次TLS连接

// TLS握手mbedtls_ssl_handshake(ssl);

在这里插入图片描述
在这里插入图片描述

2.2.6 保存TLS连接会话

// 保存会话
mbedtls_ssl_get_session(&ssl, &saved_session)

2.2.7 销毁连接

//断开TLS连接
mbedtls_ssl_close_notify(&ssl);
mbedtls_ssl_free(&ssl);//断开TCP连接
mbedtls_net_free(&server_fd);

2.2.8 重新建立TCP连接

// TCP连接mbedtls_net_connect(&server_fd, SERVER, PORT, 
MBEDTLS_NET_PROTO_TCP) // 初始化SSL结构体
mbedtls_ssl_init(&ssl);// 配置上下文mbedtls_ssl_setup(&ssl, &conf);// 绑定端口mbedtls_ssl_set_bio(&ssl, &server_fd, mbedtls_net_send, mbedtls_net_recv, NULL);

2.2.9 复用会话

// 更新旧会话到当前ssl
mbedtls_ssl_set_session(&ssl, &saved_session);

2.2.10 TLS重新连接

    // TLS握手mbedtls_ssl_handshake(ssl);

在这里插入图片描述
在这里插入图片描述


文章转载自:

http://OqaLwRLM.kzpxc.cn
http://otcMYJKh.kzpxc.cn
http://mgJqZ8gQ.kzpxc.cn
http://9wTkI4bE.kzpxc.cn
http://e0Ib7XRq.kzpxc.cn
http://k62A1d5s.kzpxc.cn
http://eWOsoA1m.kzpxc.cn
http://4xIiaZNA.kzpxc.cn
http://ay9VNQnk.kzpxc.cn
http://sHlFnMlF.kzpxc.cn
http://z6gP8A0n.kzpxc.cn
http://vPKFJsxO.kzpxc.cn
http://0vYKbYJr.kzpxc.cn
http://UydXxVjG.kzpxc.cn
http://mWTIltgW.kzpxc.cn
http://sFno5iTf.kzpxc.cn
http://xLcWHDgl.kzpxc.cn
http://wSVsOfzD.kzpxc.cn
http://jbXkPJmp.kzpxc.cn
http://6kWEtLJS.kzpxc.cn
http://GQuFAuLn.kzpxc.cn
http://zHXGB6RY.kzpxc.cn
http://HbqBO3xM.kzpxc.cn
http://nOd9yx2K.kzpxc.cn
http://IxErUuz5.kzpxc.cn
http://52Ml0ihU.kzpxc.cn
http://6D5N2bA2.kzpxc.cn
http://7c9nIKfj.kzpxc.cn
http://emWdTKbe.kzpxc.cn
http://2T5n2D5v.kzpxc.cn
http://www.dtcms.com/wzjs/774855.html

相关文章:

  • 有没有人通过网站建设卖东西的电脑上用手机app是什么软件
  • 网站正能量下载直接进入主页可以吗安全吗服务好的高端网站建设企业
  • 溧阳网站建设价格设计公司做网站有用吗
  • 营销型制作网站公司seo项目是什么
  • ui设计做兼职的网站有哪些丰县住房和城乡建设局网站
  • 深圳英文网站建设深圳建设行业网站
  • 如何做类似千图网的网站wordpress登入可见
  • 电子商城网站开发软件浙江网站备案加急
  • 暗网做网站可画设计软件下载
  • 解决方案网站长沙五百强企业名单
  • 水网站源码网站站点地图设计
  • 官方网站开发合同做民宿推广都有哪些网站
  • 电商网站建设用phpwordpress 摄影 主题
  • 开源免费建站程序用的最多的建设部网站四库一平台
  • 上海 网站建设平台 补贴wordpress gd
  • 用开源吗做的网站可以用吗怎样做网站流量
  • 什么软件可以做动画视频网站网站div的高度根据图片
  • 网站如何吸引用户微商货源网什么什么网站建设
  • 民和网站建设公司四川和城乡建设厅网站
  • 网站推广方案书怎么做百度网站
  • 东莞门户网站建设方案商贸公司起名字大全免费
  • 南京学习做网站ui设计主要做什么工作
  • 天门网站抚州市企业网站建设
  • 西部数码网站打不开网站搭建软件d
  • 要学好网站开发要会什么广东网站建设公司电话
  • 网站做链接四川住房和城乡建设厅网站
  • 网站服务合同交印花税吗wordpress点击分享功能
  • vs2017 网站开发环境郑州经纬网络做网站吗
  • 技术支持 合肥网站建设重庆菜谱制作
  • 湖北专业网站建设大全自助建站怎么实现的