| 1 | /**
 | 
|---|
| 2 |  * This file has no copyright assigned and is placed in the Public Domain.
 | 
|---|
| 3 |  * This file is part of the mingw-w64 runtime package.
 | 
|---|
| 4 |  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 | 
|---|
| 5 |  */
 | 
|---|
| 6 | #ifndef _INC_CERTENROLL
 | 
|---|
| 7 | #define _INC_CERTENROLL
 | 
|---|
| 8 | 
 | 
|---|
| 9 | #if (_WIN32_WINNT >= 0x0600)
 | 
|---|
| 10 | #ifdef __cplusplus
 | 
|---|
| 11 | extern "C" {
 | 
|---|
| 12 | #endif
 | 
|---|
| 13 | 
 | 
|---|
| 14 |   typedef enum AlgorithmFlags {
 | 
|---|
| 15 |     AlgorithmFlagsNone   = 0x00000000,
 | 
|---|
| 16 |     AlgorithmFlagsWrap   = 0x00000001 
 | 
|---|
| 17 |   } AlgorithmFlags;
 | 
|---|
| 18 | 
 | 
|---|
| 19 |   typedef enum AlgorithmOperationFlags {
 | 
|---|
| 20 |     XCN_NCRYPT_NO_OPERATION                      = 0,
 | 
|---|
| 21 |     XCN_NCRYPT_CIPHER_OPERATION                  = 0x1,
 | 
|---|
| 22 |     XCN_NCRYPT_HASH_OPERATION                    = 0x2,
 | 
|---|
| 23 |     XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION   = 0x4,
 | 
|---|
| 24 |     XCN_NCRYPT_SECRET_AGREEMENT_OPERATION        = 0x8,
 | 
|---|
| 25 |     XCN_NCRYPT_SIGNATURE_OPERATION               = 0x10,
 | 
|---|
| 26 |     XCN_NCRYPT_RNG_OPERATION                     = 0x20,
 | 
|---|
| 27 |     XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION          = ( ( 0x4 | 0x8 )  | 0x10 ),
 | 
|---|
| 28 |     XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION   = 0x00200000,
 | 
|---|
| 29 |     XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION    = 0x00400000,
 | 
|---|
| 30 |     XCN_NCRYPT_EXACT_MATCH_OPERATION             = 0x00800000,
 | 
|---|
| 31 |     XCN_NCRYPT_PREFERENCE_MASK_OPERATION         = 0x00e00000 
 | 
|---|
| 32 |   } AlgorithmOperationFlags;
 | 
|---|
| 33 | 
 | 
|---|
| 34 |   typedef enum AlgorithmType {
 | 
|---|
| 35 |     XCN_BCRYPT_UNKNOWN_INTERFACE                 = 0,
 | 
|---|
| 36 |     XCN_BCRYPT_SIGNATURE_INTERFACE               = 0x5,
 | 
|---|
| 37 |     XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE   = 0x3,
 | 
|---|
| 38 |     XCN_BCRYPT_CIPHER_INTERFACE                  = 0x1,
 | 
|---|
| 39 |     XCN_BCRYPT_HASH_INTERFACE                    = 0x2,
 | 
|---|
| 40 |     XCN_BCRYPT_SECRET_AGREEMENT_INTERFACE        = 0x4,
 | 
|---|
| 41 |     XCN_BCRYPT_RNG_INTERFACE                     = 0x6 
 | 
|---|
| 42 |   } AlgorithmType;
 | 
|---|
| 43 | 
 | 
|---|
| 44 |   typedef enum AlternativeNameType {
 | 
|---|
| 45 |     XCN_CERT_ALT_NAME_UNKNOWN               = 0,
 | 
|---|
| 46 |     XCN_CERT_ALT_NAME_OTHER_NAME            = 1,
 | 
|---|
| 47 |     XCN_CERT_ALT_NAME_RFC822_NAME           = 2,
 | 
|---|
| 48 |     XCN_CERT_ALT_NAME_DNS_NAME              = 3,
 | 
|---|
| 49 |     XCN_CERT_ALT_NAME_DIRECTORY_NAME        = 5,
 | 
|---|
| 50 |     XCN_CERT_ALT_NAME_URL                   = 7,
 | 
|---|
| 51 |     XCN_CERT_ALT_NAME_IP_ADDRESS            = 8,
 | 
|---|
| 52 |     XCN_CERT_ALT_NAME_REGISTERED_ID         = 9,
 | 
|---|
| 53 |     XCN_CERT_ALT_NAME_GUID                  = 10,
 | 
|---|
| 54 |     XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME   = 11 
 | 
|---|
| 55 |   } AlternativeNameType;
 | 
|---|
| 56 | 
 | 
|---|
| 57 |   typedef enum CERTENROLL_PROPERTYID {
 | 
|---|
| 58 |     XCN_PROPERTYID_NONE                              = 0,
 | 
|---|
| 59 |     XCN_CERT_KEY_PROV_HANDLE_PROP_ID                 = 1,
 | 
|---|
| 60 |     XCN_CERT_KEY_PROV_INFO_PROP_ID                   = 2,
 | 
|---|
| 61 |     XCN_CERT_SHA1_HASH_PROP_ID                       = 3,
 | 
|---|
| 62 |     XCN_CERT_MD5_HASH_PROP_ID                        = 4,
 | 
|---|
| 63 |     XCN_CERT_HASH_PROP_ID                            = 3,
 | 
|---|
| 64 |     XCN_CERT_KEY_CONTEXT_PROP_ID                     = 5,
 | 
|---|
| 65 |     XCN_CERT_KEY_SPEC_PROP_ID                        = 6,
 | 
|---|
| 66 |     XCN_CERT_IE30_RESERVED_PROP_ID                   = 7,
 | 
|---|
| 67 |     XCN_CERT_PUBKEY_HASH_RESERVED_PROP_ID            = 8,
 | 
|---|
| 68 |     XCN_CERT_ENHKEY_USAGE_PROP_ID                    = 9,
 | 
|---|
| 69 |     XCN_CERT_CTL_USAGE_PROP_ID                       = 9,
 | 
|---|
| 70 |     XCN_CERT_NEXT_UPDATE_LOCATION_PROP_ID            = 10,
 | 
|---|
| 71 |     XCN_CERT_FRIENDLY_NAME_PROP_ID                   = 11,
 | 
|---|
| 72 |     XCN_CERT_PVK_FILE_PROP_ID                        = 12,
 | 
|---|
| 73 |     XCN_CERT_DESCRIPTION_PROP_ID                     = 13,
 | 
|---|
| 74 |     XCN_CERT_ACCESS_STATE_PROP_ID                    = 14,
 | 
|---|
| 75 |     XCN_CERT_SIGNATURE_HASH_PROP_ID                  = 15,
 | 
|---|
| 76 |     XCN_CERT_SMART_CARD_DATA_PROP_ID                 = 16,
 | 
|---|
| 77 |     XCN_CERT_EFS_PROP_ID                             = 17,
 | 
|---|
| 78 |     XCN_CERT_FORTEZZA_DATA_PROP_ID                   = 18,
 | 
|---|
| 79 |     XCN_CERT_ARCHIVED_PROP_ID                        = 19,
 | 
|---|
| 80 |     XCN_CERT_KEY_IDENTIFIER_PROP_ID                  = 20,
 | 
|---|
| 81 |     XCN_CERT_AUTO_ENROLL_PROP_ID                     = 21,
 | 
|---|
| 82 |     XCN_CERT_PUBKEY_ALG_PARA_PROP_ID                 = 22,
 | 
|---|
| 83 |     XCN_CERT_CROSS_CERT_DIST_POINTS_PROP_ID          = 23,
 | 
|---|
| 84 |     XCN_CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID      = 24,
 | 
|---|
| 85 |     XCN_CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID     = 25,
 | 
|---|
| 86 |     XCN_CERT_ENROLLMENT_PROP_ID                      = 26,
 | 
|---|
| 87 |     XCN_CERT_DATE_STAMP_PROP_ID                      = 27,
 | 
|---|
| 88 |     XCN_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID   = 28,
 | 
|---|
| 89 |     XCN_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID           = 29,
 | 
|---|
| 90 |     XCN_CERT_EXTENDED_ERROR_INFO_PROP_ID             = 30,
 | 
|---|
| 91 |     XCN_CERT_RENEWAL_PROP_ID                         = 64,
 | 
|---|
| 92 |     XCN_CERT_ARCHIVED_KEY_HASH_PROP_ID               = 65,
 | 
|---|
| 93 |     XCN_CERT_AUTO_ENROLL_RETRY_PROP_ID               = 66,
 | 
|---|
| 94 |     XCN_CERT_AIA_URL_RETRIEVED_PROP_ID               = 67,
 | 
|---|
| 95 |     XCN_CERT_AUTHORITY_INFO_ACCESS_PROP_ID           = 68,
 | 
|---|
| 96 |     XCN_CERT_BACKED_UP_PROP_ID                       = 69,
 | 
|---|
| 97 |     XCN_CERT_OCSP_RESPONSE_PROP_ID                   = 70,
 | 
|---|
| 98 |     XCN_CERT_REQUEST_ORIGINATOR_PROP_ID              = 71,
 | 
|---|
| 99 |     XCN_CERT_SOURCE_LOCATION_PROP_ID                 = 72,
 | 
|---|
| 100 |     XCN_CERT_SOURCE_URL_PROP_ID                      = 73,
 | 
|---|
| 101 |     XCN_CERT_NEW_KEY_PROP_ID                         = 74,
 | 
|---|
| 102 |     XCN_CERT_FIRST_RESERVED_PROP_ID                  = 87,
 | 
|---|
| 103 |     XCN_CERT_LAST_RESERVED_PROP_ID                   = 0x7fff,
 | 
|---|
| 104 |     XCN_CERT_FIRST_USER_PROP_ID                      = 0x8000,
 | 
|---|
| 105 |     XCN_CERT_LAST_USER_PROP_ID                       = 0xffff,
 | 
|---|
| 106 |     XCN_CERT_STORE_LOCALIZED_NAME_PROP_ID            = 0x1000,
 | 
|---|
| 107 |     XCN_CERT_CEP_PROP_ID                             = 87 
 | 
|---|
| 108 |   } CERTENROLL_PROPERTYID;
 | 
|---|
| 109 | 
 | 
|---|
| 110 |   typedef enum CERTENROLL_OBJECTID {
 | 
|---|
| 111 |     XCN_OID_NONE                                         = 0,
 | 
|---|
| 112 |     XCN_OID_RSA                                          = 1,
 | 
|---|
| 113 |     XCN_OID_PKCS                                         = 2,
 | 
|---|
| 114 |     XCN_OID_RSA_HASH                                     = 3,
 | 
|---|
| 115 |     XCN_OID_RSA_ENCRYPT                                  = 4,
 | 
|---|
| 116 |     XCN_OID_PKCS_1                                       = 5,
 | 
|---|
| 117 |     XCN_OID_PKCS_2                                       = 6,
 | 
|---|
| 118 |     XCN_OID_PKCS_3                                       = 7,
 | 
|---|
| 119 |     XCN_OID_PKCS_4                                       = 8,
 | 
|---|
| 120 |     XCN_OID_PKCS_5                                       = 9,
 | 
|---|
| 121 |     XCN_OID_PKCS_6                                       = 10,
 | 
|---|
| 122 |     XCN_OID_PKCS_7                                       = 11,
 | 
|---|
| 123 |     XCN_OID_PKCS_8                                       = 12,
 | 
|---|
| 124 |     XCN_OID_PKCS_9                                       = 13,
 | 
|---|
| 125 |     XCN_OID_PKCS_10                                      = 14,
 | 
|---|
| 126 |     XCN_OID_PKCS_12                                      = 15,
 | 
|---|
| 127 |     XCN_OID_RSA_RSA                                      = 16,
 | 
|---|
| 128 |     XCN_OID_RSA_MD2RSA                                   = 17,
 | 
|---|
| 129 |     XCN_OID_RSA_MD4RSA                                   = 18,
 | 
|---|
| 130 |     XCN_OID_RSA_MD5RSA                                   = 19,
 | 
|---|
| 131 |     XCN_OID_RSA_SHA1RSA                                  = 20,
 | 
|---|
| 132 |     XCN_OID_RSA_SETOAEP_RSA                              = 21,
 | 
|---|
| 133 |     XCN_OID_RSA_DH                                       = 22,
 | 
|---|
| 134 |     XCN_OID_RSA_data                                     = 23,
 | 
|---|
| 135 |     XCN_OID_RSA_signedData                               = 24,
 | 
|---|
| 136 |     XCN_OID_RSA_envelopedData                            = 25,
 | 
|---|
| 137 |     XCN_OID_RSA_signEnvData                              = 26,
 | 
|---|
| 138 |     XCN_OID_RSA_digestedData                             = 27,
 | 
|---|
| 139 |     XCN_OID_RSA_hashedData                               = 28,
 | 
|---|
| 140 |     XCN_OID_RSA_encryptedData                            = 29,
 | 
|---|
| 141 |     XCN_OID_RSA_emailAddr                                = 30,
 | 
|---|
| 142 |     XCN_OID_RSA_unstructName                             = 31,
 | 
|---|
| 143 |     XCN_OID_RSA_contentType                              = 32,
 | 
|---|
| 144 |     XCN_OID_RSA_messageDigest                            = 33,
 | 
|---|
| 145 |     XCN_OID_RSA_signingTime                              = 34,
 | 
|---|
| 146 |     XCN_OID_RSA_counterSign                              = 35,
 | 
|---|
| 147 |     XCN_OID_RSA_challengePwd                             = 36,
 | 
|---|
| 148 |     XCN_OID_RSA_unstructAddr                             = 37,
 | 
|---|
| 149 |     XCN_OID_RSA_extCertAttrs                             = 38,
 | 
|---|
| 150 |     XCN_OID_RSA_certExtensions                           = 39,
 | 
|---|
| 151 |     XCN_OID_RSA_SMIMECapabilities                        = 40,
 | 
|---|
| 152 |     XCN_OID_RSA_preferSignedData                         = 41,
 | 
|---|
| 153 |     XCN_OID_RSA_SMIMEalg                                 = 42,
 | 
|---|
| 154 |     XCN_OID_RSA_SMIMEalgESDH                             = 43,
 | 
|---|
| 155 |     XCN_OID_RSA_SMIMEalgCMS3DESwrap                      = 44,
 | 
|---|
| 156 |     XCN_OID_RSA_SMIMEalgCMSRC2wrap                       = 45,
 | 
|---|
| 157 |     XCN_OID_RSA_MD2                                      = 46,
 | 
|---|
| 158 |     XCN_OID_RSA_MD4                                      = 47,
 | 
|---|
| 159 |     XCN_OID_RSA_MD5                                      = 48,
 | 
|---|
| 160 |     XCN_OID_RSA_RC2CBC                                   = 49,
 | 
|---|
| 161 |     XCN_OID_RSA_RC4                                      = 50,
 | 
|---|
| 162 |     XCN_OID_RSA_DES_EDE3_CBC                             = 51,
 | 
|---|
| 163 |     XCN_OID_RSA_RC5_CBCPad                               = 52,
 | 
|---|
| 164 |     XCN_OID_ANSI_X942                                    = 53,
 | 
|---|
| 165 |     XCN_OID_ANSI_X942_DH                                 = 54,
 | 
|---|
| 166 |     XCN_OID_X957                                         = 55,
 | 
|---|
| 167 |     XCN_OID_X957_DSA                                     = 56,
 | 
|---|
| 168 |     XCN_OID_X957_SHA1DSA                                 = 57,
 | 
|---|
| 169 |     XCN_OID_DS                                           = 58,
 | 
|---|
| 170 |     XCN_OID_DSALG                                        = 59,
 | 
|---|
| 171 |     XCN_OID_DSALG_CRPT                                   = 60,
 | 
|---|
| 172 |     XCN_OID_DSALG_HASH                                   = 61,
 | 
|---|
| 173 |     XCN_OID_DSALG_SIGN                                   = 62,
 | 
|---|
| 174 |     XCN_OID_DSALG_RSA                                    = 63,
 | 
|---|
| 175 |     XCN_OID_OIW                                          = 64,
 | 
|---|
| 176 |     XCN_OID_OIWSEC                                       = 65,
 | 
|---|
| 177 |     XCN_OID_OIWSEC_md4RSA                                = 66,
 | 
|---|
| 178 |     XCN_OID_OIWSEC_md5RSA                                = 67,
 | 
|---|
| 179 |     XCN_OID_OIWSEC_md4RSA2                               = 68,
 | 
|---|
| 180 |     XCN_OID_OIWSEC_desECB                                = 69,
 | 
|---|
| 181 |     XCN_OID_OIWSEC_desCBC                                = 70,
 | 
|---|
| 182 |     XCN_OID_OIWSEC_desOFB                                = 71,
 | 
|---|
| 183 |     XCN_OID_OIWSEC_desCFB                                = 72,
 | 
|---|
| 184 |     XCN_OID_OIWSEC_desMAC                                = 73,
 | 
|---|
| 185 |     XCN_OID_OIWSEC_rsaSign                               = 74,
 | 
|---|
| 186 |     XCN_OID_OIWSEC_dsa                                   = 75,
 | 
|---|
| 187 |     XCN_OID_OIWSEC_shaDSA                                = 76,
 | 
|---|
| 188 |     XCN_OID_OIWSEC_mdc2RSA                               = 77,
 | 
|---|
| 189 |     XCN_OID_OIWSEC_shaRSA                                = 78,
 | 
|---|
| 190 |     XCN_OID_OIWSEC_dhCommMod                             = 79,
 | 
|---|
| 191 |     XCN_OID_OIWSEC_desEDE                                = 80,
 | 
|---|
| 192 |     XCN_OID_OIWSEC_sha                                   = 81,
 | 
|---|
| 193 |     XCN_OID_OIWSEC_mdc2                                  = 82,
 | 
|---|
| 194 |     XCN_OID_OIWSEC_dsaComm                               = 83,
 | 
|---|
| 195 |     XCN_OID_OIWSEC_dsaCommSHA                            = 84,
 | 
|---|
| 196 |     XCN_OID_OIWSEC_rsaXchg                               = 85,
 | 
|---|
| 197 |     XCN_OID_OIWSEC_keyHashSeal                           = 86,
 | 
|---|
| 198 |     XCN_OID_OIWSEC_md2RSASign                            = 87,
 | 
|---|
| 199 |     XCN_OID_OIWSEC_md5RSASign                            = 88,
 | 
|---|
| 200 |     XCN_OID_OIWSEC_sha1                                  = 89,
 | 
|---|
| 201 |     XCN_OID_OIWSEC_dsaSHA1                               = 90,
 | 
|---|
| 202 |     XCN_OID_OIWSEC_dsaCommSHA1                           = 91,
 | 
|---|
| 203 |     XCN_OID_OIWSEC_sha1RSASign                           = 92,
 | 
|---|
| 204 |     XCN_OID_OIWDIR                                       = 93,
 | 
|---|
| 205 |     XCN_OID_OIWDIR_CRPT                                  = 94,
 | 
|---|
| 206 |     XCN_OID_OIWDIR_HASH                                  = 95,
 | 
|---|
| 207 |     XCN_OID_OIWDIR_SIGN                                  = 96,
 | 
|---|
| 208 |     XCN_OID_OIWDIR_md2                                   = 97,
 | 
|---|
| 209 |     XCN_OID_OIWDIR_md2RSA                                = 98,
 | 
|---|
| 210 |     XCN_OID_INFOSEC                                      = 99,
 | 
|---|
| 211 |     XCN_OID_INFOSEC_sdnsSignature                        = 100,
 | 
|---|
| 212 |     XCN_OID_INFOSEC_mosaicSignature                      = 101,
 | 
|---|
| 213 |     XCN_OID_INFOSEC_sdnsConfidentiality                  = 102,
 | 
|---|
| 214 |     XCN_OID_INFOSEC_mosaicConfidentiality                = 103,
 | 
|---|
| 215 |     XCN_OID_INFOSEC_sdnsIntegrity                        = 104,
 | 
|---|
| 216 |     XCN_OID_INFOSEC_mosaicIntegrity                      = 105,
 | 
|---|
| 217 |     XCN_OID_INFOSEC_sdnsTokenProtection                  = 106,
 | 
|---|
| 218 |     XCN_OID_INFOSEC_mosaicTokenProtection                = 107,
 | 
|---|
| 219 |     XCN_OID_INFOSEC_sdnsKeyManagement                    = 108,
 | 
|---|
| 220 |     XCN_OID_INFOSEC_mosaicKeyManagement                  = 109,
 | 
|---|
| 221 |     XCN_OID_INFOSEC_sdnsKMandSig                         = 110,
 | 
|---|
| 222 |     XCN_OID_INFOSEC_mosaicKMandSig                       = 111,
 | 
|---|
| 223 |     XCN_OID_INFOSEC_SuiteASignature                      = 112,
 | 
|---|
| 224 |     XCN_OID_INFOSEC_SuiteAConfidentiality                = 113,
 | 
|---|
| 225 |     XCN_OID_INFOSEC_SuiteAIntegrity                      = 114,
 | 
|---|
| 226 |     XCN_OID_INFOSEC_SuiteATokenProtection                = 115,
 | 
|---|
| 227 |     XCN_OID_INFOSEC_SuiteAKeyManagement                  = 116,
 | 
|---|
| 228 |     XCN_OID_INFOSEC_SuiteAKMandSig                       = 117,
 | 
|---|
| 229 |     XCN_OID_INFOSEC_mosaicUpdatedSig                     = 118,
 | 
|---|
| 230 |     XCN_OID_INFOSEC_mosaicKMandUpdSig                    = 119,
 | 
|---|
| 231 |     XCN_OID_INFOSEC_mosaicUpdatedInteg                   = 120,
 | 
|---|
| 232 |     XCN_OID_COMMON_NAME                                  = 121,
 | 
|---|
| 233 |     XCN_OID_SUR_NAME                                     = 122,
 | 
|---|
| 234 |     XCN_OID_DEVICE_SERIAL_NUMBER                         = 123,
 | 
|---|
| 235 |     XCN_OID_COUNTRY_NAME                                 = 124,
 | 
|---|
| 236 |     XCN_OID_LOCALITY_NAME                                = 125,
 | 
|---|
| 237 |     XCN_OID_STATE_OR_PROVINCE_NAME                       = 126,
 | 
|---|
| 238 |     XCN_OID_STREET_ADDRESS                               = 127,
 | 
|---|
| 239 |     XCN_OID_ORGANIZATION_NAME                            = 128,
 | 
|---|
| 240 |     XCN_OID_ORGANIZATIONAL_UNIT_NAME                     = 129,
 | 
|---|
| 241 |     XCN_OID_TITLE                                        = 130,
 | 
|---|
| 242 |     XCN_OID_DESCRIPTION                                  = 131,
 | 
|---|
| 243 |     XCN_OID_SEARCH_GUIDE                                 = 132,
 | 
|---|
| 244 |     XCN_OID_BUSINESS_CATEGORY                            = 133,
 | 
|---|
| 245 |     XCN_OID_POSTAL_ADDRESS                               = 134,
 | 
|---|
| 246 |     XCN_OID_POSTAL_CODE                                  = 135,
 | 
|---|
| 247 |     XCN_OID_POST_OFFICE_BOX                              = 136,
 | 
|---|
| 248 |     XCN_OID_PHYSICAL_DELIVERY_OFFICE_NAME                = 137,
 | 
|---|
| 249 |     XCN_OID_TELEPHONE_NUMBER                             = 138,
 | 
|---|
| 250 |     XCN_OID_TELEX_NUMBER                                 = 139,
 | 
|---|
| 251 |     XCN_OID_TELETEXT_TERMINAL_IDENTIFIER                 = 140,
 | 
|---|
| 252 |     XCN_OID_FACSIMILE_TELEPHONE_NUMBER                   = 141,
 | 
|---|
| 253 |     XCN_OID_X21_ADDRESS                                  = 142,
 | 
|---|
| 254 |     XCN_OID_INTERNATIONAL_ISDN_NUMBER                    = 143,
 | 
|---|
| 255 |     XCN_OID_REGISTERED_ADDRESS                           = 144,
 | 
|---|
| 256 |     XCN_OID_DESTINATION_INDICATOR                        = 145,
 | 
|---|
| 257 |     XCN_OID_PREFERRED_DELIVERY_METHOD                    = 146,
 | 
|---|
| 258 |     XCN_OID_PRESENTATION_ADDRESS                         = 147,
 | 
|---|
| 259 |     XCN_OID_SUPPORTED_APPLICATION_CONTEXT                = 148,
 | 
|---|
| 260 |     XCN_OID_MEMBER                                       = 149,
 | 
|---|
| 261 |     XCN_OID_OWNER                                        = 150,
 | 
|---|
| 262 |     XCN_OID_ROLE_OCCUPANT                                = 151,
 | 
|---|
| 263 |     XCN_OID_SEE_ALSO                                     = 152,
 | 
|---|
| 264 |     XCN_OID_USER_PASSWORD                                = 153,
 | 
|---|
| 265 |     XCN_OID_USER_CERTIFICATE                             = 154,
 | 
|---|
| 266 |     XCN_OID_CA_CERTIFICATE                               = 155,
 | 
|---|
| 267 |     XCN_OID_AUTHORITY_REVOCATION_LIST                    = 156,
 | 
|---|
| 268 |     XCN_OID_CERTIFICATE_REVOCATION_LIST                  = 157,
 | 
|---|
| 269 |     XCN_OID_CROSS_CERTIFICATE_PAIR                       = 158,
 | 
|---|
| 270 |     XCN_OID_GIVEN_NAME                                   = 159,
 | 
|---|
| 271 |     XCN_OID_INITIALS                                     = 160,
 | 
|---|
| 272 |     XCN_OID_DN_QUALIFIER                                 = 161,
 | 
|---|
| 273 |     XCN_OID_DOMAIN_COMPONENT                             = 162,
 | 
|---|
| 274 |     XCN_OID_PKCS_12_FRIENDLY_NAME_ATTR                   = 163,
 | 
|---|
| 275 |     XCN_OID_PKCS_12_LOCAL_KEY_ID                         = 164,
 | 
|---|
| 276 |     XCN_OID_PKCS_12_KEY_PROVIDER_NAME_ATTR               = 165,
 | 
|---|
| 277 |     XCN_OID_LOCAL_MACHINE_KEYSET                         = 166,
 | 
|---|
| 278 |     XCN_OID_PKCS_12_EXTENDED_ATTRIBUTES                  = 167,
 | 
|---|
| 279 |     XCN_OID_KEYID_RDN                                    = 168,
 | 
|---|
| 280 |     XCN_OID_AUTHORITY_KEY_IDENTIFIER                     = 169,
 | 
|---|
| 281 |     XCN_OID_KEY_ATTRIBUTES                               = 170,
 | 
|---|
| 282 |     XCN_OID_CERT_POLICIES_95                             = 171,
 | 
|---|
| 283 |     XCN_OID_KEY_USAGE_RESTRICTION                        = 172,
 | 
|---|
| 284 |     XCN_OID_SUBJECT_ALT_NAME                             = 173,
 | 
|---|
| 285 |     XCN_OID_ISSUER_ALT_NAME                              = 174,
 | 
|---|
| 286 |     XCN_OID_BASIC_CONSTRAINTS                            = 175,
 | 
|---|
| 287 |     XCN_OID_KEY_USAGE                                    = 176,
 | 
|---|
| 288 |     XCN_OID_PRIVATEKEY_USAGE_PERIOD                      = 177,
 | 
|---|
| 289 |     XCN_OID_BASIC_CONSTRAINTS2                           = 178,
 | 
|---|
| 290 |     XCN_OID_CERT_POLICIES                                = 179,
 | 
|---|
| 291 |     XCN_OID_ANY_CERT_POLICY                              = 180,
 | 
|---|
| 292 |     XCN_OID_AUTHORITY_KEY_IDENTIFIER2                    = 181,
 | 
|---|
| 293 |     XCN_OID_SUBJECT_KEY_IDENTIFIER                       = 182,
 | 
|---|
| 294 |     XCN_OID_SUBJECT_ALT_NAME2                            = 183,
 | 
|---|
| 295 |     XCN_OID_ISSUER_ALT_NAME2                             = 184,
 | 
|---|
| 296 |     XCN_OID_CRL_REASON_CODE                              = 185,
 | 
|---|
| 297 |     XCN_OID_REASON_CODE_HOLD                             = 186,
 | 
|---|
| 298 |     XCN_OID_CRL_DIST_POINTS                              = 187,
 | 
|---|
| 299 |     XCN_OID_ENHANCED_KEY_USAGE                           = 188,
 | 
|---|
| 300 |     XCN_OID_CRL_NUMBER                                   = 189,
 | 
|---|
| 301 |     XCN_OID_DELTA_CRL_INDICATOR                          = 190,
 | 
|---|
| 302 |     XCN_OID_ISSUING_DIST_POINT                           = 191,
 | 
|---|
| 303 |     XCN_OID_FRESHEST_CRL                                 = 192,
 | 
|---|
| 304 |     XCN_OID_NAME_CONSTRAINTS                             = 193,
 | 
|---|
| 305 |     XCN_OID_POLICY_MAPPINGS                              = 194,
 | 
|---|
| 306 |     XCN_OID_LEGACY_POLICY_MAPPINGS                       = 195,
 | 
|---|
| 307 |     XCN_OID_POLICY_CONSTRAINTS                           = 196,
 | 
|---|
| 308 |     XCN_OID_RENEWAL_CERTIFICATE                          = 197,
 | 
|---|
| 309 |     XCN_OID_ENROLLMENT_NAME_VALUE_PAIR                   = 198,
 | 
|---|
| 310 |     XCN_OID_ENROLLMENT_CSP_PROVIDER                      = 199,
 | 
|---|
| 311 |     XCN_OID_OS_VERSION                                   = 200,
 | 
|---|
| 312 |     XCN_OID_ENROLLMENT_AGENT                             = 201,
 | 
|---|
| 313 |     XCN_OID_PKIX                                         = 202,
 | 
|---|
| 314 |     XCN_OID_PKIX_PE                                      = 203,
 | 
|---|
| 315 |     XCN_OID_AUTHORITY_INFO_ACCESS                        = 204,
 | 
|---|
| 316 |     XCN_OID_BIOMETRIC_EXT                                = 205,
 | 
|---|
| 317 |     XCN_OID_LOGOTYPE_EXT                                 = 206,
 | 
|---|
| 318 |     XCN_OID_CERT_EXTENSIONS                              = 207,
 | 
|---|
| 319 |     XCN_OID_NEXT_UPDATE_LOCATION                         = 208,
 | 
|---|
| 320 |     XCN_OID_REMOVE_CERTIFICATE                           = 209,
 | 
|---|
| 321 |     XCN_OID_CROSS_CERT_DIST_POINTS                       = 210,
 | 
|---|
| 322 |     XCN_OID_CTL                                          = 211,
 | 
|---|
| 323 |     XCN_OID_SORTED_CTL                                   = 212,
 | 
|---|
| 324 |     XCN_OID_SERIALIZED                                   = 213,
 | 
|---|
| 325 |     XCN_OID_NT_PRINCIPAL_NAME                            = 214,
 | 
|---|
| 326 |     XCN_OID_PRODUCT_UPDATE                               = 215,
 | 
|---|
| 327 |     XCN_OID_ANY_APPLICATION_POLICY                       = 216,
 | 
|---|
| 328 |     XCN_OID_AUTO_ENROLL_CTL_USAGE                        = 217,
 | 
|---|
| 329 |     XCN_OID_ENROLL_CERTTYPE_EXTENSION                    = 218,
 | 
|---|
| 330 |     XCN_OID_CERT_MANIFOLD                                = 219,
 | 
|---|
| 331 |     XCN_OID_CERTSRV_CA_VERSION                           = 220,
 | 
|---|
| 332 |     XCN_OID_CERTSRV_PREVIOUS_CERT_HASH                   = 221,
 | 
|---|
| 333 |     XCN_OID_CRL_VIRTUAL_BASE                             = 222,
 | 
|---|
| 334 |     XCN_OID_CRL_NEXT_PUBLISH                             = 223,
 | 
|---|
| 335 |     XCN_OID_KP_CA_EXCHANGE                               = 224,
 | 
|---|
| 336 |     XCN_OID_KP_KEY_RECOVERY_AGENT                        = 225,
 | 
|---|
| 337 |     XCN_OID_CERTIFICATE_TEMPLATE                         = 226,
 | 
|---|
| 338 |     XCN_OID_ENTERPRISE_OID_ROOT                          = 227,
 | 
|---|
| 339 |     XCN_OID_RDN_DUMMY_SIGNER                             = 228,
 | 
|---|
| 340 |     XCN_OID_APPLICATION_CERT_POLICIES                    = 229,
 | 
|---|
| 341 |     XCN_OID_APPLICATION_POLICY_MAPPINGS                  = 230,
 | 
|---|
| 342 |     XCN_OID_APPLICATION_POLICY_CONSTRAINTS               = 231,
 | 
|---|
| 343 |     XCN_OID_ARCHIVED_KEY_ATTR                            = 232,
 | 
|---|
| 344 |     XCN_OID_CRL_SELF_CDP                                 = 233,
 | 
|---|
| 345 |     XCN_OID_REQUIRE_CERT_CHAIN_POLICY                    = 234,
 | 
|---|
| 346 |     XCN_OID_ARCHIVED_KEY_CERT_HASH                       = 235,
 | 
|---|
| 347 |     XCN_OID_ISSUED_CERT_HASH                             = 236,
 | 
|---|
| 348 |     XCN_OID_DS_EMAIL_REPLICATION                         = 237,
 | 
|---|
| 349 |     XCN_OID_REQUEST_CLIENT_INFO                          = 238,
 | 
|---|
| 350 |     XCN_OID_ENCRYPTED_KEY_HASH                           = 239,
 | 
|---|
| 351 |     XCN_OID_CERTSRV_CROSSCA_VERSION                      = 240,
 | 
|---|
| 352 |     XCN_OID_NTDS_REPLICATION                             = 241,
 | 
|---|
| 353 |     XCN_OID_SUBJECT_DIR_ATTRS                            = 242,
 | 
|---|
| 354 |     XCN_OID_PKIX_KP                                      = 243,
 | 
|---|
| 355 |     XCN_OID_PKIX_KP_SERVER_AUTH                          = 244,
 | 
|---|
| 356 |     XCN_OID_PKIX_KP_CLIENT_AUTH                          = 245,
 | 
|---|
| 357 |     XCN_OID_PKIX_KP_CODE_SIGNING                         = 246,
 | 
|---|
| 358 |     XCN_OID_PKIX_KP_EMAIL_PROTECTION                     = 247,
 | 
|---|
| 359 |     XCN_OID_PKIX_KP_IPSEC_END_SYSTEM                     = 248,
 | 
|---|
| 360 |     XCN_OID_PKIX_KP_IPSEC_TUNNEL                         = 249,
 | 
|---|
| 361 |     XCN_OID_PKIX_KP_IPSEC_USER                           = 250,
 | 
|---|
| 362 |     XCN_OID_PKIX_KP_TIMESTAMP_SIGNING                    = 251,
 | 
|---|
| 363 |     XCN_OID_PKIX_KP_OCSP_SIGNING                         = 252,
 | 
|---|
| 364 |     XCN_OID_PKIX_OCSP_NOCHECK                            = 253,
 | 
|---|
| 365 |     XCN_OID_IPSEC_KP_IKE_INTERMEDIATE                    = 254,
 | 
|---|
| 366 |     XCN_OID_KP_CTL_USAGE_SIGNING                         = 255,
 | 
|---|
| 367 |     XCN_OID_KP_TIME_STAMP_SIGNING                        = 256,
 | 
|---|
| 368 |     XCN_OID_SERVER_GATED_CRYPTO                          = 257,
 | 
|---|
| 369 |     XCN_OID_SGC_NETSCAPE                                 = 258,
 | 
|---|
| 370 |     XCN_OID_KP_EFS                                       = 259,
 | 
|---|
| 371 |     XCN_OID_EFS_RECOVERY                                 = 260,
 | 
|---|
| 372 |     XCN_OID_WHQL_CRYPTO                                  = 261,
 | 
|---|
| 373 |     XCN_OID_NT5_CRYPTO                                   = 262,
 | 
|---|
| 374 |     XCN_OID_OEM_WHQL_CRYPTO                              = 263,
 | 
|---|
| 375 |     XCN_OID_EMBEDDED_NT_CRYPTO                           = 264,
 | 
|---|
| 376 |     XCN_OID_ROOT_LIST_SIGNER                             = 265,
 | 
|---|
| 377 |     XCN_OID_KP_QUALIFIED_SUBORDINATION                   = 266,
 | 
|---|
| 378 |     XCN_OID_KP_KEY_RECOVERY                              = 267,
 | 
|---|
| 379 |     XCN_OID_KP_DOCUMENT_SIGNING                          = 268,
 | 
|---|
| 380 |     XCN_OID_KP_LIFETIME_SIGNING                          = 269,
 | 
|---|
| 381 |     XCN_OID_KP_MOBILE_DEVICE_SOFTWARE                    = 270,
 | 
|---|
| 382 |     XCN_OID_KP_SMART_DISPLAY                             = 271,
 | 
|---|
| 383 |     XCN_OID_KP_CSP_SIGNATURE                             = 272,
 | 
|---|
| 384 |     XCN_OID_DRM                                          = 273,
 | 
|---|
| 385 |     XCN_OID_DRM_INDIVIDUALIZATION                        = 274,
 | 
|---|
| 386 |     XCN_OID_LICENSES                                     = 275,
 | 
|---|
| 387 |     XCN_OID_LICENSE_SERVER                               = 276,
 | 
|---|
| 388 |     XCN_OID_KP_SMARTCARD_LOGON                           = 277,
 | 
|---|
| 389 |     XCN_OID_YESNO_TRUST_ATTR                             = 278,
 | 
|---|
| 390 |     XCN_OID_PKIX_POLICY_QUALIFIER_CPS                    = 279,
 | 
|---|
| 391 |     XCN_OID_PKIX_POLICY_QUALIFIER_USERNOTICE             = 280,
 | 
|---|
| 392 |     XCN_OID_CERT_POLICIES_95_QUALIFIER1                  = 281,
 | 
|---|
| 393 |     XCN_OID_PKIX_ACC_DESCR                               = 282,
 | 
|---|
| 394 |     XCN_OID_PKIX_OCSP                                    = 283,
 | 
|---|
| 395 |     XCN_OID_PKIX_CA_ISSUERS                              = 284,
 | 
|---|
| 396 |     XCN_OID_VERISIGN_PRIVATE_6_9                         = 285,
 | 
|---|
| 397 |     XCN_OID_VERISIGN_ONSITE_JURISDICTION_HASH            = 286,
 | 
|---|
| 398 |     XCN_OID_VERISIGN_BITSTRING_6_13                      = 287,
 | 
|---|
| 399 |     XCN_OID_VERISIGN_ISS_STRONG_CRYPTO                   = 288,
 | 
|---|
| 400 |     XCN_OID_NETSCAPE                                     = 289,
 | 
|---|
| 401 |     XCN_OID_NETSCAPE_CERT_EXTENSION                      = 290,
 | 
|---|
| 402 |     XCN_OID_NETSCAPE_CERT_TYPE                           = 291,
 | 
|---|
| 403 |     XCN_OID_NETSCAPE_BASE_URL                            = 292,
 | 
|---|
| 404 |     XCN_OID_NETSCAPE_REVOCATION_URL                      = 293,
 | 
|---|
| 405 |     XCN_OID_NETSCAPE_CA_REVOCATION_URL                   = 294,
 | 
|---|
| 406 |     XCN_OID_NETSCAPE_CERT_RENEWAL_URL                    = 295,
 | 
|---|
| 407 |     XCN_OID_NETSCAPE_CA_POLICY_URL                       = 296,
 | 
|---|
| 408 |     XCN_OID_NETSCAPE_SSL_SERVER_NAME                     = 297,
 | 
|---|
| 409 |     XCN_OID_NETSCAPE_COMMENT                             = 298,
 | 
|---|
| 410 |     XCN_OID_NETSCAPE_DATA_TYPE                           = 299,
 | 
|---|
| 411 |     XCN_OID_NETSCAPE_CERT_SEQUENCE                       = 300,
 | 
|---|
| 412 |     XCN_OID_CT_PKI_DATA                                  = 301,
 | 
|---|
| 413 |     XCN_OID_CT_PKI_RESPONSE                              = 302,
 | 
|---|
| 414 |     XCN_OID_PKIX_NO_SIGNATURE                            = 303,
 | 
|---|
| 415 |     XCN_OID_CMC                                          = 304,
 | 
|---|
| 416 |     XCN_OID_CMC_STATUS_INFO                              = 305,
 | 
|---|
| 417 |     XCN_OID_CMC_IDENTIFICATION                           = 306,
 | 
|---|
| 418 |     XCN_OID_CMC_IDENTITY_PROOF                           = 307,
 | 
|---|
| 419 |     XCN_OID_CMC_DATA_RETURN                              = 308,
 | 
|---|
| 420 |     XCN_OID_CMC_TRANSACTION_ID                           = 309,
 | 
|---|
| 421 |     XCN_OID_CMC_SENDER_NONCE                             = 310,
 | 
|---|
| 422 |     XCN_OID_CMC_RECIPIENT_NONCE                          = 311,
 | 
|---|
| 423 |     XCN_OID_CMC_ADD_EXTENSIONS                           = 312,
 | 
|---|
| 424 |     XCN_OID_CMC_ENCRYPTED_POP                            = 313,
 | 
|---|
| 425 |     XCN_OID_CMC_DECRYPTED_POP                            = 314,
 | 
|---|
| 426 |     XCN_OID_CMC_LRA_POP_WITNESS                          = 315,
 | 
|---|
| 427 |     XCN_OID_CMC_GET_CERT                                 = 316,
 | 
|---|
| 428 |     XCN_OID_CMC_GET_CRL                                  = 317,
 | 
|---|
| 429 |     XCN_OID_CMC_REVOKE_REQUEST                           = 318,
 | 
|---|
| 430 |     XCN_OID_CMC_REG_INFO                                 = 319,
 | 
|---|
| 431 |     XCN_OID_CMC_RESPONSE_INFO                            = 320,
 | 
|---|
| 432 |     XCN_OID_CMC_QUERY_PENDING                            = 321,
 | 
|---|
| 433 |     XCN_OID_CMC_ID_POP_LINK_RANDOM                       = 322,
 | 
|---|
| 434 |     XCN_OID_CMC_ID_POP_LINK_WITNESS                      = 323,
 | 
|---|
| 435 |     XCN_OID_CMC_ID_CONFIRM_CERT_ACCEPTANCE               = 324,
 | 
|---|
| 436 |     XCN_OID_CMC_ADD_ATTRIBUTES                           = 325,
 | 
|---|
| 437 |     XCN_OID_LOYALTY_OTHER_LOGOTYPE                       = 326,
 | 
|---|
| 438 |     XCN_OID_BACKGROUND_OTHER_LOGOTYPE                    = 327,
 | 
|---|
| 439 |     XCN_OID_PKIX_OCSP_BASIC_SIGNED_RESPONSE              = 328,
 | 
|---|
| 440 |     XCN_OID_PKCS_7_DATA                                  = 329,
 | 
|---|
| 441 |     XCN_OID_PKCS_7_SIGNED                                = 330,
 | 
|---|
| 442 |     XCN_OID_PKCS_7_ENVELOPED                             = 331,
 | 
|---|
| 443 |     XCN_OID_PKCS_7_SIGNEDANDENVELOPED                    = 332,
 | 
|---|
| 444 |     XCN_OID_PKCS_7_DIGESTED                              = 333,
 | 
|---|
| 445 |     XCN_OID_PKCS_7_ENCRYPTED                             = 334,
 | 
|---|
| 446 |     XCN_OID_PKCS_9_CONTENT_TYPE                          = 335,
 | 
|---|
| 447 |     XCN_OID_PKCS_9_MESSAGE_DIGEST                        = 336,
 | 
|---|
| 448 |     XCN_OID_CERT_PROP_ID_PREFIX                          = 337,
 | 
|---|
| 449 |     XCN_OID_CERT_KEY_IDENTIFIER_PROP_ID                  = 338,
 | 
|---|
| 450 |     XCN_OID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID   = 339,
 | 
|---|
| 451 |     XCN_OID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID           = 340,
 | 
|---|
| 452 |     XCN_OID_CERT_MD5_HASH_PROP_ID                        = 341,
 | 
|---|
| 453 |     XCN_OID_RSA_SHA256RSA                                = 342,
 | 
|---|
| 454 |     XCN_OID_RSA_SHA384RSA                                = 343,
 | 
|---|
| 455 |     XCN_OID_RSA_SHA512RSA                                = 344,
 | 
|---|
| 456 |     XCN_OID_NIST_sha256                                  = 345,
 | 
|---|
| 457 |     XCN_OID_NIST_sha384                                  = 346,
 | 
|---|
| 458 |     XCN_OID_NIST_sha512                                  = 347,
 | 
|---|
| 459 |     XCN_OID_RSA_MGF1                                     = 348,
 | 
|---|
| 460 |     XCN_OID_ECC_PUBLIC_KEY                               = 349,
 | 
|---|
| 461 |     XCN_OID_RSA_SSA_PSS                                  = 353,
 | 
|---|
| 462 |     XCN_OID_ECDSA_SHA1                                   = 354,
 | 
|---|
| 463 |     XCN_OID_ECDSA_SPECIFIED                              = 354 
 | 
|---|
| 464 |   } CERTENROLL_OBJECTID;
 | 
|---|
| 465 | 
 | 
|---|
| 466 |   typedef enum EnrollmentCAProperty {
 | 
|---|
| 467 |     CAPropCommonName           = 1,
 | 
|---|
| 468 |     CAPropDistinguishedName    = 2,
 | 
|---|
| 469 |     CAPropSanitizedName        = 3,
 | 
|---|
| 470 |     CAPropSanitizedShortName   = 4,
 | 
|---|
| 471 |     CAPropDNSName              = 5,
 | 
|---|
| 472 |     CAPropCertificateTypes     = 6,
 | 
|---|
| 473 |     CAPropCertificate          = 7,
 | 
|---|
| 474 |     CAPropDescription          = 8,
 | 
|---|
| 475 |     CAPropWebServers           = 9,
 | 
|---|
| 476 |     CAPropSiteName             = 10,
 | 
|---|
| 477 |     CAPropSecurity             = 11,
 | 
|---|
| 478 |     CAPropRenewalOnly          = 12 
 | 
|---|
| 479 |   } EnrollmentCAProperty;
 | 
|---|
| 480 | 
 | 
|---|
| 481 |   typedef enum EncodingType {
 | 
|---|
| 482 |     XCN_CRYPT_STRING_BASE64HEADER          = 0,
 | 
|---|
| 483 |     XCN_CRYPT_STRING_BASE64                = 0x1,
 | 
|---|
| 484 |     XCN_CRYPT_STRING_BINARY                = 0x2,
 | 
|---|
| 485 |     XCN_CRYPT_STRING_BASE64REQUESTHEADER   = 0x3,
 | 
|---|
| 486 |     XCN_CRYPT_STRING_HEX                   = 0x4,
 | 
|---|
| 487 |     XCN_CRYPT_STRING_HEXASCII              = 0x5,
 | 
|---|
| 488 |     XCN_CRYPT_STRING_BASE64_ANY            = 0x6,
 | 
|---|
| 489 |     XCN_CRYPT_STRING_ANY                   = 0x7,
 | 
|---|
| 490 |     XCN_CRYPT_STRING_HEX_ANY               = 0x8,
 | 
|---|
| 491 |     XCN_CRYPT_STRING_BASE64X509CRLHEADER   = 0x9,
 | 
|---|
| 492 |     XCN_CRYPT_STRING_HEXADDR               = 0xa,
 | 
|---|
| 493 |     XCN_CRYPT_STRING_HEXASCIIADDR          = 0xb,
 | 
|---|
| 494 |     XCN_CRYPT_STRING_HEXRAW                = 0xc,
 | 
|---|
| 495 |     XCN_CRYPT_STRING_NOCRLF                = 0x40000000,
 | 
|---|
| 496 |     XCN_CRYPT_STRING_NOCR                  = 0x80000000 
 | 
|---|
| 497 |   } EncodingType;
 | 
|---|
| 498 | 
 | 
|---|
| 499 |   typedef enum CommitTemplateFlags {
 | 
|---|
| 500 |     CommitFlagSaveTemplateGenerateOID     = 1,
 | 
|---|
| 501 |     CommitFlagSaveTemplateUseCurrentOID   = 2,
 | 
|---|
| 502 |     CommitFlagSaveTemplateOverwrite       = 3,
 | 
|---|
| 503 |     CommitFlagDeleteTemplate              = 4 
 | 
|---|
| 504 |   } CommitTemplateFlags;
 | 
|---|
| 505 | 
 | 
|---|
| 506 |   typedef enum EnrollmentDisplayStatus {
 | 
|---|
| 507 |     DisplayNo    = 0,
 | 
|---|
| 508 |     DisplayYes   = 1 
 | 
|---|
| 509 |   } EnrollmentDisplayStatus;
 | 
|---|
| 510 | 
 | 
|---|
| 511 |   typedef enum EnrollmentEnrollStatus {
 | 
|---|
| 512 |     Enrolled                             = 0x00000001,
 | 
|---|
| 513 |     EnrollPended                         = 0x00000002,
 | 
|---|
| 514 |     EnrollUIDeferredEnrollmentRequired   = 0x00000004,
 | 
|---|
| 515 |     EnrollError                          = 0x00000010,
 | 
|---|
| 516 |     EnrollUnknown                        = 0x00000020,
 | 
|---|
| 517 |     EnrollSkipped                        = 0x00000040,
 | 
|---|
| 518 |     EnrollDenied                         = 0x00000100 
 | 
|---|
| 519 |   } EnrollmentEnrollStatus;
 | 
|---|
| 520 | 
 | 
|---|
| 521 | #if (_WIN32_WINNT >= 0x0601)
 | 
|---|
| 522 |   enum EnrollmentPolicyFlags {
 | 
|---|
| 523 |     DisableGroupPolicyList   = 0x2,
 | 
|---|
| 524 |     DisableUserServerList    = 0x4 
 | 
|---|
| 525 |   };
 | 
|---|
| 526 | 
 | 
|---|
| 527 |   typedef enum EnrollmentPolicyServerPropertyFlags {
 | 
|---|
| 528 |     DefaultNone           = 0x00000000,
 | 
|---|
| 529 |     DefaultPolicyServer   = 0x00000001 
 | 
|---|
| 530 |   } EnrollmentPolicyServerPropertyFlags;
 | 
|---|
| 531 | 
 | 
|---|
| 532 | #endif /*(_WIN32_WINNT >= 0x0601)*/
 | 
|---|
| 533 | 
 | 
|---|
| 534 |   typedef enum EnrollmentSelectionStatus {
 | 
|---|
| 535 |     SelectedNo    = 0,
 | 
|---|
| 536 |     SelectedYes   = 1 
 | 
|---|
| 537 |   } EnrollmentSelectionStatus;
 | 
|---|
| 538 | 
 | 
|---|
| 539 | #if (_WIN32_WINNT >= 0x0601)
 | 
|---|
| 540 | 
 | 
|---|
| 541 |   typedef enum EnrollmentTemplateProperty {
 | 
|---|
| 542 |     TemplatePropCommonName              = 1,
 | 
|---|
| 543 |     TemplatePropFriendlyName            = 2,
 | 
|---|
| 544 |     TemplatePropEKUs                    = 3,
 | 
|---|
| 545 |     TemplatePropCryptoProviders         = 4,
 | 
|---|
| 546 |     TemplatePropMajorRevision           = 5,
 | 
|---|
| 547 |     TemplatePropDescription             = 6,
 | 
|---|
| 548 |     TemplatePropKeySpec                 = 7,
 | 
|---|
| 549 |     TemplatePropSchemaVersion           = 8,
 | 
|---|
| 550 |     TemplatePropMinorRevision           = 9,
 | 
|---|
| 551 |     TemplatePropRASignatureCount        = 10,
 | 
|---|
| 552 |     TemplatePropMinimumKeySize          = 11,
 | 
|---|
| 553 |     TemplatePropOID                     = 12,
 | 
|---|
| 554 |     TemplatePropSupersede               = 13,
 | 
|---|
| 555 |     TemplatePropRACertificatePolicies   = 14,
 | 
|---|
| 556 |     TemplatePropRAEKUs                  = 15,
 | 
|---|
| 557 |     TemplatePropCertificatePolicies     = 16,
 | 
|---|
| 558 |     TemplatePropV1ApplicationPolicy     = 17,
 | 
|---|
| 559 |     TemplatePropAsymmetricAlgorithm     = 18,
 | 
|---|
| 560 |     TemplatePropKeySecurityDescriptor   = 19,
 | 
|---|
| 561 |     TemplatePropSymmetricAlgorithm      = 20,
 | 
|---|
| 562 |     TemplatePropSymmetricKeyLength      = 21,
 | 
|---|
| 563 |     TemplatePropHashAlgorithm           = 22,
 | 
|---|
| 564 |     TemplatePropEnrollmentFlags         = 23,
 | 
|---|
| 565 |     TemplatePropSubjectNameFlags        = 24,
 | 
|---|
| 566 |     TemplatePropPrivateKeyFlags         = 25,
 | 
|---|
| 567 |     TemplatePropGeneralFlags            = 26,
 | 
|---|
| 568 |     TemplatePropSecurityDescriptor      = 27,
 | 
|---|
| 569 |     TemplatePropExtensions              = 28,
 | 
|---|
| 570 |     TemplatePropValidityPeriod          = 29,
 | 
|---|
| 571 |     TemplatePropRenewalPeriod           = 30 
 | 
|---|
| 572 |   } EnrollmentTemplateProperty;
 | 
|---|
| 573 | #endif /*(_WIN32_WINNT >= 0x0601)*/
 | 
|---|
| 574 | 
 | 
|---|
| 575 |   typedef enum InnerRequestLevel {
 | 
|---|
| 576 |     LevelInnermost   = 0,
 | 
|---|
| 577 |     LevelNext        = 1 
 | 
|---|
| 578 |   } InnerRequestLevel;
 | 
|---|
| 579 | 
 | 
|---|
| 580 |   typedef enum InstallResponseRestrictionFlags {
 | 
|---|
| 581 |     AllowNone                   = 0x00000000,
 | 
|---|
| 582 |     AllowNoOutstandingRequest   = 0x00000001,
 | 
|---|
| 583 |     AllowUntrustedCertificate   = 0x00000002,
 | 
|---|
| 584 |     AllowUntrustedRoot          = 0x00000004 
 | 
|---|
| 585 |   } InstallResponseRestrictionFlags;
 | 
|---|
| 586 | 
 | 
|---|
| 587 |   typedef enum KeyIdentifierHashAlgorithm {
 | 
|---|
| 588 |     SKIHashDefault    = 0,
 | 
|---|
| 589 |     SKIHashSha1       = 1,
 | 
|---|
| 590 |     SKIHashCapiSha1   = 2 
 | 
|---|
| 591 |   } KeyIdentifierHashAlgorithm;
 | 
|---|
| 592 | 
 | 
|---|
| 593 |   typedef enum ObjectIdGroupId {
 | 
|---|
| 594 |     XCN_CRYPT_ANY_GROUP_ID                 = 0,
 | 
|---|
| 595 |     XCN_CRYPT_HASH_ALG_OID_GROUP_ID        = 1,
 | 
|---|
| 596 |     XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID     = 2,
 | 
|---|
| 597 |     XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID      = 3,
 | 
|---|
| 598 |     XCN_CRYPT_SIGN_ALG_OID_GROUP_ID        = 4,
 | 
|---|
| 599 |     XCN_CRYPT_RDN_ATTR_OID_GROUP_ID        = 5,
 | 
|---|
| 600 |     XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID     = 6,
 | 
|---|
| 601 |     XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID    = 7,
 | 
|---|
| 602 |     XCN_CRYPT_POLICY_OID_GROUP_ID          = 8,
 | 
|---|
| 603 |     XCN_CRYPT_TEMPLATE_OID_GROUP_ID        = 9,
 | 
|---|
| 604 |     XCN_CRYPT_LAST_OID_GROUP_ID            = 9,
 | 
|---|
| 605 |     XCN_CRYPT_FIRST_ALG_OID_GROUP_ID       = 1,
 | 
|---|
| 606 |     XCN_CRYPT_LAST_ALG_OID_GROUP_ID        = 4,
 | 
|---|
| 607 |     XCN_CRYPT_OID_DISABLE_SEARCH_DS_FLAG   = 0x80000000,
 | 
|---|
| 608 |     XCN_CRYPT_KEY_LENGTH_MASK              = 0xffff0000 
 | 
|---|
| 609 |   } ObjectIdGroupId;
 | 
|---|
| 610 | 
 | 
|---|
| 611 |   typedef enum ObjectIdPublicKeyFlags {
 | 
|---|
| 612 |     XCN_CRYPT_OID_INFO_PUBKEY_ANY                = 0,
 | 
|---|
| 613 |     XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG      = 0x80000000,
 | 
|---|
| 614 |     XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG   = 0x40000000 
 | 
|---|
| 615 |   } ObjectIdPublicKeyFlags;
 | 
|---|
| 616 | 
 | 
|---|
| 617 |   typedef enum PFXExportOptions {
 | 
|---|
| 618 |     PFXExportEEOnly          = 0,
 | 
|---|
| 619 |     PFXExportChainNoRoot     = 1,
 | 
|---|
| 620 |     PFXExportChainWithRoot   = 2 
 | 
|---|
| 621 |   } PFXExportOptions;
 | 
|---|
| 622 | 
 | 
|---|
| 623 |   typedef enum Pkcs10AllowedSignatureTypes {
 | 
|---|
| 624 |     AllowedKeySignature    = 0x1,
 | 
|---|
| 625 |     AllowedNullSignature   = 0x2 
 | 
|---|
| 626 |   } Pkcs10AllowedSignatureTypes;
 | 
|---|
| 627 | 
 | 
|---|
| 628 |   typedef enum PolicyQualifierType {
 | 
|---|
| 629 |     PolicyQualifierTypeUnknown      = 0,
 | 
|---|
| 630 |     PolicyQualifierTypeUrl          = 1,
 | 
|---|
| 631 |     PolicyQualifierTypeUserNotice   = 2 
 | 
|---|
| 632 |   } PolicyQualifierType;
 | 
|---|
| 633 | 
 | 
|---|
| 634 |   typedef enum PolicyServerUrlFlags {
 | 
|---|
| 635 |     PsfNone                    = 0,
 | 
|---|
| 636 |     PsfLocationGroupPolicy     = 1,
 | 
|---|
| 637 |     PsfLocationRegistry        = 2,
 | 
|---|
| 638 |     PsfUseClientId             = 4,
 | 
|---|
| 639 |     PsfAutoEnrollmentEnabled   = 16,
 | 
|---|
| 640 |     PsfAllowUnTrustedCA        = 32 
 | 
|---|
| 641 |   } PolicyServerUrlFlags;
 | 
|---|
| 642 | 
 | 
|---|
| 643 | #if (_WIN32_WINNT >= 0x0601)
 | 
|---|
| 644 | 
 | 
|---|
| 645 |   typedef enum PolicyServerUrlPropertyID {
 | 
|---|
| 646 |     PsPolicyID       = 0,
 | 
|---|
| 647 |     PsFriendlyName   = 1 
 | 
|---|
| 648 |   } PolicyServerUrlPropertyID;
 | 
|---|
| 649 | 
 | 
|---|
| 650 | #endif /*(_WIN32_WINNT >= 0x0601)*/
 | 
|---|
| 651 | 
 | 
|---|
| 652 |   typedef enum RequestClientInfoClientId {
 | 
|---|
| 653 |     ClientIdNone             = 0,
 | 
|---|
| 654 |     ClientIdXEnroll2003      = 1,
 | 
|---|
| 655 |     ClientIdAutoEnroll2003   = 2,
 | 
|---|
| 656 |     ClientIdWizard2003       = 3,
 | 
|---|
| 657 |     ClientIdCertReq2003      = 4,
 | 
|---|
| 658 |     ClientIdDefaultRequest   = 5,
 | 
|---|
| 659 |     ClientIdAutoEnroll       = 6,
 | 
|---|
| 660 |     ClientIdRequestWizard    = 7,
 | 
|---|
| 661 |     ClientIdEOBO             = 8,
 | 
|---|
| 662 |     ClientIdCertReq          = 9,
 | 
|---|
| 663 |     ClientIdTest             = 10,
 | 
|---|
| 664 |     ClientIdUserStart        = 1000 
 | 
|---|
| 665 |   } RequestClientInfoClientId;
 | 
|---|
| 666 | 
 | 
|---|
| 667 | #if (_WIN32_WINNT >= 0x0601)
 | 
|---|
| 668 | 
 | 
|---|
| 669 |   typedef enum WebEnrollmentFlags {
 | 
|---|
| 670 |     EnrollPrompt   = 0x00000001 
 | 
|---|
| 671 |   } WebEnrollmentFlags;
 | 
|---|
| 672 | 
 | 
|---|
| 673 | #endif /*(_WIN32_WINNT >= 0x0601)*/
 | 
|---|
| 674 | 
 | 
|---|
| 675 |   typedef enum WebSecurityLevel {
 | 
|---|
| 676 |     LevelUnsafe   = 0,
 | 
|---|
| 677 |     LevelSafe     = 1 
 | 
|---|
| 678 |   } WebSecurityLevel;
 | 
|---|
| 679 | 
 | 
|---|
| 680 |   typedef enum X500NameFlags {
 | 
|---|
| 681 |     XCN_CERT_NAME_STR_NONE                        = 0,
 | 
|---|
| 682 |     XCN_CERT_SIMPLE_NAME_STR                      = 1,
 | 
|---|
| 683 |     XCN_CERT_OID_NAME_STR                         = 2,
 | 
|---|
| 684 |     XCN_CERT_X500_NAME_STR                        = 3,
 | 
|---|
| 685 |     XCN_CERT_XML_NAME_STR                         = 4,
 | 
|---|
| 686 |     XCN_CERT_NAME_STR_SEMICOLON_FLAG              = 0x40000000,
 | 
|---|
| 687 |     XCN_CERT_NAME_STR_NO_PLUS_FLAG                = 0x20000000,
 | 
|---|
| 688 |     XCN_CERT_NAME_STR_NO_QUOTING_FLAG             = 0x10000000,
 | 
|---|
| 689 |     XCN_CERT_NAME_STR_CRLF_FLAG                   = 0x8000000,
 | 
|---|
| 690 |     XCN_CERT_NAME_STR_COMMA_FLAG                  = 0x4000000,
 | 
|---|
| 691 |     XCN_CERT_NAME_STR_REVERSE_FLAG                = 0x2000000,
 | 
|---|
| 692 |     XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG       = 0x10000,
 | 
|---|
| 693 |     XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG     = 0x20000,
 | 
|---|
| 694 |     XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG    = 0x40000,
 | 
|---|
| 695 |     XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG     = 0x80000,
 | 
|---|
| 696 |     XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG   = 0x100000 
 | 
|---|
| 697 |   } X500NameFlags;
 | 
|---|
| 698 | 
 | 
|---|
| 699 |   typedef enum X509CertificateEnrollmentContext {
 | 
|---|
| 700 |     ContextUser                        = 0x1,
 | 
|---|
| 701 |     ContextMachine                     = 0x2,
 | 
|---|
| 702 |     ContextAdministratorForceMachine   = 0x3 
 | 
|---|
| 703 |   } X509CertificateEnrollmentContext;
 | 
|---|
| 704 | 
 | 
|---|
| 705 | #if (_WIN32_WINNT >= 0x0601)
 | 
|---|
| 706 | 
 | 
|---|
| 707 |   typedef enum X509CertificateTemplateEnrollmentFlag {
 | 
|---|
| 708 |     EnrollmentIncludeSymmetricAlgorithms                  = CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS,
 | 
|---|
| 709 |     EnrollmentPendAllRequests                             = CT_FLAG_PEND_ALL_REQUESTS,
 | 
|---|
| 710 |     EnrollmentPublishToKRAContainer                       = CT_FLAG_PUBLISH_TO_KRA_CONTAINER,
 | 
|---|
| 711 |     EnrollmentPublishToDS                                 = CT_FLAG_PUBLISH_TO_DS,
 | 
|---|
| 712 |     EnrollmentAutoEnrollmentCheckUserDSCertificate        = CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE,
 | 
|---|
| 713 |     EnrollmentAutoEnrollment                              = CT_FLAG_AUTO_ENROLLMENT,
 | 
|---|
| 714 |     EnrollmentDomainAuthenticationNotRequired             = CT_FLAG_DOMAIN_AUTHENTICATION_NOT_REQUIRED,
 | 
|---|
| 715 |     EnrollmentPreviousApprovalValidateReenrollment        = CT_FLAG_PREVIOUS_APPROVAL_VALIDATE_REENROLLMENT,
 | 
|---|
| 716 |     EnrollmentUserInteractionRequired                     = CT_FLAG_USER_INTERACTION_REQUIRED,
 | 
|---|
| 717 |     EnrollmentAddTemplateName                             = CT_FLAG_ADD_TEMPLATE_NAME,
 | 
|---|
| 718 |     EnrollmentRemoveInvalidCertificateFromPersonalStore   = CT_FLAG_REMOVE_INVALID_CERTIFICATE_FROM_PERSONAL_STORE,
 | 
|---|
| 719 |     EnrollmentAllowEnrollOnBehalfOf                       = CT_FLAG_ALLOW_ENROLL_ON_BEHALF_OF,
 | 
|---|
| 720 |     EnrollmentAddOCSPNoCheck                              = CT_FLAG_ADD_OCSP_NOCHECK,
 | 
|---|
| 721 |     EnrollmentReuseKeyOnFullSmartCard                     = CT_FLAG_ENABLE_KEY_REUSE_ON_NT_TOKEN_KEYSET_STORAGE_FULL,
 | 
|---|
| 722 |     EnrollmentNoRevocationInfoInCerts                     = CT_FLAG_NOREVOCATIONINFOINISSUEDCERTS,
 | 
|---|
| 723 |     EnrollmentIncludeBasicConstraintsForEECerts           = CT_FLAG_INCLUDE_BASIC_CONSTRAINTS_FOR_EE_CERTS 
 | 
|---|
| 724 |   } X509CertificateTemplateEnrollmentFlag;
 | 
|---|
| 725 | 
 | 
|---|
| 726 |   typedef enum X509CertificateTemplateGeneralFlag {
 | 
|---|
| 727 |     GeneralMachineType    = CT_FLAG_MACHINE_TYPE,
 | 
|---|
| 728 |     GeneralCA             = CT_FLAG_IS_CA,
 | 
|---|
| 729 |     GeneralCrossCA        = CT_FLAG_IS_CROSS_CA,
 | 
|---|
| 730 |     GeneralDefault        = CT_FLAG_IS_DEFAULT,
 | 
|---|
| 731 |     GeneralModified       = CT_FLAG_IS_MODIFIED,
 | 
|---|
| 732 |     GeneralDonotPersist   = CT_FLAG_DONOTPERSISTINDB 
 | 
|---|
| 733 |   } X509CertificateTemplateGeneralFlag;
 | 
|---|
| 734 | 
 | 
|---|
| 735 |   typedef enum X509CertificateTemplatePrivateKeyFlag {
 | 
|---|
| 736 |     PrivateKeyRequireArchival                      = CT_FLAG_REQUIRE_PRIVATE_KEY_ARCHIVAL,
 | 
|---|
| 737 |     PrivateKeyExportable                           = CT_FLAG_EXPORTABLE_KEY,
 | 
|---|
| 738 |     PrivateKeyRequireStrongKeyProtection           = CT_FLAG_STRONG_KEY_PROTECTION_REQUIRED,
 | 
|---|
| 739 |     PrivateKeyRequireAlternateSignatureAlgorithm   = CT_FLAG_REQUIRE_ALTERNATE_SIGNATURE_ALGORITHM 
 | 
|---|
| 740 |   } X509CertificateTemplatePrivateKeyFlag;
 | 
|---|
| 741 | 
 | 
|---|
| 742 |   typedef enum X509CertificateTemplateSubjectNameFlag {
 | 
|---|
| 743 |     SubjectNameEnrolleeSupplies                    = CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT,
 | 
|---|
| 744 |     SubjectNameRequireDirectoryPath                = CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH,
 | 
|---|
| 745 |     SubjectNameRequireCommonName                   = CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME,
 | 
|---|
| 746 |     SubjectNameRequireEmail                        = CT_FLAG_SUBJECT_REQUIRE_EMAIL,
 | 
|---|
| 747 |     SubjectNameRequireDNS                          = CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN,
 | 
|---|
| 748 |     SubjectNameAndAlternativeNameOldCertSupplies   = CT_FLAG_OLD_CERT_SUPPLIES_SUBJECT_AND_ALT_NAME,
 | 
|---|
| 749 |     SubjectAlternativeNameEnrolleeSupplies         = CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT_ALT_NAME,
 | 
|---|
| 750 |     SubjectAlternativeNameRequireDirectoryGUID     = CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID,
 | 
|---|
| 751 |     SubjectAlternativeNameRequireUPN               = CT_FLAG_SUBJECT_ALT_REQUIRE_UPN,
 | 
|---|
| 752 |     SubjectAlternativeNameRequireEmail             = CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL,
 | 
|---|
| 753 |     SubjectAlternativeNameRequireSPN               = CT_FLAG_SUBJECT_ALT_REQUIRE_SPN,
 | 
|---|
| 754 |     SubjectAlternativeNameRequireDNS               = CT_FLAG_SUBJECT_ALT_REQUIRE_DNS,
 | 
|---|
| 755 |     SubjectAlternativeNameRequireDomainDNS         = CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS 
 | 
|---|
| 756 |   } X509CertificateTemplateSubjectNameFlag;
 | 
|---|
| 757 | 
 | 
|---|
| 758 |   typedef enum X509EnrollmentPolicyExportFlags {
 | 
|---|
| 759 |     ExportTemplates   = 0x1,
 | 
|---|
| 760 |     ExportOIDs        = 0x2,
 | 
|---|
| 761 |     ExportCAs         = 0x4 
 | 
|---|
| 762 |   } X509EnrollmentPolicyExportFlags;
 | 
|---|
| 763 | 
 | 
|---|
| 764 |   typedef enum X509EnrollmentPolicyLoadOption {
 | 
|---|
| 765 |     LoadOptionDefault                = 0,
 | 
|---|
| 766 |     LoadOptionCacheOnly              = 1,
 | 
|---|
| 767 |     LoadOptionReload                 = 2,
 | 
|---|
| 768 |     LoadOptionRegisterForADChanges   = 4 
 | 
|---|
| 769 |   } X509EnrollmentPolicyLoadOption;
 | 
|---|
| 770 | 
 | 
|---|
| 771 | 
 | 
|---|
| 772 | #endif /*(_WIN32_WINNT >= 0x0601)*/
 | 
|---|
| 773 | 
 | 
|---|
| 774 |   typedef enum X509KeySpec {
 | 
|---|
| 775 |     XCN_AT_NONE          = 0,
 | 
|---|
| 776 |     XCN_AT_KEYEXCHANGE   = 1,
 | 
|---|
| 777 |     XCN_AT_SIGNATURE     = 2 
 | 
|---|
| 778 |   } X509KeySpec;
 | 
|---|
| 779 | 
 | 
|---|
| 780 |   typedef enum X509KeyUsageFlags {
 | 
|---|
| 781 |     XCN_CERT_NO_KEY_USAGE                  = 0,
 | 
|---|
| 782 |     XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE   = 0x80,
 | 
|---|
| 783 |     XCN_CERT_NON_REPUDIATION_KEY_USAGE     = 0x40,
 | 
|---|
| 784 |     XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE    = 0x20,
 | 
|---|
| 785 |     XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE   = 0x10,
 | 
|---|
| 786 |     XCN_CERT_KEY_AGREEMENT_KEY_USAGE       = 0x8,
 | 
|---|
| 787 |     XCN_CERT_KEY_CERT_SIGN_KEY_USAGE       = 0x4,
 | 
|---|
| 788 |     XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE    = 0x2,
 | 
|---|
| 789 |     XCN_CERT_CRL_SIGN_KEY_USAGE            = 0x2,
 | 
|---|
| 790 |     XCN_CERT_ENCIPHER_ONLY_KEY_USAGE       = 0x1,
 | 
|---|
| 791 |     XCN_CERT_DECIPHER_ONLY_KEY_USAGE       = ( 0x80 << 8 ) 
 | 
|---|
| 792 |   } X509KeyUsageFlags;
 | 
|---|
| 793 | 
 | 
|---|
| 794 |   typedef enum X509PrivateKeyExportFlags {
 | 
|---|
| 795 |     XCN_NCRYPT_ALLOW_EXPORT_NONE                = 0,
 | 
|---|
| 796 |     XCN_NCRYPT_ALLOW_EXPORT_FLAG                = 0x1,
 | 
|---|
| 797 |     XCN_NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG      = 0x2,
 | 
|---|
| 798 |     XCN_NCRYPT_ALLOW_ARCHIVING_FLAG             = 0x4,
 | 
|---|
| 799 |     XCN_NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG   = 0x8 
 | 
|---|
| 800 |   } X509PrivateKeyExportFlags;
 | 
|---|
| 801 | 
 | 
|---|
| 802 |   typedef enum X509PrivateKeyProtection {
 | 
|---|
| 803 |     XCN_NCRYPT_UI_NO_PROTECTION_FLAG           = 0,
 | 
|---|
| 804 |     XCN_NCRYPT_UI_PROTECT_KEY_FLAG             = 0x1,
 | 
|---|
| 805 |     XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG   = 0x2 
 | 
|---|
| 806 |   } X509PrivateKeyProtection;
 | 
|---|
| 807 | 
 | 
|---|
| 808 |   typedef enum X509RequestType {
 | 
|---|
| 809 |     TypeAny           = 0,
 | 
|---|
| 810 |     TypePkcs10        = 1,
 | 
|---|
| 811 |     TypePkcs7         = 2,
 | 
|---|
| 812 |     TypeCmc           = 3,
 | 
|---|
| 813 |     TypeCertificate   = 4 
 | 
|---|
| 814 |   } X509RequestType;
 | 
|---|
| 815 | 
 | 
|---|
| 816 |   typedef enum X509RequestInheritOptions {
 | 
|---|
| 817 |     InheritDefault                  = 0x00000000,
 | 
|---|
| 818 |     InheritNewDefaultKey            = 0x00000001,
 | 
|---|
| 819 |     InheritNewSimilarKey            = 0x00000002,
 | 
|---|
| 820 |     InheritPrivateKey               = 0x00000003,
 | 
|---|
| 821 |     InheritPublicKey                = 0x00000004,
 | 
|---|
| 822 |     InheritKeyMask                  = 0x0000000f,
 | 
|---|
| 823 |     InheritNone                     = 0x00000010,
 | 
|---|
| 824 |     InheritRenewalCertificateFlag   = 0x00000020,
 | 
|---|
| 825 |     InheritTemplateFlag             = 0x00000040,
 | 
|---|
| 826 |     InheritSubjectFlag              = 0x00000080,
 | 
|---|
| 827 |     InheritExtensionsFlag           = 0x00000100,
 | 
|---|
| 828 |     InheritSubjectAltNameFlag       = 0x00000200,
 | 
|---|
| 829 |     InheritValidityPeriodFlag       = 0x00000400 
 | 
|---|
| 830 |   } X509RequestInheritOptions;
 | 
|---|
| 831 | 
 | 
|---|
| 832 |   typedef enum X509ProviderType {
 | 
|---|
| 833 |     XCN_PROV_NONE            = 0,
 | 
|---|
| 834 |     XCN_PROV_RSA_FULL        = 1,
 | 
|---|
| 835 |     XCN_PROV_RSA_SIG         = 2,
 | 
|---|
| 836 |     XCN_PROV_DSS             = 3,
 | 
|---|
| 837 |     XCN_PROV_FORTEZZA        = 4,
 | 
|---|
| 838 |     XCN_PROV_MS_EXCHANGE     = 5,
 | 
|---|
| 839 |     XCN_PROV_SSL             = 6,
 | 
|---|
| 840 |     XCN_PROV_RSA_SCHANNEL    = 12,
 | 
|---|
| 841 |     XCN_PROV_DSS_DH          = 13,
 | 
|---|
| 842 |     XCN_PROV_EC_ECDSA_SIG    = 14,
 | 
|---|
| 843 |     XCN_PROV_EC_ECNRA_SIG    = 15,
 | 
|---|
| 844 |     XCN_PROV_EC_ECDSA_FULL   = 16,
 | 
|---|
| 845 |     XCN_PROV_EC_ECNRA_FULL   = 17,
 | 
|---|
| 846 |     XCN_PROV_DH_SCHANNEL     = 18,
 | 
|---|
| 847 |     XCN_PROV_SPYRUS_LYNKS    = 20,
 | 
|---|
| 848 |     XCN_PROV_RNG             = 21,
 | 
|---|
| 849 |     XCN_PROV_INTEL_SEC       = 22,
 | 
|---|
| 850 |     XCN_PROV_REPLACE_OWF     = 23,
 | 
|---|
| 851 |     XCN_PROV_RSA_AES         = 24 
 | 
|---|
| 852 |   } X509ProviderType;
 | 
|---|
| 853 | 
 | 
|---|
| 854 |   typedef enum X509PrivateKeyVerify {
 | 
|---|
| 855 |     VerifyNone              = 0,
 | 
|---|
| 856 |     VerifySilent            = 1,
 | 
|---|
| 857 |     VerifySmartCardNone     = 2,
 | 
|---|
| 858 |     VerifySmartCardSilent   = 3,
 | 
|---|
| 859 |     VerifyAllowUI           = 4 
 | 
|---|
| 860 |   } X509PrivateKeyVerify;
 | 
|---|
| 861 | 
 | 
|---|
| 862 |   typedef enum X509PrivateKeyUsageFlags {
 | 
|---|
| 863 |     XCN_NCRYPT_ALLOW_USAGES_NONE          = 0,
 | 
|---|
| 864 |     XCN_NCRYPT_ALLOW_DECRYPT_FLAG         = 0x1,
 | 
|---|
| 865 |     XCN_NCRYPT_ALLOW_SIGNING_FLAG         = 0x2,
 | 
|---|
| 866 |     XCN_NCRYPT_ALLOW_KEY_AGREEMENT_FLAG   = 0x4,
 | 
|---|
| 867 |     XCN_NCRYPT_ALLOW_ALL_USAGES           = 0xffffff 
 | 
|---|
| 868 |   } X509PrivateKeyUsageFlags;
 | 
|---|
| 869 |   
 | 
|---|
| 870 |   typedef enum EncodingType {
 | 
|---|
| 871 |   XCN_CRYPT_STRING_BASE64HEADER          = 0,
 | 
|---|
| 872 |   XCN_CRYPT_STRING_BASE64                = 0x1,
 | 
|---|
| 873 |   XCN_CRYPT_STRING_BINARY                = 0x2,
 | 
|---|
| 874 |   XCN_CRYPT_STRING_BASE64REQUESTHEADER   = 0x3,
 | 
|---|
| 875 |   XCN_CRYPT_STRING_HEX                   = 0x4,
 | 
|---|
| 876 |   XCN_CRYPT_STRING_HEXASCII              = 0x5,
 | 
|---|
| 877 |   XCN_CRYPT_STRING_BASE64_ANY            = 0x6,
 | 
|---|
| 878 |   XCN_CRYPT_STRING_ANY                   = 0x7,
 | 
|---|
| 879 |   XCN_CRYPT_STRING_HEX_ANY               = 0x8,
 | 
|---|
| 880 |   XCN_CRYPT_STRING_BASE64X509CRLHEADER   = 0x9,
 | 
|---|
| 881 |   XCN_CRYPT_STRING_HEXADDR               = 0xa,
 | 
|---|
| 882 |   XCN_CRYPT_STRING_HEXASCIIADDR          = 0xb,
 | 
|---|
| 883 |   XCN_CRYPT_STRING_HEXRAW                = 0xc,
 | 
|---|
| 884 |   XCN_CRYPT_STRING_NOCRLF                = 0x40000000,
 | 
|---|
| 885 |   XCN_CRYPT_STRING_NOCR                  = 0x80000000 
 | 
|---|
| 886 | } EncodingType;
 | 
|---|
| 887 | 
 | 
|---|
| 888 | typedef enum EnrollmentDisplayStatus {
 | 
|---|
| 889 |   DisplayNo    = 0,
 | 
|---|
| 890 |   DisplayYes   = 1 
 | 
|---|
| 891 | } EnrollmentDisplayStatus;
 | 
|---|
| 892 | 
 | 
|---|
| 893 | typedef enum EnrollmentEnrollStatus {
 | 
|---|
| 894 |   Enrolled                             = 0x00000001,
 | 
|---|
| 895 |   EnrollPended                         = 0x00000002,
 | 
|---|
| 896 |   EnrollUIDeferredEnrollmentRequired   = 0x00000004,
 | 
|---|
| 897 |   EnrollError                          = 0x00000010,
 | 
|---|
| 898 |   EnrollUnknown                        = 0x00000020,
 | 
|---|
| 899 |   EnrollSkipped                        = 0x00000040,
 | 
|---|
| 900 |   EnrollDenied                         = 0x00000100 
 | 
|---|
| 901 | } EnrollmentEnrollStatus;
 | 
|---|
| 902 | 
 | 
|---|
| 903 | typedef enum EnrollmentSelectionStatus {
 | 
|---|
| 904 |   SelectedNo    = 0,
 | 
|---|
| 905 |   SelectedYes   = 1 
 | 
|---|
| 906 | } EnrollmentSelectionStatus;
 | 
|---|
| 907 | 
 | 
|---|
| 908 | #ifdef __cplusplus
 | 
|---|
| 909 | }
 | 
|---|
| 910 | #endif
 | 
|---|
| 911 | #endif /*(_WIN32_WINNT >= 0x0600)*/
 | 
|---|
| 912 | #endif /*_INC_CERTENROLL*/
 | 
|---|