Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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,
    )
Exemplo n.º 3
0
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")
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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()
Exemplo n.º 7
0
def _public_key_to_bytes(public_key: rsa.RSAPublicKey) -> bytes:
    return public_key.public_bytes(
        encoding=serialization.Encoding.PEM,
        format=serialization.PublicFormat.SubjectPublicKeyInfo,
    )