我需要以DER文件的形式下载服务器证书。我正在使用Python语言。我已经使用这个脚本连接到了服务器,但是我需要将证书下载到我的硬盘上,以便在下一步中对其进行解析。
import socket, ssl
import OpenSSL
hostname='www.google.com'
port=443
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = context.wrap_socket(s, server_hostname=hostname)
ssl_sock.connect((hostname, port))
ssl_sock.close()
print("ssl connection Done")
cert = ssl.get_server_certificate((hostname, port))
# OpenSSL
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
open('/tmp/google.der', 'wb') as f: f.write(der)
的意思吗?我遇到了错误:FileNotFoundError: [Errno 2] No such file or directory: '/tmp/google.der',尽管我在项目文件夹中创建了 tmp 文件夹。我还尝试过open('../tmp/google.der', 'wb')
,但这并没有解决问题。 - user2192774