接口测试--ssl证书

一、为什么要引用ssl证书

在全球各大浏览器推出多项支持HTTPS的政策下,越来越多的网站不得不为了网络安全放弃简单快捷的HTTP明文协议,转为更加安全的HTTPS加密协议,而绝大部分的通常使用ssl证书来切换HTTPS。

二、什么是http和https

HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

三、常见的ssl证书错误

1、网站证书不是由受信任的证书颁发机构颁发
原因一:因为证书不在浏览器厂商的受信任的列表中。可通过手动添加证书安装到浏览器的“信任列表”就可以了。
解决办法:浏览器中选项→内容选项卡→证书-→导入即可。
原因二:网站服务器所使用的ssl证书不是由全球信任的CA机构颁发
原因三:ssl证书没有得到正确安装,需要检查一下是否已经删除了以前存在或者测试的证书,若确认网站的证书是正确无误的话,请重启webserver。

2、SSL证书包含的域名与网站地址不一致
每一个ssl证书所对应的域名都具有唯一性,是一个全域名FQDN( Fully Qualified Domain Name )。当网站出具的证书所包含的域名和网站域名不一致,系统就会自动发出报告,提示证书域名不匹配。需要重新申请ssl证书。如有相同主域名的多站点,则要申请多域名ssl证书。

3、使用匿名Diffie-Hellman(ADH)算法时会收到”no shared cipher”错误。
在默认情况下,出于安全原因,Openssl并不启用ADH算法。仅在用户确实明白了这个算法的副作用时,才可以启用此算法。为了使用匿名Diffie-Hellman(ADH)算法,用户必须在编译Openssl时使用”-Dssl_ALLOW_ADH”配置选项,并在sslCipherSuite指令中添加”ADH”。

4、网站证书已过期或还未生效
出现这种情况一般是电脑系统日期错误,另一种就是证书已经过了有效期,则需要续费。可查看该证书信息的有效起止日期,确定证书是否在有效期内,如在的话需查看电脑日期是否正确。否则就是第二种原因,ssl证书不在有效期内,需尽快联系证书颁发厂商,进行续费。

5、页面包含有不安全的内容。
目前都提倡每一个页面使用HTTPS,则网站所有的内容都必须是HTTPS。如果遇到图片、JS脚本,FLASH插件是通过HTTP方式去调用的,就会发生这种错误。将调用的元素http改成HTTPS即可,然后刷新测试ssl问题是否已经解决。

6、浏览网页的时候突然弹出ssl连接错误
1)按下“Win+R”组合键打开运行,在运行框中输入:inetcpl.cpl点击确定打开“internet 选项”;
2)切换到【高级】选项卡;
3)在设置框中勾选“使用ssl 3.0”、“使用ssl1.0”、“使用ssl 1.1”、“使用ssl 1.2”点击应用并点击确定;
4)重启浏览器即可解决ssl连接错误!

接口测试工具:apipost

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python接口测试,可以使用requests库来发送HTTPS请求,并且可以通过设置verify参数来指定SSL证书。verify参数可以设置为True、False或者指定证书文件的路径。 如果设置为True,requests会验证SSL证书,如果证书无效会抛出CertificateError异常。 如果设置为False,requests会忽略SSL证书,不会验证证书的有效性,不建议在生产环境使用。 如果指定证书文件的路径,requests会使用该证书进行验证。 示例代码如下: ```python import requests # 验证SSL证书 response = requests.get('https://www.example.com', verify=True) # 忽略SSL证书 response = requests.get('https://www.example.com', verify=False) # 指定SSL证书 response = requests.get('https://www.example.com', verify='/path/to/cert.pem') ``` 在实际测试,如果遇到证书无效的情况,可以尝试通过以下方式解决: 1. 获取证书的SHA1指纹,将其添加到requests的信任列表。 ```python import requests cert = ('/path/to/cert.pem', '/path/to/key.pem') # 获取证书的SHA1指纹 import hashlib fp = open(cert[0], 'rb') cert_data = fp.read() fp.close() finger_print = hashlib.sha1(cert_data).hexdigest() # 将指纹添加到requests的信任列表 requests.utils.DEFAULT_CA_BUNDLE_PATHS.append(cert[0]) requests.utils.DEFAULT_CA_BUNDLE_PATHS.append(cert[1]) requests.utils.DEFAULT_CA_BUNDLE_PATHS.append(finger_print) # 发送HTTPS请求 response = requests.get('https://www.example.com', cert=cert) ``` 2. 禁用证书验证。 ```python import requests from requests.packages.urllib3.exceptions import InsecureRequestWarning # 禁用证书验证 requests.packages.urllib3.disable_warnings(InsecureRequestWarning) # 发送HTTPS请求 response = requests.get('https://www.example.com', verify=False) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值