コード例 #1
0
ファイル: utils.py プロジェクト: xiaofangssense/moto
def rsa_public_key_parse(key_material):
    try:
        if not isinstance(key_material, six.binary_type):
            key_material = key_material.encode("ascii")

        decoded_key = base64.b64decode(key_material).decode("ascii")
        public_key = SSHKey(decoded_key)
    except (sshpubkeys.exceptions.InvalidKeyException, UnicodeDecodeError):
        raise ValueError('bad key')

    if not public_key.rsa:
        raise ValueError('bad key')

    return public_key.rsa
コード例 #2
0
ファイル: utils.py プロジェクト: modamod/moto
def rsa_public_key_parse(key_material):
    # These imports take ~.5s; let's keep them local
    import sshpubkeys.exceptions
    from sshpubkeys.keys import SSHKey

    try:
        if not isinstance(key_material, bytes):
            key_material = key_material.encode("ascii")

        decoded_key = base64.b64decode(key_material).decode("ascii")
        public_key = SSHKey(decoded_key)
    except (sshpubkeys.exceptions.InvalidKeyException, UnicodeDecodeError):
        raise ValueError("bad key")

    if not public_key.rsa:
        raise ValueError("bad key")

    return public_key.rsa