def serialize_pubkey(public_key: rsa.RSAPublicKey) -> bytes: """ Encode an RSA public key into the DER format. """ return public_key.public_bytes( serialization.Encoding.DER, serialization.PublicFormat.SubjectPublicKeyInfo)
def dump_public_key(key: rsa.RSAPublicKey) -> bytes: """Dump a public key to PEM format (text) :param key: An RSAPrivateKey to dump the public key of :return: The dumped bytes of the public key, as PEM """ return key.public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo, )
def get_pub_key_pem(public_key: RSAPublicKey) -> str: pub_key_pem = public_key.public_bytes( serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo).strip() pub_key_pem = pub_key_pem.replace( b"-----BEGIN PUBLIC KEY-----", b"-----BEGIN RSA PUBLIC KEY-----").replace( b"-----END PUBLIC KEY-----", b"-----END RSA PUBLIC KEY-----") return pub_key_pem.decode("ascii")
def _pubkey_to_str(pubkey_object: rsa.RSAPublicKey) -> str: """ Converts a public key object to a string """ pem = pubkey_object.public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo) key_str = pem.decode() # type: str key_str = key_str[len(_PUBLIC_BEGIN_TAG):] # remove being tag key_str = key_str[:-(len(_PUBLIC_END_TAG) + 1)] # remove end tag key_str = key_str.replace("\n", "") # remove new lines return key_str
def serialize_pubkey(public_key: rsa.RSAPublicKey) -> bytes: """ Encode an RSA public key into the DER format. """ return public_key.public_bytes(serialization.Encoding.DER, serialization.PublicFormat.SubjectPublicKeyInfo)
def rsa_pub_key_to_str(public_key: rsa.RSAPublicKey) -> str: """ return RSA public key as string - PEM format """ return public_key.public_bytes( encoding=serialization.Encoding.OpenSSH, format=serialization.PublicFormat.OpenSSH ).decode()
def _public_key_to_bytes(public_key: rsa.RSAPublicKey) -> bytes: return public_key.public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo, )