/ / X509.get_pubkey () को हेक्साडेसिमल में पाइथन में कैसे परिवर्तित करें - पायथन, पायथन-3.x, आरएसए, पब्लिक-की-एन्क्रिप्शन, tls1.2

X509.get_pubkey () को हेक्साडेसिमल में पाइथन में कैसे परिवर्तित करें - पायथन, पायथन-3.x, आरएसए, पब्लिक-की-एन्क्रिप्शन, tls1.2

मुझे x509 प्रमाण पत्र से सार्वजनिक कुंजी निकालने की आवश्यकता है। मैंने इस स्क्रिप्ट का इस्तेमाल किया:

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)

print(x509.get_pubkey().to_cryptography_key())

मैं जो मूल्य प्राप्त करता हूं .get_pubkey().to_cryptography_key() क्या यह:

<cryptography.hazmat.backends.openssl.rsa._RSAPublicKey object at 0x0000021B75346908>

लेकिन मुझे हेक्साडेसिमल प्रारूप में सार्वजनिक कुंजी की आवश्यकता है। यानी आरएसए मॉड्यूलस।

उत्तर:

जवाब के लिए 0 № 1

यह उत्तर आपके लिए काफी देर हो सकता है, लेकिन दूसरों के लिए उपयोगी है।

print OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM,x509.get_pubkey())