rucades 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rucades/cplib/Blob.h +205 -163
  3. data/ext/rucades/cplib/CPPEnrollEnumerations.h +603 -0
  4. data/ext/rucades/cplib/DateTime.h +506 -455
  5. data/ext/rucades/cplib/StringProxy.h +229 -187
  6. data/ext/rucades/cplib/cpstldll.h +225 -0
  7. data/ext/rucades/extconf.rb +28 -12
  8. data/ext/rucades/rucades_about.cpp +3 -3
  9. data/ext/rucades/rucades_about.h +1 -1
  10. data/ext/rucades/rucades_algorithm.cpp +2 -2
  11. data/ext/rucades/rucades_algorithm.h +2 -2
  12. data/ext/rucades/rucades_attribute.cpp +3 -3
  13. data/ext/rucades/rucades_attribute.h +2 -2
  14. data/ext/rucades/rucades_attributes.cpp +2 -2
  15. data/ext/rucades/rucades_attributes.h +2 -2
  16. data/ext/rucades/rucades_basic_constraints.cpp +3 -3
  17. data/ext/rucades/rucades_basic_constraints.h +2 -2
  18. data/ext/rucades/rucades_blobs.cpp +3 -3
  19. data/ext/rucades/rucades_blobs.h +2 -2
  20. data/ext/rucades/rucades_certificate.cpp +3 -3
  21. data/ext/rucades/rucades_certificate.h +2 -2
  22. data/ext/rucades/rucades_certificate_status.cpp +2 -2
  23. data/ext/rucades/rucades_certificate_status.h +2 -2
  24. data/ext/rucades/rucades_certificates.cpp +8 -8
  25. data/ext/rucades/rucades_certificates.h +2 -2
  26. data/ext/rucades/rucades_crl.cpp +1 -1
  27. data/ext/rucades/rucades_crl.h +1 -1
  28. data/ext/rucades/rucades_eku.cpp +2 -2
  29. data/ext/rucades/rucades_eku.h +2 -2
  30. data/ext/rucades/rucades_ekus.cpp +3 -3
  31. data/ext/rucades/rucades_ekus.h +2 -2
  32. data/ext/rucades/rucades_encoded_data.cpp +1 -1
  33. data/ext/rucades/rucades_encoded_data.h +1 -1
  34. data/ext/rucades/rucades_enveloped_data.cpp +1 -1
  35. data/ext/rucades/rucades_enveloped_data.h +1 -1
  36. data/ext/rucades/rucades_extended_key_usage.cpp +2 -2
  37. data/ext/rucades/rucades_extended_key_usage.h +2 -2
  38. data/ext/rucades/rucades_hashed_data.cpp +1 -1
  39. data/ext/rucades/rucades_hashed_data.h +1 -1
  40. data/ext/rucades/rucades_key_usage.cpp +3 -3
  41. data/ext/rucades/rucades_key_usage.h +2 -2
  42. data/ext/rucades/rucades_oid.cpp +3 -3
  43. data/ext/rucades/rucades_oid.h +2 -2
  44. data/ext/rucades/rucades_private_key.cpp +3 -3
  45. data/ext/rucades/rucades_private_key.h +2 -2
  46. data/ext/rucades/rucades_public_key.cpp +2 -2
  47. data/ext/rucades/rucades_public_key.h +2 -2
  48. data/ext/rucades/rucades_raw_signature.cpp +2 -2
  49. data/ext/rucades/rucades_raw_signature.h +2 -2
  50. data/ext/rucades/rucades_recipients.cpp +2 -2
  51. data/ext/rucades/rucades_recipients.h +2 -2
  52. data/ext/rucades/rucades_signature_status.cpp +2 -2
  53. data/ext/rucades/rucades_signature_status.h +2 -2
  54. data/ext/rucades/rucades_signed_data.cpp +7 -7
  55. data/ext/rucades/rucades_signed_data.h +1 -1
  56. data/ext/rucades/rucades_signed_xml.cpp +2 -2
  57. data/ext/rucades/rucades_signed_xml.h +1 -1
  58. data/ext/rucades/rucades_signer.cpp +8 -8
  59. data/ext/rucades/rucades_signer.h +2 -2
  60. data/ext/rucades/rucades_signers.cpp +2 -2
  61. data/ext/rucades/rucades_signers.h +2 -2
  62. data/ext/rucades/rucades_store.cpp +2 -2
  63. data/ext/rucades/rucades_store.h +1 -1
  64. data/ext/rucades/rucades_symmetric_algorithm.cpp +3 -3
  65. data/ext/rucades/rucades_symmetric_algorithm.h +2 -2
  66. data/ext/rucades/rucades_version.cpp +2 -2
  67. data/ext/rucades/rucades_version.h +2 -2
  68. data/ext/rucades/stdafx.h +207 -121
  69. data/lib/rucades/version.rb +1 -1
  70. data/samples/encrypt_decrypt.rb +17 -14
  71. data/samples/sign_verify.rb +14 -17
  72. data/sig/rucades.rbs +850 -1
  73. metadata +3 -4
  74. data/ext/rucades/cpstldll.h +0 -183
  75. data/ext/rucades/errormsg.cpp +0 -561
  76. data/ext/rucades/errormsg.h +0 -31
@@ -0,0 +1,603 @@
1
+ #ifndef _WIN32
2
+
3
+ #ifndef CPP_ENROLL_ENUMERATIONS_H_
4
+ #define CPP_ENROLL_ENUMERATIONS_H_
5
+
6
+ namespace CryptoPro {
7
+ namespace PKI {
8
+ namespace Enroll {
9
+
10
+ typedef enum _AlgorithmFlags {
11
+ AlgorithmFlagsNone = 0x00000000,
12
+ AlgorithmFlagsWrap = 0x00000001
13
+ } AlgorithmFlags;
14
+
15
+ typedef enum _AlgorithmOperationFlags {
16
+ XCN_NCRYPT_NO_OPERATION = 0,
17
+ XCN_NCRYPT_CIPHER_OPERATION = 0x1,
18
+ XCN_NCRYPT_HASH_OPERATION = 0x2,
19
+ XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION = 0x4,
20
+ XCN_NCRYPT_SECRET_AGREEMENT_OPERATION = 0x8,
21
+ XCN_NCRYPT_SIGNATURE_OPERATION = 0x10,
22
+ XCN_NCRYPT_RNG_OPERATION = 0x20,
23
+ XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION = ((0x4 | 0x8) | 0x10),
24
+ XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION = 0x00200000,
25
+ XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION = 0x00400000,
26
+ XCN_NCRYPT_EXACT_MATCH_OPERATION = 0x00800000,
27
+ XCN_NCRYPT_PREFERENCE_MASK_OPERATION = 0x00e00000
28
+ } AlgorithmOperationFlags;
29
+
30
+ typedef enum _AlgorithmType {
31
+ XCN_BCRYPT_UNKNOWN_INTERFACE = 0,
32
+ XCN_BCRYPT_CIPHER_INTERFACE = 0x1,
33
+ XCN_BCRYPT_HASH_INTERFACE = 0x2,
34
+ XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE = 0x3,
35
+ XCN_BCRYPT_SECRET_AGREEMENT_INTERFACE = 0x4,
36
+ XCN_BCRYPT_SIGNATURE_INTERFACE = 0x5,
37
+ XCN_BCRYPT_RNG_INTERFACE = 0x6
38
+ } AlgorithmType;
39
+
40
+ //AlternativeNameType
41
+
42
+ typedef enum CERTENROLL_OBJECTID {
43
+ XCN_OID_NONE = 0,
44
+ XCN_OID_RSA = 1,
45
+ XCN_OID_PKCS = 2,
46
+ XCN_OID_RSA_HASH = 3,
47
+ XCN_OID_RSA_ENCRYPT = 4,
48
+ XCN_OID_PKCS_1 = 5,
49
+ XCN_OID_PKCS_2 = 6,
50
+ XCN_OID_PKCS_3 = 7,
51
+ XCN_OID_PKCS_4 = 8,
52
+ XCN_OID_PKCS_5 = 9,
53
+ XCN_OID_PKCS_6 = 10,
54
+ XCN_OID_PKCS_7 = 11,
55
+ XCN_OID_PKCS_8 = 12,
56
+ XCN_OID_PKCS_9 = 13,
57
+ XCN_OID_PKCS_10 = 14,
58
+ XCN_OID_PKCS_12 = 15,
59
+ XCN_OID_RSA_RSA = 16,
60
+ XCN_OID_RSA_MD2RSA = 17,
61
+ XCN_OID_RSA_MD4RSA = 18,
62
+ XCN_OID_RSA_MD5RSA = 19,
63
+ XCN_OID_RSA_SHA1RSA = 20,
64
+ XCN_OID_RSA_SETOAEP_RSA = 21,
65
+ XCN_OID_RSA_DH = 22,
66
+ XCN_OID_RSA_data = 23,
67
+ XCN_OID_RSA_signedData = 24,
68
+ XCN_OID_RSA_envelopedData = 25,
69
+ XCN_OID_RSA_signEnvData = 26,
70
+ XCN_OID_RSA_digestedData = 27,
71
+ XCN_OID_RSA_hashedData = 28,
72
+ XCN_OID_RSA_encryptedData = 29,
73
+ XCN_OID_RSA_emailAddr = 30,
74
+ XCN_OID_RSA_unstructName = 31,
75
+ XCN_OID_RSA_contentType = 32,
76
+ XCN_OID_RSA_messageDigest = 33,
77
+ XCN_OID_RSA_signingTime = 34,
78
+ XCN_OID_RSA_counterSign = 35,
79
+ XCN_OID_RSA_challengePwd = 36,
80
+ XCN_OID_RSA_unstructAddr = 37,
81
+ XCN_OID_RSA_extCertAttrs = 38,
82
+ XCN_OID_RSA_certExtensions = 39,
83
+ XCN_OID_RSA_SMIMECapabilities = 40,
84
+ XCN_OID_RSA_preferSignedData = 41,
85
+ XCN_OID_RSA_SMIMEalg = 42,
86
+ XCN_OID_RSA_SMIMEalgESDH = 43,
87
+ XCN_OID_RSA_SMIMEalgCMS3DESwrap = 44,
88
+ XCN_OID_RSA_SMIMEalgCMSRC2wrap = 45,
89
+ XCN_OID_RSA_MD2 = 46,
90
+ XCN_OID_RSA_MD4 = 47,
91
+ XCN_OID_RSA_MD5 = 48,
92
+ XCN_OID_RSA_RC2CBC = 49,
93
+ XCN_OID_RSA_RC4 = 50,
94
+ XCN_OID_RSA_DES_EDE3_CBC = 51,
95
+ XCN_OID_RSA_RC5_CBCPad = 52,
96
+ XCN_OID_ANSI_X942 = 53,
97
+ XCN_OID_ANSI_X942_DH = 54,
98
+ XCN_OID_X957 = 55,
99
+ XCN_OID_X957_DSA = 56,
100
+ XCN_OID_X957_SHA1DSA = 57,
101
+ XCN_OID_DS = 58,
102
+ XCN_OID_DSALG = 59,
103
+ XCN_OID_DSALG_CRPT = 60,
104
+ XCN_OID_DSALG_HASH = 61,
105
+ XCN_OID_DSALG_SIGN = 62,
106
+ XCN_OID_DSALG_RSA = 63,
107
+ XCN_OID_OIW = 64,
108
+ XCN_OID_OIWSEC = 65,
109
+ XCN_OID_OIWSEC_md4RSA = 66,
110
+ XCN_OID_OIWSEC_md5RSA = 67,
111
+ XCN_OID_OIWSEC_md4RSA2 = 68,
112
+ XCN_OID_OIWSEC_desECB = 69,
113
+ XCN_OID_OIWSEC_desCBC = 70,
114
+ XCN_OID_OIWSEC_desOFB = 71,
115
+ XCN_OID_OIWSEC_desCFB = 72,
116
+ XCN_OID_OIWSEC_desMAC = 73,
117
+ XCN_OID_OIWSEC_rsaSign = 74,
118
+ XCN_OID_OIWSEC_dsa = 75,
119
+ XCN_OID_OIWSEC_shaDSA = 76,
120
+ XCN_OID_OIWSEC_mdc2RSA = 77,
121
+ XCN_OID_OIWSEC_shaRSA = 78,
122
+ XCN_OID_OIWSEC_dhCommMod = 79,
123
+ XCN_OID_OIWSEC_desEDE = 80,
124
+ XCN_OID_OIWSEC_sha = 81,
125
+ XCN_OID_OIWSEC_mdc2 = 82,
126
+ XCN_OID_OIWSEC_dsaComm = 83,
127
+ XCN_OID_OIWSEC_dsaCommSHA = 84,
128
+ XCN_OID_OIWSEC_rsaXchg = 85,
129
+ XCN_OID_OIWSEC_keyHashSeal = 86,
130
+ XCN_OID_OIWSEC_md2RSASign = 87,
131
+ XCN_OID_OIWSEC_md5RSASign = 88,
132
+ XCN_OID_OIWSEC_sha1 = 89,
133
+ XCN_OID_OIWSEC_dsaSHA1 = 90,
134
+ XCN_OID_OIWSEC_dsaCommSHA1 = 91,
135
+ XCN_OID_OIWSEC_sha1RSASign = 92,
136
+ XCN_OID_OIWDIR = 93,
137
+ XCN_OID_OIWDIR_CRPT = 94,
138
+ XCN_OID_OIWDIR_HASH = 95,
139
+ XCN_OID_OIWDIR_SIGN = 96,
140
+ XCN_OID_OIWDIR_md2 = 97,
141
+ XCN_OID_OIWDIR_md2RSA = 98,
142
+ XCN_OID_INFOSEC = 99,
143
+ XCN_OID_INFOSEC_sdnsSignature = 100,
144
+ XCN_OID_INFOSEC_mosaicSignature = 101,
145
+ XCN_OID_INFOSEC_sdnsConfidentiality = 102,
146
+ XCN_OID_INFOSEC_mosaicConfidentiality = 103,
147
+ XCN_OID_INFOSEC_sdnsIntegrity = 104,
148
+ XCN_OID_INFOSEC_mosaicIntegrity = 105,
149
+ XCN_OID_INFOSEC_sdnsTokenProtection = 106,
150
+ XCN_OID_INFOSEC_mosaicTokenProtection = 107,
151
+ XCN_OID_INFOSEC_sdnsKeyManagement = 108,
152
+ XCN_OID_INFOSEC_mosaicKeyManagement = 109,
153
+ XCN_OID_INFOSEC_sdnsKMandSig = 110,
154
+ XCN_OID_INFOSEC_mosaicKMandSig = 111,
155
+ XCN_OID_INFOSEC_SuiteASignature = 112,
156
+ XCN_OID_INFOSEC_SuiteAConfidentiality = 113,
157
+ XCN_OID_INFOSEC_SuiteAIntegrity = 114,
158
+ XCN_OID_INFOSEC_SuiteATokenProtection = 115,
159
+ XCN_OID_INFOSEC_SuiteAKeyManagement = 116,
160
+ XCN_OID_INFOSEC_SuiteAKMandSig = 117,
161
+ XCN_OID_INFOSEC_mosaicUpdatedSig = 118,
162
+ XCN_OID_INFOSEC_mosaicKMandUpdSig = 119,
163
+ XCN_OID_INFOSEC_mosaicUpdatedInteg = 120,
164
+ XCN_OID_COMMON_NAME = 121,
165
+ XCN_OID_SUR_NAME = 122,
166
+ XCN_OID_DEVICE_SERIAL_NUMBER = 123,
167
+ XCN_OID_COUNTRY_NAME = 124,
168
+ XCN_OID_LOCALITY_NAME = 125,
169
+ XCN_OID_STATE_OR_PROVINCE_NAME = 126,
170
+ XCN_OID_STREET_ADDRESS = 127,
171
+ XCN_OID_ORGANIZATION_NAME = 128,
172
+ XCN_OID_ORGANIZATIONAL_UNIT_NAME = 129,
173
+ XCN_OID_TITLE = 130,
174
+ XCN_OID_DESCRIPTION = 131,
175
+ XCN_OID_SEARCH_GUIDE = 132,
176
+ XCN_OID_BUSINESS_CATEGORY = 133,
177
+ XCN_OID_POSTAL_ADDRESS = 134,
178
+ XCN_OID_POSTAL_CODE = 135,
179
+ XCN_OID_POST_OFFICE_BOX = 136,
180
+ XCN_OID_PHYSICAL_DELIVERY_OFFICE_NAME = 137,
181
+ XCN_OID_TELEPHONE_NUMBER = 138,
182
+ XCN_OID_TELEX_NUMBER = 139,
183
+ XCN_OID_TELETEXT_TERMINAL_IDENTIFIER = 140,
184
+ XCN_OID_FACSIMILE_TELEPHONE_NUMBER = 141,
185
+ XCN_OID_X21_ADDRESS = 142,
186
+ XCN_OID_INTERNATIONAL_ISDN_NUMBER = 143,
187
+ XCN_OID_REGISTERED_ADDRESS = 144,
188
+ XCN_OID_DESTINATION_INDICATOR = 145,
189
+ XCN_OID_PREFERRED_DELIVERY_METHOD = 146,
190
+ XCN_OID_PRESENTATION_ADDRESS = 147,
191
+ XCN_OID_SUPPORTED_APPLICATION_CONTEXT = 148,
192
+ XCN_OID_MEMBER = 149,
193
+ XCN_OID_OWNER = 150,
194
+ XCN_OID_ROLE_OCCUPANT = 151,
195
+ XCN_OID_SEE_ALSO = 152,
196
+ XCN_OID_USER_PASSWORD = 153,
197
+ XCN_OID_USER_CERTIFICATE = 154,
198
+ XCN_OID_CA_CERTIFICATE = 155,
199
+ XCN_OID_AUTHORITY_REVOCATION_LIST = 156,
200
+ XCN_OID_CERTIFICATE_REVOCATION_LIST = 157,
201
+ XCN_OID_CROSS_CERTIFICATE_PAIR = 158,
202
+ XCN_OID_GIVEN_NAME = 159,
203
+ XCN_OID_INITIALS = 160,
204
+ XCN_OID_DN_QUALIFIER = 161,
205
+ XCN_OID_DOMAIN_COMPONENT = 162,
206
+ XCN_OID_PKCS_12_FRIENDLY_NAME_ATTR = 163,
207
+ XCN_OID_PKCS_12_LOCAL_KEY_ID = 164,
208
+ XCN_OID_PKCS_12_KEY_PROVIDER_NAME_ATTR = 165,
209
+ XCN_OID_LOCAL_MACHINE_KEYSET = 166,
210
+ XCN_OID_PKCS_12_EXTENDED_ATTRIBUTES = 167,
211
+ XCN_OID_KEYID_RDN = 168,
212
+ XCN_OID_AUTHORITY_KEY_IDENTIFIER = 169,
213
+ XCN_OID_KEY_ATTRIBUTES = 170,
214
+ XCN_OID_CERT_POLICIES_95 = 171,
215
+ XCN_OID_KEY_USAGE_RESTRICTION = 172,
216
+ XCN_OID_SUBJECT_ALT_NAME = 173,
217
+ XCN_OID_ISSUER_ALT_NAME = 174,
218
+ XCN_OID_BASIC_CONSTRAINTS = 175,
219
+ XCN_OID_KEY_USAGE = 176,
220
+ XCN_OID_PRIVATEKEY_USAGE_PERIOD = 177,
221
+ XCN_OID_BASIC_CONSTRAINTS2 = 178,
222
+ XCN_OID_CERT_POLICIES = 179,
223
+ XCN_OID_ANY_CERT_POLICY = 180,
224
+ XCN_OID_AUTHORITY_KEY_IDENTIFIER2 = 181,
225
+ XCN_OID_SUBJECT_KEY_IDENTIFIER = 182,
226
+ XCN_OID_SUBJECT_ALT_NAME2 = 183,
227
+ XCN_OID_ISSUER_ALT_NAME2 = 184,
228
+ XCN_OID_CRL_REASON_CODE = 185,
229
+ XCN_OID_REASON_CODE_HOLD = 186,
230
+ XCN_OID_CRL_DIST_POINTS = 187,
231
+ XCN_OID_ENHANCED_KEY_USAGE = 188,
232
+ XCN_OID_CRL_NUMBER = 189,
233
+ XCN_OID_DELTA_CRL_INDICATOR = 190,
234
+ XCN_OID_ISSUING_DIST_POINT = 191,
235
+ XCN_OID_FRESHEST_CRL = 192,
236
+ XCN_OID_NAME_CONSTRAINTS = 193,
237
+ XCN_OID_POLICY_MAPPINGS = 194,
238
+ XCN_OID_LEGACY_POLICY_MAPPINGS = 195,
239
+ XCN_OID_POLICY_CONSTRAINTS = 196,
240
+ XCN_OID_RENEWAL_CERTIFICATE = 197,
241
+ XCN_OID_ENROLLMENT_NAME_VALUE_PAIR = 198,
242
+ XCN_OID_ENROLLMENT_CSP_PROVIDER = 199,
243
+ XCN_OID_OS_VERSION = 200,
244
+ XCN_OID_ENROLLMENT_AGENT = 201,
245
+ XCN_OID_PKIX = 202,
246
+ XCN_OID_PKIX_PE = 203,
247
+ XCN_OID_AUTHORITY_INFO_ACCESS = 204,
248
+ XCN_OID_BIOMETRIC_EXT = 205,
249
+ XCN_OID_LOGOTYPE_EXT = 206,
250
+ XCN_OID_CERT_EXTENSIONS = 207,
251
+ XCN_OID_NEXT_UPDATE_LOCATION = 208,
252
+ XCN_OID_REMOVE_CERTIFICATE = 209,
253
+ XCN_OID_CROSS_CERT_DIST_POINTS = 210,
254
+ XCN_OID_CTL = 211,
255
+ XCN_OID_SORTED_CTL = 212,
256
+ XCN_OID_SERIALIZED = 213,
257
+ XCN_OID_NT_PRINCIPAL_NAME = 214,
258
+ XCN_OID_PRODUCT_UPDATE = 215,
259
+ XCN_OID_ANY_APPLICATION_POLICY = 216,
260
+ XCN_OID_AUTO_ENROLL_CTL_USAGE = 217,
261
+ XCN_OID_ENROLL_CERTTYPE_EXTENSION = 218,
262
+ XCN_OID_CERT_MANIFOLD = 219,
263
+ XCN_OID_CERTSRV_CA_VERSION = 220,
264
+ XCN_OID_CERTSRV_PREVIOUS_CERT_HASH = 221,
265
+ XCN_OID_CRL_VIRTUAL_BASE = 222,
266
+ XCN_OID_CRL_NEXT_PUBLISH = 223,
267
+ XCN_OID_KP_CA_EXCHANGE = 224,
268
+ XCN_OID_KP_KEY_RECOVERY_AGENT = 225,
269
+ XCN_OID_CERTIFICATE_TEMPLATE = 226,
270
+ XCN_OID_ENTERPRISE_OID_ROOT = 227,
271
+ XCN_OID_RDN_DUMMY_SIGNER = 228,
272
+ XCN_OID_APPLICATION_CERT_POLICIES = 229,
273
+ XCN_OID_APPLICATION_POLICY_MAPPINGS = 230,
274
+ XCN_OID_APPLICATION_POLICY_CONSTRAINTS = 231,
275
+ XCN_OID_ARCHIVED_KEY_ATTR = 232,
276
+ XCN_OID_CRL_SELF_CDP = 233,
277
+ XCN_OID_REQUIRE_CERT_CHAIN_POLICY = 234,
278
+ XCN_OID_ARCHIVED_KEY_CERT_HASH = 235,
279
+ XCN_OID_ISSUED_CERT_HASH = 236,
280
+ XCN_OID_DS_EMAIL_REPLICATION = 237,
281
+ XCN_OID_REQUEST_CLIENT_INFO = 238,
282
+ XCN_OID_ENCRYPTED_KEY_HASH = 239,
283
+ XCN_OID_CERTSRV_CROSSCA_VERSION = 240,
284
+ XCN_OID_NTDS_REPLICATION = 241,
285
+ XCN_OID_SUBJECT_DIR_ATTRS = 242,
286
+ XCN_OID_PKIX_KP = 243,
287
+ XCN_OID_PKIX_KP_SERVER_AUTH = 244,
288
+ XCN_OID_PKIX_KP_CLIENT_AUTH = 245,
289
+ XCN_OID_PKIX_KP_CODE_SIGNING = 246,
290
+ XCN_OID_PKIX_KP_EMAIL_PROTECTION = 247,
291
+ XCN_OID_PKIX_KP_IPSEC_END_SYSTEM = 248,
292
+ XCN_OID_PKIX_KP_IPSEC_TUNNEL = 249,
293
+ XCN_OID_PKIX_KP_IPSEC_USER = 250,
294
+ XCN_OID_PKIX_KP_TIMESTAMP_SIGNING = 251,
295
+ XCN_OID_PKIX_KP_OCSP_SIGNING = 252,
296
+ XCN_OID_PKIX_OCSP_NOCHECK = 253,
297
+ XCN_OID_IPSEC_KP_IKE_INTERMEDIATE = 254,
298
+ XCN_OID_KP_CTL_USAGE_SIGNING = 255,
299
+ XCN_OID_KP_TIME_STAMP_SIGNING = 256,
300
+ XCN_OID_SERVER_GATED_CRYPTO = 257,
301
+ XCN_OID_SGC_NETSCAPE = 258,
302
+ XCN_OID_KP_EFS = 259,
303
+ XCN_OID_EFS_RECOVERY = 260,
304
+ XCN_OID_WHQL_CRYPTO = 261,
305
+ XCN_OID_NT5_CRYPTO = 262,
306
+ XCN_OID_OEM_WHQL_CRYPTO = 263,
307
+ XCN_OID_EMBEDDED_NT_CRYPTO = 264,
308
+ XCN_OID_ROOT_LIST_SIGNER = 265,
309
+ XCN_OID_KP_QUALIFIED_SUBORDINATION = 266,
310
+ XCN_OID_KP_KEY_RECOVERY = 267,
311
+ XCN_OID_KP_DOCUMENT_SIGNING = 268,
312
+ XCN_OID_KP_LIFETIME_SIGNING = 269,
313
+ XCN_OID_KP_MOBILE_DEVICE_SOFTWARE = 270,
314
+ XCN_OID_KP_SMART_DISPLAY = 271,
315
+ XCN_OID_KP_CSP_SIGNATURE = 272,
316
+ XCN_OID_DRM = 273,
317
+ XCN_OID_DRM_INDIVIDUALIZATION = 274,
318
+ XCN_OID_LICENSES = 275,
319
+ XCN_OID_LICENSE_SERVER = 276,
320
+ XCN_OID_KP_SMARTCARD_LOGON = 277,
321
+ XCN_OID_YESNO_TRUST_ATTR = 278,
322
+ XCN_OID_PKIX_POLICY_QUALIFIER_CPS = 279,
323
+ XCN_OID_PKIX_POLICY_QUALIFIER_USERNOTICE = 280,
324
+ XCN_OID_CERT_POLICIES_95_QUALIFIER1 = 281,
325
+ XCN_OID_PKIX_ACC_DESCR = 282,
326
+ XCN_OID_PKIX_OCSP = 283,
327
+ XCN_OID_PKIX_CA_ISSUERS = 284,
328
+ XCN_OID_VERISIGN_PRIVATE_6_9 = 285,
329
+ XCN_OID_VERISIGN_ONSITE_JURISDICTION_HASH = 286,
330
+ XCN_OID_VERISIGN_BITSTRING_6_13 = 287,
331
+ XCN_OID_VERISIGN_ISS_STRONG_CRYPTO = 288,
332
+ XCN_OID_NETSCAPE = 289,
333
+ XCN_OID_NETSCAPE_CERT_EXTENSION = 290,
334
+ XCN_OID_NETSCAPE_CERT_TYPE = 291,
335
+ XCN_OID_NETSCAPE_BASE_URL = 292,
336
+ XCN_OID_NETSCAPE_REVOCATION_URL = 293,
337
+ XCN_OID_NETSCAPE_CA_REVOCATION_URL = 294,
338
+ XCN_OID_NETSCAPE_CERT_RENEWAL_URL = 295,
339
+ XCN_OID_NETSCAPE_CA_POLICY_URL = 296,
340
+ XCN_OID_NETSCAPE_SSL_SERVER_NAME = 297,
341
+ XCN_OID_NETSCAPE_COMMENT = 298,
342
+ XCN_OID_NETSCAPE_DATA_TYPE = 299,
343
+ XCN_OID_NETSCAPE_CERT_SEQUENCE = 300,
344
+ XCN_OID_CT_PKI_DATA = 301,
345
+ XCN_OID_CT_PKI_RESPONSE = 302,
346
+ XCN_OID_PKIX_NO_SIGNATURE = 303,
347
+ XCN_OID_CMC = 304,
348
+ XCN_OID_CMC_STATUS_INFO = 305,
349
+ XCN_OID_CMC_IDENTIFICATION = 306,
350
+ XCN_OID_CMC_IDENTITY_PROOF = 307,
351
+ XCN_OID_CMC_DATA_RETURN = 308,
352
+ XCN_OID_CMC_TRANSACTION_ID = 309,
353
+ XCN_OID_CMC_SENDER_NONCE = 310,
354
+ XCN_OID_CMC_RECIPIENT_NONCE = 311,
355
+ XCN_OID_CMC_ADD_EXTENSIONS = 312,
356
+ XCN_OID_CMC_ENCRYPTED_POP = 313,
357
+ XCN_OID_CMC_DECRYPTED_POP = 314,
358
+ XCN_OID_CMC_LRA_POP_WITNESS = 315,
359
+ XCN_OID_CMC_GET_CERT = 316,
360
+ XCN_OID_CMC_GET_CRL = 317,
361
+ XCN_OID_CMC_REVOKE_REQUEST = 318,
362
+ XCN_OID_CMC_REG_INFO = 319,
363
+ XCN_OID_CMC_RESPONSE_INFO = 320,
364
+ XCN_OID_CMC_QUERY_PENDING = 321,
365
+ XCN_OID_CMC_ID_POP_LINK_RANDOM = 322,
366
+ XCN_OID_CMC_ID_POP_LINK_WITNESS = 323,
367
+ XCN_OID_CMC_ID_CONFIRM_CERT_ACCEPTANCE = 324,
368
+ XCN_OID_CMC_ADD_ATTRIBUTES = 325,
369
+ XCN_OID_LOYALTY_OTHER_LOGOTYPE = 326,
370
+ XCN_OID_BACKGROUND_OTHER_LOGOTYPE = 327,
371
+ XCN_OID_PKIX_OCSP_BASIC_SIGNED_RESPONSE = 328,
372
+ XCN_OID_PKCS_7_DATA = 329,
373
+ XCN_OID_PKCS_7_SIGNED = 330,
374
+ XCN_OID_PKCS_7_ENVELOPED = 331,
375
+ XCN_OID_PKCS_7_SIGNEDANDENVELOPED = 332,
376
+ XCN_OID_PKCS_7_DIGESTED = 333,
377
+ XCN_OID_PKCS_7_ENCRYPTED = 334,
378
+ XCN_OID_PKCS_9_CONTENT_TYPE = 335,
379
+ XCN_OID_PKCS_9_MESSAGE_DIGEST = 336,
380
+ XCN_OID_CERT_PROP_ID_PREFIX = 337,
381
+ XCN_OID_CERT_KEY_IDENTIFIER_PROP_ID = 338,
382
+ XCN_OID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID = 339,
383
+ XCN_OID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID = 340,
384
+ XCN_OID_CERT_MD5_HASH_PROP_ID = 341,
385
+ XCN_OID_RSA_SHA256RSA = 342,
386
+ XCN_OID_RSA_SHA384RSA = 343,
387
+ XCN_OID_RSA_SHA512RSA = 344,
388
+ XCN_OID_NIST_sha256 = 345,
389
+ XCN_OID_NIST_sha384 = 346,
390
+ XCN_OID_NIST_sha512 = 347,
391
+ XCN_OID_RSA_MGF1 = 348,
392
+ XCN_OID_ECC_PUBLIC_KEY = 349,
393
+ XCN_OID_RSA_SSA_PSS = 353,
394
+ XCN_OID_ECDSA_SHA1 = 354,
395
+ XCN_OID_ECDSA_SPECIFIED = 354
396
+ } CERTENROLL_OBJECTID;
397
+
398
+ //CERTENROLL_PROPERTYID
399
+ //CommitTemplateFlags
400
+
401
+ typedef enum _EncodingType {
402
+ XCN_CRYPT_STRING_BASE64HEADER = 0,
403
+ XCN_CRYPT_STRING_BASE64 = 0x1,
404
+ XCN_CRYPT_STRING_BINARY = 0x2,
405
+ XCN_CRYPT_STRING_BASE64REQUESTHEADER = 0x3,
406
+ XCN_CRYPT_STRING_HEX = 0x4,
407
+ XCN_CRYPT_STRING_HEXASCII = 0x5,
408
+ XCN_CRYPT_STRING_BASE64_ANY = 0x6,
409
+ XCN_CRYPT_STRING_ANY = 0x7,
410
+ XCN_CRYPT_STRING_HEX_ANY = 0x8,
411
+ XCN_CRYPT_STRING_BASE64X509CRLHEADER = 0x9,
412
+ XCN_CRYPT_STRING_HEXADDR = 0xa,
413
+ XCN_CRYPT_STRING_HEXASCIIADDR = 0xb,
414
+ XCN_CRYPT_STRING_HEXRAW = 0xc,
415
+ XCN_CRYPT_STRING_NOCRLF = 0x40000000,
416
+ XCN_CRYPT_STRING_NOCR = 0x80000000
417
+ } EncodingType;
418
+
419
+ //EnrollmentCAProperty
420
+ //EnrollmentDisplayStatus
421
+ //EnrollmentEnrollStatus
422
+ //EnrollmentPolicyFlags
423
+ //EnrollmentPolicyServerPropertyFlags
424
+ //EnrollmentSelectionStatus
425
+ //EnrollmentTemplateProperty
426
+ //InnerRequestLevel
427
+
428
+ typedef enum _CADESCOM_InstallResponseRestrictionFlags {
429
+ CADESCOM_AllowNone = 0,
430
+ CADESCOM_AllowNoOutstandingRequest = 0x1,
431
+ CADESCOM_AllowUntrustedCertificate = 0x2,
432
+ CADESCOM_AllowUntrustedRoot = 0x4,
433
+ CADESCOM_SkipInstallToStore = 0x10000000,
434
+ CADESCOM_InstallCertChainToContainer = 0x20000000,
435
+ CADESCOM_UseContainerStore = 0x40000000
436
+ } CADESCOM_InstallResponseRestrictionFlags;
437
+
438
+ //KeyIdentifierHashAlgorithm
439
+
440
+ typedef enum _ObjectIdGroupId {
441
+ XCN_CRYPT_ANY_GROUP_ID = 0,
442
+ XCN_CRYPT_HASH_ALG_OID_GROUP_ID = 1,
443
+ XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID = 2,
444
+ XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID = 3,
445
+ XCN_CRYPT_SIGN_ALG_OID_GROUP_ID = 4,
446
+ XCN_CRYPT_RDN_ATTR_OID_GROUP_ID = 5,
447
+ XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID = 6,
448
+ XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID = 7,
449
+ XCN_CRYPT_POLICY_OID_GROUP_ID = 8,
450
+ XCN_CRYPT_TEMPLATE_OID_GROUP_ID = 9,
451
+ XCN_CRYPT_LAST_OID_GROUP_ID = 9,
452
+ XCN_CRYPT_FIRST_ALG_OID_GROUP_ID = 1,
453
+ XCN_CRYPT_LAST_ALG_OID_GROUP_ID = 4,
454
+ XCN_CRYPT_OID_DISABLE_SEARCH_DS_FLAG = 0x80000000,
455
+ XCN_CRYPT_KEY_LENGTH_MASK = 0xffff0000
456
+ } ObjectIdGroupId;
457
+
458
+ typedef enum _ObjectIdPublicKeyFlags {
459
+ XCN_CRYPT_OID_INFO_PUBKEY_ANY = 0,
460
+ XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG = 0x80000000,
461
+ XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG = 0x40000000
462
+ } ObjectIdPublicKeyFlags;
463
+
464
+ //PFXExportOptions
465
+ //Pkcs10AllowedSignatureTypes
466
+ //PolicyQualifierType
467
+ //PolicyServerUrlFlags
468
+ //PolicyServerUrlPropertyID
469
+
470
+ typedef enum _RequestClientInfoClientId {
471
+ ClientIdNone = 0,
472
+ ClientIdXEnroll2003 = 1,
473
+ ClientIdAutoEnroll2003 = 2,
474
+ ClientIdWizard2003 = 3,
475
+ ClientIdCertReq2003 = 4,
476
+ ClientIdDefaultRequest = 5,
477
+ ClientIdAutoEnroll = 6,
478
+ ClientIdRequestWizard = 7,
479
+ ClientIdEOBO = 8,
480
+ ClientIdCertReq = 9,
481
+ ClientIdTest = 10,
482
+ ClientIdUserStart = 1000
483
+ } RequestClientInfoClientId;
484
+
485
+ //WebEnrollmentFlags
486
+ //WebSecurityLevel
487
+
488
+ typedef enum _X500NameFlags {
489
+ XCN_CERT_NAME_STR_NONE = 0,
490
+ XCN_CERT_SIMPLE_NAME_STR = 1,
491
+ XCN_CERT_OID_NAME_STR = 2,
492
+ XCN_CERT_X500_NAME_STR = 3,
493
+ XCN_CERT_XML_NAME_STR = 4,
494
+ XCN_CERT_NAME_STR_SEMICOLON_FLAG = 0x40000000,
495
+ XCN_CERT_NAME_STR_NO_PLUS_FLAG = 0x20000000,
496
+ XCN_CERT_NAME_STR_NO_QUOTING_FLAG = 0x10000000,
497
+ XCN_CERT_NAME_STR_CRLF_FLAG = 0x8000000,
498
+ XCN_CERT_NAME_STR_COMMA_FLAG = 0x4000000,
499
+ XCN_CERT_NAME_STR_REVERSE_FLAG = 0x2000000,
500
+ XCN_CERT_NAME_STR_FORWARD_FLAG = 0x1000000,
501
+ XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG = 0x10000,
502
+ XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = 0x20000,
503
+ XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG = 0x40000,
504
+ XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG = 0x80000,
505
+ XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG = 0x100000
506
+ } X500NameFlags;
507
+
508
+ typedef enum _X509CertificateEnrollmentContext {
509
+ ContextUser = 0x1,
510
+ ContextMachine = 0x2,
511
+ ContextAdministratorForceMachine = 0x3
512
+ } X509CertificateEnrollmentContext;
513
+
514
+ //X509CertificateTemplateEnrollmentFlag
515
+ //X509CertificateTemplateGeneralFlag
516
+ //X509CertificateTemplatePrivateKeyFlag
517
+ //X509CertificateTemplateSubjectNameFlag
518
+ //X509EnrollmentPolicyExportFlags
519
+ //X509EnrollmentPolicyLoadOption
520
+
521
+ typedef enum _X509KeySpec {
522
+ XCN_AT_NONE = 0,
523
+ XCN_AT_KEYEXCHANGE = 1,
524
+ XCN_AT_SIGNATURE = 2
525
+ } X509KeySpec;
526
+
527
+ typedef enum _X509KeyUsageFlags {
528
+ XCN_CERT_NO_KEY_USAGE = 0,
529
+ XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80,
530
+ XCN_CERT_NON_REPUDIATION_KEY_USAGE = 0x40,
531
+ XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20,
532
+ XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10,
533
+ XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 0x8,
534
+ XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 0x4,
535
+ XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 0x2,
536
+ XCN_CERT_CRL_SIGN_KEY_USAGE = 0x2,
537
+ XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 0x1,
538
+ XCN_CERT_DECIPHER_ONLY_KEY_USAGE = (0x80 << 8)
539
+ } X509KeyUsageFlags;
540
+
541
+ typedef enum _X509PrivateKeyExportFlags {
542
+ XCN_NCRYPT_ALLOW_EXPORT_NONE = 0,
543
+ XCN_NCRYPT_ALLOW_EXPORT_FLAG = 0x1,
544
+ XCN_NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG = 0x2,
545
+ XCN_NCRYPT_ALLOW_ARCHIVING_FLAG = 0x4,
546
+ XCN_NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG = 0x8
547
+ } X509PrivateKeyExportFlags;
548
+
549
+ typedef enum _X509PrivateKeyProtection {
550
+ XCN_NCRYPT_UI_NO_PROTECTION_FLAG = 0,
551
+ XCN_NCRYPT_UI_PROTECT_KEY_FLAG = 0x1,
552
+ XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG = 0x2
553
+ } X509PrivateKeyProtection;
554
+
555
+ typedef enum _X509PrivateKeyUsageFlags {
556
+ XCN_NCRYPT_ALLOW_USAGES_NONE = 0,
557
+ XCN_NCRYPT_ALLOW_DECRYPT_FLAG = 0x1,
558
+ XCN_NCRYPT_ALLOW_SIGNING_FLAG = 0x2,
559
+ XCN_NCRYPT_ALLOW_KEY_AGREEMENT_FLAG = 0x4,
560
+ XCN_NCRYPT_ALLOW_ALL_USAGES = 0xffffff
561
+ } X509PrivateKeyUsageFlags;
562
+
563
+ //X509PrivateKeyVerify
564
+
565
+ typedef enum _X509ProviderType {
566
+ XCN_PROV_NONE = 0,
567
+ XCN_PROV_RSA_FULL = 1,
568
+ XCN_PROV_RSA_SIG = 2,
569
+ XCN_PROV_DSS = 3,
570
+ XCN_PROV_FORTEZZA = 4,
571
+ XCN_PROV_MS_EXCHANGE = 5,
572
+ XCN_PROV_SSL = 6,
573
+ XCN_PROV_RSA_SCHANNEL = 12,
574
+ XCN_PROV_DSS_DH = 13,
575
+ XCN_PROV_EC_ECDSA_SIG = 14,
576
+ XCN_PROV_EC_ECNRA_SIG = 15,
577
+ XCN_PROV_EC_ECDSA_FULL = 16,
578
+ XCN_PROV_EC_ECNRA_FULL = 17,
579
+ XCN_PROV_DH_SCHANNEL = 18,
580
+ XCN_PROV_SPYRUS_LYNKS = 20,
581
+ XCN_PROV_RNG = 21,
582
+ XCN_PROV_INTEL_SEC = 22,
583
+ XCN_PROV_REPLACE_OWF = 23,
584
+ XCN_PROV_RSA_AES = 24
585
+ } X509ProviderType;
586
+
587
+ //X509RequestInheritOptions
588
+ //X509RequestType
589
+ //X509SCEPDisposition
590
+ //X509SCEPFailInfo
591
+
592
+ typedef enum _PolicyQualifierType {
593
+ PolicyQualifierTypeUnknown = 0,
594
+ PolicyQualifierTypeUrl = 1,
595
+ PolicyQualifierTypeUserNotice = 2,
596
+ PolicyQualifierTypeFlags = 3
597
+ } PolicyQualifierType;
598
+
599
+ } /* namespace Enroll */
600
+ } /* namespace PKI */
601
+ } /* namespace CryptoPro */
602
+ #endif //CPP_ENROLL_ENUMERATIONS_H_
603
+ #endif // !_WIN32