首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

要使用Python检索远程主机的TLS/SSL对等证书,您可以使用ssl库和socket库。以下是一个示例代码:

代码语言:python
复制
import socket
import ssl

def get_remote_certificate(hostname, port):
    context = ssl.create_default_context()
    with socket.create_connection((hostname, port)) as sock:
        with context.wrap_socket(sock, server_hostname=hostname) as ssock:
            certificate = ssock.getpeercert()
            return certificate

hostname = 'example.com'
port = 443
certificate = get_remote_certificate(hostname, port)
print(certificate)

在这个示例中,我们首先导入socketssl库。然后,我们定义一个名为get_remote_certificate的函数,该函数接受主机名和端口号作为参数。在函数内部,我们创建一个默认的SSL上下文,并使用create_connection函数创建一个TCP连接。接下来,我们使用wrap_socket函数将TCP连接升级为SSL连接,并传递主机名以进行服务器名称指示(SNI)。最后,我们使用getpeercert函数获取对等证书,并返回它。

在主程序中,我们定义一个主机名和端口号,然后调用get_remote_certificate函数以获取对等证书。最后,我们打印证书信息。

请注意,这个示例仅适用于支持SNI的服务器。如果您需要检索不支持SNI的服务器的证书,您需要使用其他方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用 Checkmk 监控 SSL TLS 证书

因此,任何 Web 服务器管理员一项重要任务是管理 SSL/TLS 证书并在它们过期之前对其进行更新。...在本教程中,我想向您展示如何使用来自tribe29监控工具 Checkmk 来监控您 SSL/TLS 证书,Checkmk 会密切关注您证书,并让您知道何时应该更换它们,使用监控工具比仅使用 Excel...您已经创建了一台主机和一项服务。 第 2 步:将 HTTPS 检查添加到您主机 现在您将使用“check_http”扫描您网站 SSL/TLS 证书。...我选择了“SSL.check”。 在主机设置下,勾选主机名/IP 地址前框并添加您网站。在我情况下,'www.checkmk.com'。 勾选TCP 端口复选框以使用 SSL/TLS 端口。...[202203171319192.png] 下一步:超越 SSL/TLS Web 服务器监控 本教程向您展示了如何使用 Checkmk 通过使用主动检查来监控 SSL/TLS 证书

1.7K10

如何使用Certbot独立模式检索我们在Ubuntu 18.04上加密SSL证书

在本教程中,我们将讨论Certbot独立模式以及如何使用它来保护其他类型服务,例如邮件服务器或RabbitMQ之类消息代理。...对于443端口,它应该是--preferred-challenges tls-sni。最后,该-d标志用于指定您要为其申请证书域。您可以添加多个-d选项以涵盖一个证书多个域。...我们来看看我们下载内容以及如何在我们软件中使用这些文件。...大多数软件都会将此文件用于实际证书,并在其配置中使用ssl-certificate”等名称引用它。 有关存在其他文件更多信息,请参阅Certbot文档“ 我证书在哪里 ”部分。...结论 在本教程中,我们安装了Certbot Let加密客户端,使用独立模式下载了SSL证书,并启用了具有续订挂钩自动续订。这应该可以让您在使用Let加密证书使用除典型Web服务器之外服务。

1.4K00

如何使用CentOS 7上CloudFlare验证来检索让我们加密SSL通配符证书

介绍 Let's Encrypt 是一个证书颁发机构(CA),它为传输层安全性(TLS)加密提供免费证书。它提供了一个名为Certbot软件客户端,它简化了证书创建,验证,签名,安装和续订过程。...我们加密现在支持通配符证书,允许您使用单个证书保护域所有子域。如果要使用单个服务器托管多个服务(例如Web界面,API和其他站点),这将非常有用。...-cloudflare python2-certbot-dns-cloudflare 如果您正在使用其他DNS服务,则可以使用以下yum search命令找到相应插件: yum search python2...第3步 - 配置Certbot 您拥有告诉Certbot如何使用Cloudflare所有必要信息,但是让我们将其写入配置文件,以便Сertbot可以自动使用它。...第4步 - 获取证书 要获取证书,我们将使用该certbot命令并指定我们想要插件,我们要使用凭证文件以及我们应该用来处理请求服务器。

3.2K11

如何使用CentOS 7上CloudFlare验证来检索让我们加密SSL通配符证书

介绍 Let's Encrypt是一个证书颁发机构(CA),它为传输层安全性(TLS)加密供免费证书。它提供了一个名为Certbot软件客户端,它简化了证书创建,验证,签名,安装和续订过程。...如果你没有域名,建议您先去这里注册一个域名,您需要将域名解析到您服务器,您可以使用腾讯云云解析进行快速设置。如果你有域名,保护你网站最简单方法是使用腾讯云SSL证书服务,它提供免费可信证书。...腾讯云SSL证书安装操作指南进行设置。 一个CloudFlare帐户。 在CloudflareDNS中为您域设置DNS记录,以及配置几个子域。...-cloudflare python2-certbot-dns-cloudflare 如果您正在使用其他DNS服务,则可以使用以下yum search命令找到相应插件: yum search python2...第3步 - 配置Certbot 您拥有告诉Certbot如何使用Cloudflare所有必要信息,但是让我们将其写入配置文件,以便Сertbot可以自动使用它。

3.3K20

如何使用CertCrunchy从SSL证书中发现和识别潜在主机名称

CertCrunchy是一款功能强大网络侦查工具,该工具基于纯Python开发,广大研究人员可以利用该工具轻松从SSL证书中发现和识别潜在主机信息。...支持在线源 该工具支持从在线源或给定IP地址范围获取SSL证书相关数据,并检索其中包含目标主机相关信息,当前版本CertCrunchy支持下列在线数据源: https://crt.sh/ https...工具安装 由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本Python 3环境。...我们可以直接使用下列命令从指定域名获取主机名称(-D): python certcrunchy.py -D TARGET 命令参数 -D:从域名列表中获取主机名称,列表中每个域名按行分隔; -i:...从一个网络块或IP地址范围主机获取并解析证书,例如192.168.0.0/24 -T:设置运行线程数量,可以提升工具运行速度,但不要设置太多线程; -O:设置HTTP API请求超时时间,单位为秒,

6110

curl命令

--cacert : SSL,告诉curl使用指定证书文件来验证对等方,文件可能包含多个CA证书证书必须采用PEM格式,通常情况下,curl是使用默认文件构建,因此此选项通常用于更改默认文件...--capath : SSL,告诉curl使用指定证书目录来验证对等方,可以通过使用:分隔多条路径,例如path1:path2:path3,证书必须是...--tlsv1.0: SSL,强制curl在与远程TLS服务器协商时使用TLS版本1.0,在7.34.0中添加。...--tlsv1.1: SSL,强制curl在与远程TLS服务器协商时使用TLS版本1.1,在7.34.0中添加。...58: 本地证书有问题。 59: 无法使用指定SSL密码。 60: 对等证书不能用已知CA证书进行身份验证。 61: 无法识别的传输编码。 62: LDAP URL无效。

9.1K40

etcd v2文档(5)--客户端https--安全

安全模型 etcd通过客户端证书支持SSL/TLS以及身份验证,客户端到服务器以及对等(服务器到服务器/群集)通信。 首先需要为一个成员拥有一个CA证书和一个已签名密钥对。...对等(服务器到服务器/群集)通信: 对等选项工作方式与客户端到服务器选项相同: --peer-cert-file = :用于在对等体之间进行SSL / TLS连接证书。...因为我们使用自己证书颁发机构使用自签名证书,所以您需要使用--cacert选项提供CA证书。 另一种可能性是将您CA证书添加到系统上可信证书(通常在/etc/ssl/certs中)。...如果启用对等体身份验证,则代理对等证书也必须对对等体身份验证有效。 FAQ 我群集不能使用对等tls配置? etcd v2.0.x内部协议使用了大量短期HTTP连接。...使用SSL客户端身份验证时,我看到SSLv3警报握手失败? golangcrypto/tls包在使用它之前检查证书公钥密钥用法。

2.5K10

Python Web学习笔记之SSL,TLS,HTTPS

对于数据加密使用了对称加密(例如DES和RC4)。 l 可以使用非对称加密或公钥加密(例如RSA和DSS)来验证对等实体身份。 l 连接时可靠。消息传输使用一个密钥MAC,包括了消息完整性检查。...TLS 握手协议提供连接安全具有三个基本属性:    可以使用非对称,或公共密钥密码术来认证对等身份。该认证是可选,但至少需要一个结点方。  共享加密密钥协商是安全。...然而, TLS 标准并没有规定应用程序如何TLS 上增加安全性;它把如何启动 TLS 握手协议以及如何解释交换认证证书决定权留给协议设计者和实施者来判断。 ...1.TLSSSL差异 1)版本号:TLS记录格式与SSL记录格式相同,但版本号值不同,TLS版本1.0使用版本号为SSLv3.1。...因为SSL在HTTP之下工作,对上层协议一无所知,所以SSL服务器只能为一个IP地址/端口组合提供一个证书。[12]这就意味着在大部分情况下,使用HTTPS同时支持基于名字虚拟主机是不很现实

1.2K30

如何使用GSAN从HTTPS网站SSL证书中提取子域名

关于GSAN  GSAN这款工具能够帮助广大研究人员从HTTPS网站SSL证书中直接提取主题别名,并向我们提供DNS名称(子域名)和虚拟服务器相关信息。...功能介绍  1、从HTTPS网站SSL证书中直接提取主题别名; 2、子域名提取/枚举; 3、支持使用文本文件或直接在终端窗口中以命令形式定义多个主机:端口; 4、CSV或JSON格式输出,...方便导入到其他工具中; 5、支持筛选出与正在分析域名所不匹配域名; 6、支持与CRT.SH集成,因此可以从同一实体证书中提取更多子域名; 7、适用于自签名证书; 工具安装  由于该工具基于...Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。...pip安装 我们可以使用pip命令完成GSAN安装: $ pip install --user gsan 源码获取 广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https

1.4K20

如何使用acme.sh自动获取、更新Let’s EncryptSSL证书

acme.sh实现了acme协议,可以从let's encrypt生成免费ssl证书。...本文主要记录使用dnspod api 自动申请ssl证书 站点HTTPS检测:https://myssl.com/ 仓库地址 https://github.com/acmesh-official/acme.sh...可以颁发有效期为 90 天无限TLS/SSL 证书(参考),由于v3,acme.sh使用 Zerossl 作为默认证书颁发机构 (CA)。在颁发新证书之前需要进行帐户注册(一次性)。...HSTS可以很大程度上解决SSL剥离攻击,因为只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP 另外,如果中间人使用自己自签名证书来进行攻击,浏览器会给出警告...证书申请者在生成私钥同时也生成证书请求文件。把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户证书

4.2K21

搭建harbor仓库

准备: Python、Docker和Docker Compose python需要2.7以上版本 然后docker我用是docker18.06.1-ce Docker Compose-1.22.0...因此,安装程序尺寸非常小。 脱机安装程序:当主机没有Internet连接时,请使用此安装程序。安装程序包含预制图像,因此其大小较大。...ssl_cert:SSL证书路径,仅当协议设置为https时才应用 ssl_cert_key:SSL密钥路径,仅当协议设置为https时才应用 secretkey_path:用于在复制策略中加密或解密远程注册表密码密钥路径...verify_remote_cert:(上或关闭,默认为上)该标志,判断是否验证SSL / TLS证书时码头与远程注册表实例通信。...将此属性设置为off可绕过SSL / TLS验证,SSL / TLS验证通常在远程实例具有自签名或不受信任证书使用。 修改完配置文件以后 ➜ sudo .

1.5K20

windows下使用curl命令

它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下移植版本。 如何在windows下使用curl命令?...使用TCP_NODELAY选项 -e/–referer 来源网址 -E/–cert 客户端证书文件和密码 (SSL) –cert-type 证书文件类型 (DER...–ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输 –ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输 -F/–form 模拟http...使用指定安全级别的krb4 -k/–insecure 允许不使用证书SSL站点 -K/–config 指定配置文件读取 -l/–list-only 列出ftp目录下文件名称 –limit-rate...服务器字节范围 –range-file 读取(SSL随机文件 -R/–remote-time 在本地生成文件时,保留远程文件时间 –retry 传输出现问题时,重试次数 –retry-delay

2.5K20

组复制安全 | 全方位认识 MySQL 8.0 Group Replication

本节从组复制IP白名单以及安全套接字(SSL)支持两个方面来介绍如何保护组合组成员之间连接安全性。 5.1....组复制安全套接字层(SSL)支持 我们可以使用SSL来保护组成员之间通信连接和分布式恢复连接。本节将介绍如何配置SSL连接。 5.2.1....,但是要根据配置证书颁发机构(CA)证书来验证服务器TLS证书 VERIFY_IDENTITY 与VERIFY_CA类似,但是还要验证服务器证书是否与尝试连接主机(组成员)匹配 复制组通信连接其余...(CA)证书文件目录路径名 ssl_crl 包含PEM格式证书撤销列表文件路径名 ssl_crlpath 包含PEM格式证书撤销列表文件目录路径名 ssl_cipher 用于加密连接握手中允许使用密码列表...分布式恢复专用SSL系统变量如下: group_replication_recovery_use_ssl:设置为ON时,组复制会对分布式恢复连接使用SSL,包括基于远程克隆和基于二进制日志状态传输都会启用

1.2K10

windows环境下 curl 安装和使用

选项  -e/--referer 来源网址  -E/--cert 客户端证书文件和密码 (SSL)            --cert-type 证书文件类型 (DER/PEM/ENG) (SSL...     --ftp-skip-pasv-ip 使用PASV时候,忽略该IP地址            --ftp-ssl 尝试用 SSL/TLS 来进行ftp数据传输            -...-ftp-ssl-reqd 要求用 SSL/TLS 来进行ftp数据传输  -F/--form 模拟http表单提交数据            --form-string 模拟http表单提交数据 ...-O/--remote-name 把输出写到该文件中,保留远程文件文件名  -p/--proxytunnel 使用HTTP代理            --proxy-anyauth 选择任一代理身份验证方法...r/--range 检索来自HTTP/1.1或FTP服务器字节范围       --range-file 读取(SSL随机文件  -R/--remote-time 在本地生成文件时,保留远程文件时间

1.7K60

使用golang部署运行tlshttps服务时,不用停机,高效证书下放,如何实现?

使用golang部署运行tlshttps服务时,不用停机,高效证书下放,如何实现?...第一部分 这篇文章主要介绍如何在应用golang语言开发http/https服务时,如何tls自动获取证书,而不必在证书更新或重置以后,还要重启服务器来让业务重新起效,本文分成三部分,第一部分会介绍tls...SSL/TLS 证书指纹算法 不受代理层、客户端版本等因素影响;可以识别采用自定义密码套件客户端。 无法识别中间人攻击;证书签发机构可能存在错误或欺诈。...然后对于服务响应去验证、重新生成,同时不用停机,就可以重新使用生成验签证书。这篇文章,演示一下TLS验证是在基于golang语言HTTPS服务是如何使用。 这篇教程有先要满足下面这些先决条件。...第三部分 好了,这篇有关如何抽象TLS服务配置,达到不需要重启服务就能加载变更证书文章就分享至些,感谢阅读,我特别将可用于tls加密指纹算法提到第一段来讲,并把JA3指纹算法在四层服务传输协议中使用

68110

什么是SDK,哪种SDK容易受到攻击?

HTTPS(超文本传输安全协议)是一种用于在不可信网络上实现安全连接网络通信协议,它将 SSL/TLS 安全功能添加到标准 HTTP(超文本传输协议)通信中,因此只要正确实现并配置,就可以防止窃听和中间人攻击...本地服务器能够收集当前设备中位置、IMEI、安装信息等信息,而远程服务器可以发送请求并从本地服务器 检索这些信息。甚至是远程安装与卸载也可以通过与本地服务通信来实现。...2:滥用SSL/TLS HTTPS(SSL/TLS HTTP)只有在恰当实现和配置下才会使通信信道安全。要想建立安全 SSL/TLS 连接,客户端必须检查证书链和主机名是否有效。...如果主机名与服务器域名匹配,则该主机名有效。...Lu L, Li Z, Wu Z, Lee W, Jiang G系统地研究了不正确SSL/TLS证书验证过程所带来威胁。通过分析,发现这些威胁在第三方SDK中也很常见。

1.9K30

二进制部署k8s教程01 - ssl证书

server 服务端证书 peer 双向对等证书 ca 根证书(也叫 ca 签发机构) 单向认证 双向认证 1-4.ssl 签发机构 ca ca 签发机构,也叫 ca 根证书,是用来生成上面提到 server...原来是 http 类型,现在是 https 类型,客户端在跟 web 服务端交互时候,数据已经被加密了。这就是在 web 端,也就是 server 端使用ssl 证书。...** 1-7.ssl 对等认证 peer 对等认证。...**此时,集群上每个节点都需要一个 server 证书,并且同时要为每个节点颁发 peer 双向认证证书。每个节点之间互相访问,就要使用 peer 证书。这时候在 etcd 集群上,就叫对等认证。...使用 etcd 这个服务客户端只有 kube-apiserver ,所以除了以上提到 每个 etcd 节点自身需要 server 证书以及 peer 对等证书外, 还需要生成一个 client 证书提供给

86110

现有CDP-DC集群启用Auto-TLS

/config.ini使用SSL / TLS,然后使主机联机。...除了下面的两个简短概述之外,有关更多信息,请参见“如何TLS / SSL证书和密钥转换文件编码(DER,JKS,PEM)”。...代理主机、Hue、Impala和其他基于Python服务需要PEM格式密钥和证书(PKCS#8),这就是为什么以下步骤包括使用此工具转换一些JKS工件原因。...有关更多信息,请参见“如何TLS / SSL证书和密钥转换文件编码(DER,JKS,PEM)”。 如何将自签名证书用于TLS 自签名证书不应用于生产部署。...但是,使用自签名证书可以轻松获取用于TLS / SSL配置证书,并且可能适用于非生产或测试设置。有关更多信息,请参阅为 手动配置 加密 。

1.6K20
领券