如何使用网站公钥加密文本?

时间:2017-08-08 16:58:11

标签: python ssl openssl

所以我花了很多时间寻找答案,到目前为止还没有找到任何答案。所以,如果这是另一个问题的重复,那么我道歉。 我想从网站上获取公钥(例如www.google.com)并使用它来加密一些文本。我想用python做这个。我一直在尝试在网上找到的东西

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))
print(cert)
# OpenSSL
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
print(x509)
pk = x509.get_pubkey()
print(pk)
key = OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM, pk)
print(key)

这样做可以获取证书并提取公钥。但是我无法弄清楚如何使用它来加密某些东西。一些帮助将不胜感激。我还不是python的专家。

0 个答案:

没有答案