搭建ssl双向验证python

news2024/11/25 3:27:08

生成证书

客户端和服务端搭建

https

simple-https-server.py

# run as follows: python simple-https-server.py
# then in your browser, visit:
# https://localhost
import ssl
import http.server

serverAddress = ('0.0.0.0', 443)
httpd = http.server.HTTPServer(
    serverAddress, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(
    httpd.socket, certfile='server.cer', server_side=True, keyfile="server.prikey", cert_reqs=ssl.CERT_REQUIRED, ca_certs="ca.cer")  #
httpd.serve_forever()

# cert_reqs=ssl.CERT_REQUIRED 去掉即可浏览器访问

simple-https-client.py

import ssl
import http.client

context = ssl.SSLContext(ssl.PROTOCOL_TLS)
context.load_verify_locations('ca.cer')
context.load_cert_chain(certfile="client.cer", keyfile="client.prikey")
context.verify_mode = ssl.CERT_REQUIRED
context.check_hostname = True

conn = http.client.HTTPSConnection("localhost", context=context)
conn.request("GET", "/")
print(conn.getresponse().read().decode())

sslsocket

验证

在这里插入图片描述

ssl文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/725072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【力扣】设计内存分配器(高效实现)

题目 给你一个整数 n ,表示下标从 0 开始的内存数组的大小。所有内存单元开始都是空闲的。 请你设计一个具备以下功能的内存分配器: 分配 一块大小为 size 的连续空闲内存单元并赋 id mID 。 释放 给定 id mID 对应的所有内存单元。 注意:…

面试官当面夸奖完我后,反手把我挂了...只能说这套路太..

最近几个朋友找我聊天,给我讲述了面试过程中遇到的一些不太理解的事情。作为一个技术面试官,今天来分享 9 个面试相关的套路。 1.自我介绍 自我介绍是一个重要的开始,好的开始是成功的一半。不需要太多花里胡哨的东西,简单、清楚…

超详细:阿里云服务器地域和可用区选择方法

阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…

文件行读写

#include<stdio.h> #include<stdlib.h> #include<string.h> int main01() {FILE* fpfopen("D:/a.txt","r");//打开文件 if(fpNULL) printf("打开文件失败\n");char* p(char*)malloc(sizeof(char)*100);memset(p,0,100);fge…

架构课学习笔记:职业成长

架构师没有明确的定义&#xff0c;郭老师提出具备的能力&#xff1a;就是为一个复杂系统设计软件的能力&#xff0c;以及引导研发团队实施的能力。从5个 阶段来看对应的能力维度&#xff1a;结构化设计、解决横向问题、解决跨领域冲突、正确的技术决策和创造生存优势。 一结构…

树结构 根据关键字过滤

案例&#xff1a; 默认 过滤之后 直接看代码&#xff1a; <divclass"grid-content bg-purple"style"background-color: #fff"><p>单位列表</p><!-- defaultProps :这个里面的字段要与后端返回过来的字段一致 --><el-inputplac…

C++笔记之sizeof()判断对象所占内存空间的大小以及字符数组的长度

C笔记之sizeof()判断对象所占内存空间的大小以及字符数组的长度 code review! 文章目录 C笔记之sizeof()判断对象所占内存空间的大小以及字符数组的长度1.C笔记之sizeof()判断对象所占内存空间的大小2.C笔记之sizeof()判断数组的长度3.C笔记之strlen在字符数组中的使用 1.C笔…

《动手学深度学习》——多层感知机

参考资料&#xff1a; 《动手学深度学习》 4.1 多层感知机 4.1.1 隐藏层 隐藏层 激活函数能够模拟任何连续函数。 4.1.2 激活函数 4.1.2.1 ReLu函数 ReLU ⁡ ( x ) max ⁡ ( x , 0 ) \operatorname{ReLU}(x) \max(x, 0) ReLU(x)max(x,0) 当输入为负时&#xff0c;ReLU …

Python爬虫-求是网

前言 本文是该专栏的第2篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cDovL3NlYXJjaC5xc3RoZW9yeS5jbi9xaXVzaGkvP2tleXdvcmQ9 需求:根据搜索关键词,爬取对应关键词下的全部文章信息 废话不多说,跟着笔者直接往下看详细内容。(附带完整代码) 正文 1. 请…

说说 OpenAI 最新发布的Function calling 是什么

这两天看的比较多的一个新闻就是 OpenAI 又更新了自己的 API。 除了各种大减价&#xff0c;增加 Token 数量之外&#xff0c;还新推出了一个叫做 Function calling 的能力。那么 Function calling 到底是什么东西&#xff0c;可能很多新闻类型的内容也没讲太明白&#xff0c;我…

基于SpringBoot+vue的教师人事档案管理系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

【力扣周赛】第 352 场周赛

文章目录 Q1&#xff1a;2760. 最长奇偶子数组解法1——纯纯暴力解法2——枚举左端点&#xff0c;尝试右端点继续优化 Q2&#xff1a;2761. 和等于目标值的质数对一个小优化 Q3&#xff1a;2762. 不间断子数组解法1——滑动窗口维护哈希表普通HashMap使用TreeMap补充&#xff1…

利用Python批量压缩图片大小(不改变图片尺寸,不改变图片格式)

我们经常需要在某些文件中如&#xff1a;Word,Excel&#xff0c;PPT等中&#xff0c;插入大量的图片&#xff0c;但是图片每一张的内存都不小&#xff0c;累计多了&#xff0c;就是导致文件的内存过大&#xff0c;导致客户打不开文件&#xff0c;那么我们可以将图片的内存压缩一…

指针的指针理解与用法

指针实际上就是一个变量&#xff0c;当他不是空指针的时候他的值就是某一个地址&#xff0c;同时他自己也是有地址的&#xff0c;因为它是一个变量。 指针的指针的值其实就是某一个指针的地址。 int main() {int a 5;int *p &a;int **pp &p;printf("%p\n&quo…

GitHub Pages + Hexo搭建个人博客网站

步骤 参考如下步骤&#xff1a;https://blog.csdn.net/yaorongke/article/details/119089190 出现的问题 1 Fluid主题 其更换Fluid主题时&#xff1a; 下载最新 release 版本 解压到 themes 目录&#xff0c;并将解压出的文件夹重命名为 fluid 按照上面执行后&#xff0c;后…

新增数据列--Pandas

1. 直接赋值 order pd.read_excel(C:\\Users\\changyanhua\\Desktop\\order.xlsx) print(order.head()) # 1.直接赋值新增列&#xff1a; order[平均价]order[销售额]/order[数量] print(order.head())2.apply()方法 2.1 函数功能 沿着DataFrame的某个轴应用一个函数。返回…

AIGC - Stable Diffusion 的 Prompts 提示词工程框架 (1)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/131544508 当前 Stable Diffusion 模型使用基础的 stable-diffusion-v1-5&#xff0c;即 v1-5-pruned-emaonly.safetensors。 Stable Diffusion …

【RT】统一的基于文本的行人检索:大规模多属性和语言检索基准

Towards Unified Text-based Person Retrieval: A Large-scale Multi-Attribute and Language Search Benchmark 西安交通大学 针对 基于文本的行人检索的预训练 展开探索 Motivation Data Scarcity Contributions MALS(Multi-Attribute and Language Search dataset for pe…

关于亚马逊测评,为何绝大多数卖家都倾向于自养号测评

亚马逊测评在当前的电商环境中对于卖家的重要性不言而喻。现在越来越多的卖家选择自养账号测评&#xff0c;相对于找国外买手或测评服务商&#xff0c;主要是出于以下考虑&#xff1a; 1.避免买家账号资源的重复使用&#xff1a;使用国外买手或测评服务商时&#xff0c;买家账…

Python+selenium自动化测试

批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导入HTML…