草庐IT

EMQX 服务器建立SSL/TLS安全连接、单向、双向

目录SSL/TLS简介TLS协议的架构TLS记录协议 握手协议什么是主密码?什么是预备主密码? SSL/TLS优势SSL/TLS协议 SSL/TLS单向验证MQTT连接测试(OpenSSL)EMQXDashboard验证SSL/TLS双向验证SSL/TLS简介SSL/TLS是一种密码通信框架,他是世界上使用最广泛的密码通信方法。SSL/TLS综合运用了密码学中的对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等,可以说是密码学中的集大成者。  TLS协议的架构TLS主要分为两层,底层的是TLS记录协议,主要负责使用对称密码对消息进行加密。上层的是TLS握手协议,主要分为握手协议,密码规

服务器——SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复办法

前言:近期某台WindowsServer服务器的远程连接端口(3389)被扫出了SSL/TLS协议信息泄露漏洞(CVE-2016-2183),尝试了网上很多复制来复制去的"解决方法",直接导致堡垒机连不上服务器,每次连不上服务器又得去找服务器提供方,真的非常麻烦,在此不得不吐槽一下某些不负责任的复制粘贴,同时,记录下真正的解决方案以供大家参考。环境:WindowsServer2008R2(1).禁用FIPS兼容算法进入本地安全策略进入本地策略-安全选项,找到系统加密:将FIPS兼容算法用于加密、哈希和签名右键进入属性,将其设置为已禁用,然后点击应用(2).修改SSL密码套件进入编辑组策略进入计

System.Net.WebException: 请求被中止: 未能创建 SSL/TLS 安全通道。

System.Net.WebException:请求被中止:未能创建SSL/TLS安全通道。客户端执行https请求时,报出“System.Net.WebException:请求被中止:未能创建SSL/TLS安全通道。”的问题。原因是:服务端更改了安全协议,而执行的客户端并未注册该协议。如果客户端的.netframework版本低于4.0,协议类型枚举中只有   ServicePointManager.SecurityProtocol=SecurityProtocolType.Ssl3|SecurityProtocolType.Tls;需修改成如下任一方式即可(系统需支持.netframewo

MQTT系列:(三)EMQ X配置SSL/TLS,并使用MQTT X进行链接

系列文章目录MQTT系列:(一)NodeRed+MQTTX进行mqtt的数据收发测试MQTT系列:(二)通过EMQX搭建本地MQTT服务器文章目录系列文章目录安装环境一、Perl安装二、OpenSSL安装三、证书秘钥生成四、EMQX加载证书五、MQTTX使能SSL/TLS异常问题处理总结安装环境Windows10一、Perl安装1)5.24.4.1下载链接2)下载完成之后,双击运行,一路next即可,环境变量会自动注册,在cmd里敲入perl-v,显示如下:二、OpenSSL安装1)笔者很久之前安装过mingw,具体安装步骤可百度查询2)打开MinGWInstallationManager,在

python - 如何使用 python 检索远程主机的 TLS/SSL 对等证书?

我需要扫描IP列表并从该IP上的证书中检索公用名(对于允许端口443连接的每个IP)。我已经能够使用套接字和ssl模块成功地做到这一点。它适用于所有具有有效签名证书的IP,但不适用于自签名证书。如果我使用这种方法,它需要一个由我的CA-bundle验证的有效证书:fromsocketimportsocketimportssls=socket()c=ssl.wrap_socket(s,cert_reqs=ssl.CERT_REQUIRED,ca_certs='ca-bundle.crt')c.connect(('127.0.0.1',443))printc.getpeercert()如果

python - 如何使用 python 检索远程主机的 TLS/SSL 对等证书?

我需要扫描IP列表并从该IP上的证书中检索公用名(对于允许端口443连接的每个IP)。我已经能够使用套接字和ssl模块成功地做到这一点。它适用于所有具有有效签名证书的IP,但不适用于自签名证书。如果我使用这种方法,它需要一个由我的CA-bundle验证的有效证书:fromsocketimportsocketimportssls=socket()c=ssl.wrap_socket(s,cert_reqs=ssl.CERT_REQUIRED,ca_certs='ca-bundle.crt')c.connect(('127.0.0.1',443))printc.getpeercert()如果

TLS1.3 协议的加密过程

记录一下TLS1.3的加密过程,如何协商会话秘钥TLS就是HTTPS的那一层加密协议,前身是SSL,但是现在SSL已经淘汰了。之前用wireshark抓包看,现在的网站多是TLS1.2。这层协议的主要流程大概是双方先通过非对称协商握手,得出一个对称密钥,然后再通过这个对称密钥加密进行通信。官方说明文档:https://www.rfc-editor.org/rfc/rfc8446(有亿点复杂,麻了,想要知道细节的话就去看文档吧,160页的论文)一.与TLS1.2的主要区别对称加密算法换成带有关联数据的经过身份验证的加密(AEAD)算法。可以理解为他将完整性和机密性结合了?静态RSA和Diffie

python - pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用

我正在使用Python3.6。当我尝试使用pip3安装“模块”时,我遇到了这个问题:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable 最佳答案 对于Windows10如果您想在普通cmd中使用pip,而不仅仅是在Anaconda提示符下。您需要添加3个环境路径。像下面这样:D:\Anaconda3D:\Anaconda3\ScriptsD:\Anaconda3\Library\bin大多数人只添加D:\An

python - pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用

我正在使用Python3.6。当我尝试使用pip3安装“模块”时,我遇到了这个问题:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable 最佳答案 对于Windows10如果您想在普通cmd中使用pip,而不仅仅是在Anaconda提示符下。您需要添加3个环境路径。像下面这样:D:\Anaconda3D:\Anaconda3\ScriptsD:\Anaconda3\Library\bin大多数人只添加D:\An

Java - 如何仅使用 JVM Config 为某些协议(protocol)禁用 TLS 密码?

我已经看到很多在java中使用jdk.tls.disabledAlgorithms禁用TLS密码的示例,例如:jdk.tls.disabledAlgorithms=MD2,RSAkeySize但我如何才能使用jdk.tls.disabledAlgorithms或类似的配置仅对某些协议(protocol)禁用密码?例如,如何仅对TLSv1.1禁用TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256?好像不支持opensssl这样的方式,是这样的:TLSv1.1:!TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256它不会导致任何错误,但密码仍然