# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.0.1

import enum

import winrt.system
from winrt import _winrt_windows_security_cryptography_certificates

__all__ = [
    "CertificateChainPolicy",
    "ChainValidationResult",
    "EnrollKeyUsages",
    "ExportOption",
    "InstallOptions",
    "KeyProtectionLevel",
    "KeySize",
    "SignatureValidationResult",
    "Certificate",
    "CertificateChain",
    "CertificateEnrollmentManager",
    "CertificateExtension",
    "CertificateKeyUsages",
    "CertificateQuery",
    "CertificateRequestProperties",
    "CertificateStore",
    "CertificateStores",
    "ChainBuildingParameters",
    "ChainValidationParameters",
    "CmsAttachedSignature",
    "CmsDetachedSignature",
    "CmsSignerInfo",
    "CmsTimestampInfo",
    "KeyAlgorithmNames",
    "KeyAttestationHelper",
    "KeyStorageProviderNames",
    "PfxImportParameters",
    "StandardCertificateStoreNames",
    "SubjectAlternativeNameInfo",
    "UserCertificateEnrollmentManager",
    "UserCertificateStore",
]

class CertificateChainPolicy(enum.IntEnum):
    BASE = 0
    SSL = 1
    N_T_AUTHENTICATION = 2
    MICROSOFT_ROOT = 3

class ChainValidationResult(enum.IntEnum):
    SUCCESS = 0
    UNTRUSTED = 1
    REVOKED = 2
    EXPIRED = 3
    INCOMPLETE_CHAIN = 4
    INVALID_SIGNATURE = 5
    WRONG_USAGE = 6
    INVALID_NAME = 7
    INVALID_CERTIFICATE_AUTHORITY_POLICY = 8
    BASIC_CONSTRAINTS_ERROR = 9
    UNKNOWN_CRITICAL_EXTENSION = 10
    REVOCATION_INFORMATION_MISSING = 11
    REVOCATION_FAILURE = 12
    OTHER_ERRORS = 13

class EnrollKeyUsages(enum.IntFlag):
    NONE = 0
    DECRYPTION = 0x1
    SIGNING = 0x2
    KEY_AGREEMENT = 0x4
    ALL = 0xffffff

class ExportOption(enum.IntEnum):
    NOT_EXPORTABLE = 0
    EXPORTABLE = 1

class InstallOptions(enum.IntFlag):
    NONE = 0
    DELETE_EXPIRED = 0x1

class KeyProtectionLevel(enum.IntEnum):
    NO_CONSENT = 0
    CONSENT_ONLY = 1
    CONSENT_WITH_PASSWORD = 2
    CONSENT_WITH_FINGERPRINT = 3

class KeySize(enum.IntEnum):
    INVALID = 0
    RSA2048 = 2048
    RSA4096 = 4096

class SignatureValidationResult(enum.IntEnum):
    SUCCESS = 0
    INVALID_PARAMETER = 1
    BAD_MESSAGE = 2
    INVALID_SIGNATURE = 3
    OTHER_ERRORS = 4

Certificate = _winrt_windows_security_cryptography_certificates.Certificate
CertificateChain = _winrt_windows_security_cryptography_certificates.CertificateChain
CertificateEnrollmentManager = _winrt_windows_security_cryptography_certificates.CertificateEnrollmentManager
CertificateExtension = _winrt_windows_security_cryptography_certificates.CertificateExtension
CertificateKeyUsages = _winrt_windows_security_cryptography_certificates.CertificateKeyUsages
CertificateQuery = _winrt_windows_security_cryptography_certificates.CertificateQuery
CertificateRequestProperties = _winrt_windows_security_cryptography_certificates.CertificateRequestProperties
CertificateStore = _winrt_windows_security_cryptography_certificates.CertificateStore
CertificateStores = _winrt_windows_security_cryptography_certificates.CertificateStores
ChainBuildingParameters = _winrt_windows_security_cryptography_certificates.ChainBuildingParameters
ChainValidationParameters = _winrt_windows_security_cryptography_certificates.ChainValidationParameters
CmsAttachedSignature = _winrt_windows_security_cryptography_certificates.CmsAttachedSignature
CmsDetachedSignature = _winrt_windows_security_cryptography_certificates.CmsDetachedSignature
CmsSignerInfo = _winrt_windows_security_cryptography_certificates.CmsSignerInfo
CmsTimestampInfo = _winrt_windows_security_cryptography_certificates.CmsTimestampInfo
KeyAlgorithmNames = _winrt_windows_security_cryptography_certificates.KeyAlgorithmNames
KeyAttestationHelper = _winrt_windows_security_cryptography_certificates.KeyAttestationHelper
KeyStorageProviderNames = _winrt_windows_security_cryptography_certificates.KeyStorageProviderNames
PfxImportParameters = _winrt_windows_security_cryptography_certificates.PfxImportParameters
StandardCertificateStoreNames = _winrt_windows_security_cryptography_certificates.StandardCertificateStoreNames
SubjectAlternativeNameInfo = _winrt_windows_security_cryptography_certificates.SubjectAlternativeNameInfo
UserCertificateEnrollmentManager = _winrt_windows_security_cryptography_certificates.UserCertificateEnrollmentManager
UserCertificateStore = _winrt_windows_security_cryptography_certificates.UserCertificateStore
