# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.7

import enum

import winsdk

_ns_module = winsdk._import_ns_module("Windows.Security.Cryptography.Core")

try:
    import winsdk.windows.foundation
except ImportError:
    pass

try:
    import winsdk.windows.foundation.collections
except ImportError:
    pass

try:
    import winsdk.windows.security.cryptography.certificates
except ImportError:
    pass

try:
    import winsdk.windows.storage.streams
except ImportError:
    pass

class Capi1KdfTargetAlgorithm(enum.IntEnum):
    NOT_AES = 0
    AES = 1

class CryptographicPadding(enum.IntEnum):
    NONE = 0
    RSA_OAEP = 1
    RSA_PKCS1_V15 = 2
    RSA_PSS = 3

class CryptographicPrivateKeyBlobType(enum.IntEnum):
    PKCS8_RAW_PRIVATE_KEY_INFO = 0
    PKCS1_RSA_PRIVATE_KEY = 1
    B_CRYPT_PRIVATE_KEY = 2
    CAPI1_PRIVATE_KEY = 3
    B_CRYPT_ECC_FULL_PRIVATE_KEY = 4

class CryptographicPublicKeyBlobType(enum.IntEnum):
    X509_SUBJECT_PUBLIC_KEY_INFO = 0
    PKCS1_RSA_PUBLIC_KEY = 1
    B_CRYPT_PUBLIC_KEY = 2
    CAPI1_PUBLIC_KEY = 3
    B_CRYPT_ECC_FULL_PUBLIC_KEY = 4

_ns_module._register_Capi1KdfTargetAlgorithm(Capi1KdfTargetAlgorithm)
_ns_module._register_CryptographicPadding(CryptographicPadding)
_ns_module._register_CryptographicPrivateKeyBlobType(CryptographicPrivateKeyBlobType)
_ns_module._register_CryptographicPublicKeyBlobType(CryptographicPublicKeyBlobType)

AsymmetricAlgorithmNames = _ns_module.AsymmetricAlgorithmNames
AsymmetricKeyAlgorithmProvider = _ns_module.AsymmetricKeyAlgorithmProvider
CryptographicEngine = _ns_module.CryptographicEngine
CryptographicHash = _ns_module.CryptographicHash
CryptographicKey = _ns_module.CryptographicKey
EccCurveNames = _ns_module.EccCurveNames
EncryptedAndAuthenticatedData = _ns_module.EncryptedAndAuthenticatedData
HashAlgorithmNames = _ns_module.HashAlgorithmNames
HashAlgorithmProvider = _ns_module.HashAlgorithmProvider
KeyDerivationAlgorithmNames = _ns_module.KeyDerivationAlgorithmNames
KeyDerivationAlgorithmProvider = _ns_module.KeyDerivationAlgorithmProvider
KeyDerivationParameters = _ns_module.KeyDerivationParameters
MacAlgorithmNames = _ns_module.MacAlgorithmNames
MacAlgorithmProvider = _ns_module.MacAlgorithmProvider
PersistedKeyProvider = _ns_module.PersistedKeyProvider
SymmetricAlgorithmNames = _ns_module.SymmetricAlgorithmNames
SymmetricKeyAlgorithmProvider = _ns_module.SymmetricKeyAlgorithmProvider
