извлечение открытого ключа из сертификата и шифрование данных

Это для домашнего задания! Я получаю сертификат сервера, используя get_peer_certificate() и вызывающий dump_certificate чтобы сбрасывать сертификат в переменной. Формат PEM и выглядит правильно для меня.

 -----BEGIN CERTIFICATE----- GIBBERISH................ ...................... ........................ -----END CERTIFICATE----- 

Как извлечь открытый ключ сервера из этого файла ('server.pubkey') и зашифровать plaintext с помощью RSA алгоритма и любой библиотеки python. Во время написания этого, я использую pyOpenSSL

  • Python OverflowError: не может помещаться «long» в целое число index =
  • Как добавить / изменить пароль для приватного ключа RSA с помощью PyCrypto
  • Cube root modulo P - как это сделать?
  • RSA шифрует / расшифровывает между C и python
  • Как загрузить в Python-RSA общедоступный ключ RSA из файла, сгенерированного с помощью openssl?
  • M2Crypto - импортировать ключи из нестандартного файла?
  • Шифрование и расшифровка RSA в Python
  • как сделать PKCS8 RSA-подпись в python
  • One Solution collect form web for “извлечение открытого ключа из сертификата и шифрование данных”

    Я бы рекомендовал использовать более широкую криптографическую библиотеку, такую ​​как M2Crypto, которая имеет функции сертификата X509, а также шифрование RSA:

     from M2Crypto import RSA, X509 data = ssl_sock.getpeercert(1) # load the certificate into M2Crypto to manipulate it cert = X509.load_cert_string(data, X509.FORMAT_DER) pub_key = cert.get_pubkey() rsa_key = pub_key.get_rsa() cipher = rsa_key.public_encrypt('plaintext', RSA.pkcs1_padding) 
    Python - лучший язык программирования в мире.