1use libc::{c_char, c_int};
3
4use std::ffi::CStr;
5use std::ffi::CString;
6use std::fmt;
7use std::str;
8
9use crate::cvt_p;
10use crate::error::ErrorStack;
11use openssl_macros::corresponds;
12
13pub struct SignatureAlgorithms {
15 pub digest: Nid,
19
20 pub pkey: Nid,
22}
23
24#[derive(Copy, Clone, PartialEq, Eq, Hash)]
50pub struct Nid(c_int);
51
52#[allow(non_snake_case)]
53impl Nid {
54 pub const fn from_raw(raw: c_int) -> Nid {
56 Nid(raw)
57 }
58
59 #[allow(clippy::trivially_copy_pass_by_ref)]
61 pub const fn as_raw(&self) -> c_int {
62 self.0
63 }
64
65 #[corresponds(OBJ_create)]
67 pub fn create(oid: &str, sn: &str, ln: &str) -> Result<Nid, ErrorStack> {
68 unsafe {
69 ffi::init();
70 let oid = CString::new(oid).unwrap();
71 let sn = CString::new(sn).unwrap();
72 let ln = CString::new(ln).unwrap();
73 let raw = ffi::OBJ_create(oid.as_ptr(), sn.as_ptr(), ln.as_ptr());
74 if raw == ffi::NID_undef {
75 Err(ErrorStack::get())
76 } else {
77 Ok(Nid(raw))
78 }
79 }
80 }
81
82 #[corresponds(OBJ_find_sigid_algs)]
84 #[allow(clippy::trivially_copy_pass_by_ref)]
85 pub fn signature_algorithms(&self) -> Option<SignatureAlgorithms> {
86 unsafe {
87 let mut digest = 0;
88 let mut pkey = 0;
89 if ffi::OBJ_find_sigid_algs(self.0, &mut digest, &mut pkey) == 1 {
90 Some(SignatureAlgorithms {
91 digest: Nid(digest),
92 pkey: Nid(pkey),
93 })
94 } else {
95 None
96 }
97 }
98 }
99
100 #[corresponds(OBJ_nid2ln)]
102 #[allow(clippy::trivially_copy_pass_by_ref)]
103 pub fn long_name(&self) -> Result<&'static str, ErrorStack> {
104 unsafe {
105 cvt_p(ffi::OBJ_nid2ln(self.0) as *mut c_char)
106 .map(|nameptr| str::from_utf8(CStr::from_ptr(nameptr).to_bytes()).unwrap())
107 }
108 }
109
110 #[corresponds(OBJ_nid2sn)]
112 #[allow(clippy::trivially_copy_pass_by_ref)]
113 pub fn short_name(&self) -> Result<&'static str, ErrorStack> {
114 unsafe {
115 cvt_p(ffi::OBJ_nid2sn(self.0) as *mut c_char)
116 .map(|nameptr| str::from_utf8(CStr::from_ptr(nameptr).to_bytes()).unwrap())
117 }
118 }
119
120 pub const UNDEF: Nid = Nid(ffi::NID_undef);
121 pub const ITU_T: Nid = Nid(ffi::NID_itu_t);
122 #[cfg(not(any(boringssl, awslc)))]
123 pub const CCITT: Nid = Nid(ffi::NID_ccitt);
124 pub const ISO: Nid = Nid(ffi::NID_iso);
125 pub const JOINT_ISO_ITU_T: Nid = Nid(ffi::NID_joint_iso_itu_t);
126 #[cfg(not(any(boringssl, awslc)))]
127 pub const JOINT_ISO_CCITT: Nid = Nid(ffi::NID_joint_iso_ccitt);
128 pub const MEMBER_BODY: Nid = Nid(ffi::NID_member_body);
129 pub const IDENTIFIED_ORGANIZATION: Nid = Nid(ffi::NID_identified_organization);
130 pub const HMAC_MD5: Nid = Nid(ffi::NID_hmac_md5);
131 pub const HMAC_SHA1: Nid = Nid(ffi::NID_hmac_sha1);
132 pub const CERTICOM_ARC: Nid = Nid(ffi::NID_certicom_arc);
133 pub const INTERNATIONAL_ORGANIZATIONS: Nid = Nid(ffi::NID_international_organizations);
134 pub const WAP: Nid = Nid(ffi::NID_wap);
135 pub const WAP_WSG: Nid = Nid(ffi::NID_wap_wsg);
136 pub const SELECTED_ATTRIBUTE_TYPES: Nid = Nid(ffi::NID_selected_attribute_types);
137 pub const CLEARANCE: Nid = Nid(ffi::NID_clearance);
138 pub const ISO_US: Nid = Nid(ffi::NID_ISO_US);
139 pub const X9_57: Nid = Nid(ffi::NID_X9_57);
140 pub const X9CM: Nid = Nid(ffi::NID_X9cm);
141 pub const DSA: Nid = Nid(ffi::NID_dsa);
142 pub const DSAWITHSHA1: Nid = Nid(ffi::NID_dsaWithSHA1);
143 pub const ANSI_X9_62: Nid = Nid(ffi::NID_ansi_X9_62);
144 pub const X9_62_PRIME_FIELD: Nid = Nid(ffi::NID_X9_62_prime_field);
145 pub const X9_62_CHARACTERISTIC_TWO_FIELD: Nid = Nid(ffi::NID_X9_62_characteristic_two_field);
146 pub const X9_62_ID_CHARACTERISTIC_TWO_BASIS: Nid =
147 Nid(ffi::NID_X9_62_id_characteristic_two_basis);
148 pub const X9_62_ONBASIS: Nid = Nid(ffi::NID_X9_62_onBasis);
149 pub const X9_62_TPBASIS: Nid = Nid(ffi::NID_X9_62_tpBasis);
150 pub const X9_62_PPBASIS: Nid = Nid(ffi::NID_X9_62_ppBasis);
151 pub const X9_62_ID_ECPUBLICKEY: Nid = Nid(ffi::NID_X9_62_id_ecPublicKey);
152 pub const X9_62_C2PNB163V1: Nid = Nid(ffi::NID_X9_62_c2pnb163v1);
153 pub const X9_62_C2PNB163V2: Nid = Nid(ffi::NID_X9_62_c2pnb163v2);
154 pub const X9_62_C2PNB163V3: Nid = Nid(ffi::NID_X9_62_c2pnb163v3);
155 pub const X9_62_C2PNB176V1: Nid = Nid(ffi::NID_X9_62_c2pnb176v1);
156 pub const X9_62_C2TNB191V1: Nid = Nid(ffi::NID_X9_62_c2tnb191v1);
157 pub const X9_62_C2TNB191V2: Nid = Nid(ffi::NID_X9_62_c2tnb191v2);
158 pub const X9_62_C2TNB191V3: Nid = Nid(ffi::NID_X9_62_c2tnb191v3);
159 pub const X9_62_C2ONB191V4: Nid = Nid(ffi::NID_X9_62_c2onb191v4);
160 pub const X9_62_C2ONB191V5: Nid = Nid(ffi::NID_X9_62_c2onb191v5);
161 pub const X9_62_C2PNB208W1: Nid = Nid(ffi::NID_X9_62_c2pnb208w1);
162 pub const X9_62_C2TNB239V1: Nid = Nid(ffi::NID_X9_62_c2tnb239v1);
163 pub const X9_62_C2TNB239V2: Nid = Nid(ffi::NID_X9_62_c2tnb239v2);
164 pub const X9_62_C2TNB239V3: Nid = Nid(ffi::NID_X9_62_c2tnb239v3);
165 pub const X9_62_C2ONB239V4: Nid = Nid(ffi::NID_X9_62_c2onb239v4);
166 pub const X9_62_C2ONB239V5: Nid = Nid(ffi::NID_X9_62_c2onb239v5);
167 pub const X9_62_C2PNB272W1: Nid = Nid(ffi::NID_X9_62_c2pnb272w1);
168 pub const X9_62_C2PNB304W1: Nid = Nid(ffi::NID_X9_62_c2pnb304w1);
169 pub const X9_62_C2TNB359V1: Nid = Nid(ffi::NID_X9_62_c2tnb359v1);
170 pub const X9_62_C2PNB368W1: Nid = Nid(ffi::NID_X9_62_c2pnb368w1);
171 pub const X9_62_C2TNB431R1: Nid = Nid(ffi::NID_X9_62_c2tnb431r1);
172 pub const X9_62_PRIME192V1: Nid = Nid(ffi::NID_X9_62_prime192v1);
173 pub const X9_62_PRIME192V2: Nid = Nid(ffi::NID_X9_62_prime192v2);
174 pub const X9_62_PRIME192V3: Nid = Nid(ffi::NID_X9_62_prime192v3);
175 pub const X9_62_PRIME239V1: Nid = Nid(ffi::NID_X9_62_prime239v1);
176 pub const X9_62_PRIME239V2: Nid = Nid(ffi::NID_X9_62_prime239v2);
177 pub const X9_62_PRIME239V3: Nid = Nid(ffi::NID_X9_62_prime239v3);
178 pub const X9_62_PRIME256V1: Nid = Nid(ffi::NID_X9_62_prime256v1);
179 pub const ECDSA_WITH_SHA1: Nid = Nid(ffi::NID_ecdsa_with_SHA1);
180 pub const ECDSA_WITH_RECOMMENDED: Nid = Nid(ffi::NID_ecdsa_with_Recommended);
181 pub const ECDSA_WITH_SPECIFIED: Nid = Nid(ffi::NID_ecdsa_with_Specified);
182 pub const ECDSA_WITH_SHA224: Nid = Nid(ffi::NID_ecdsa_with_SHA224);
183 pub const ECDSA_WITH_SHA256: Nid = Nid(ffi::NID_ecdsa_with_SHA256);
184 pub const ECDSA_WITH_SHA384: Nid = Nid(ffi::NID_ecdsa_with_SHA384);
185 pub const ECDSA_WITH_SHA512: Nid = Nid(ffi::NID_ecdsa_with_SHA512);
186 pub const SECP112R1: Nid = Nid(ffi::NID_secp112r1);
187 pub const SECP112R2: Nid = Nid(ffi::NID_secp112r2);
188 pub const SECP128R1: Nid = Nid(ffi::NID_secp128r1);
189 pub const SECP128R2: Nid = Nid(ffi::NID_secp128r2);
190 pub const SECP160K1: Nid = Nid(ffi::NID_secp160k1);
191 pub const SECP160R1: Nid = Nid(ffi::NID_secp160r1);
192 pub const SECP160R2: Nid = Nid(ffi::NID_secp160r2);
193 pub const SECP192K1: Nid = Nid(ffi::NID_secp192k1);
194 pub const SECP224K1: Nid = Nid(ffi::NID_secp224k1);
195 pub const SECP224R1: Nid = Nid(ffi::NID_secp224r1);
196 pub const SECP256K1: Nid = Nid(ffi::NID_secp256k1);
197 pub const SECP384R1: Nid = Nid(ffi::NID_secp384r1);
198 pub const SECP521R1: Nid = Nid(ffi::NID_secp521r1);
199 pub const SECT113R1: Nid = Nid(ffi::NID_sect113r1);
200 pub const SECT113R2: Nid = Nid(ffi::NID_sect113r2);
201 pub const SECT131R1: Nid = Nid(ffi::NID_sect131r1);
202 pub const SECT131R2: Nid = Nid(ffi::NID_sect131r2);
203 pub const SECT163K1: Nid = Nid(ffi::NID_sect163k1);
204 pub const SECT163R1: Nid = Nid(ffi::NID_sect163r1);
205 pub const SECT163R2: Nid = Nid(ffi::NID_sect163r2);
206 pub const SECT193R1: Nid = Nid(ffi::NID_sect193r1);
207 pub const SECT193R2: Nid = Nid(ffi::NID_sect193r2);
208 pub const SECT233K1: Nid = Nid(ffi::NID_sect233k1);
209 pub const SECT233R1: Nid = Nid(ffi::NID_sect233r1);
210 pub const SECT239K1: Nid = Nid(ffi::NID_sect239k1);
211 pub const SECT283K1: Nid = Nid(ffi::NID_sect283k1);
212 pub const SECT283R1: Nid = Nid(ffi::NID_sect283r1);
213 pub const SECT409K1: Nid = Nid(ffi::NID_sect409k1);
214 pub const SECT409R1: Nid = Nid(ffi::NID_sect409r1);
215 pub const SECT571K1: Nid = Nid(ffi::NID_sect571k1);
216 pub const SECT571R1: Nid = Nid(ffi::NID_sect571r1);
217 #[cfg(any(ossl110, libressl))]
218 pub const BRAINPOOL_P192R1: Nid = Nid(ffi::NID_brainpoolP192r1);
219 #[cfg(any(ossl110, libressl))]
220 pub const BRAINPOOL_P224R1: Nid = Nid(ffi::NID_brainpoolP224r1);
221 #[cfg(any(ossl110, libressl))]
222 pub const BRAINPOOL_P256R1: Nid = Nid(ffi::NID_brainpoolP256r1);
223 #[cfg(any(ossl110, libressl))]
224 pub const BRAINPOOL_P320R1: Nid = Nid(ffi::NID_brainpoolP320r1);
225 #[cfg(any(ossl110, libressl))]
226 pub const BRAINPOOL_P384R1: Nid = Nid(ffi::NID_brainpoolP384r1);
227 #[cfg(any(ossl110, libressl))]
228 pub const BRAINPOOL_P512R1: Nid = Nid(ffi::NID_brainpoolP512r1);
229 #[cfg(any(ossl110, libressl))]
230 pub const BRAINPOOL_P192T1: Nid = Nid(ffi::NID_brainpoolP192t1);
231 #[cfg(any(ossl110, libressl))]
232 pub const BRAINPOOL_P224T1: Nid = Nid(ffi::NID_brainpoolP224t1);
233 #[cfg(any(ossl110, libressl))]
234 pub const BRAINPOOL_P256T1: Nid = Nid(ffi::NID_brainpoolP256t1);
235 #[cfg(any(ossl110, libressl))]
236 pub const BRAINPOOL_P320T1: Nid = Nid(ffi::NID_brainpoolP320t1);
237 #[cfg(any(ossl110, libressl))]
238 pub const BRAINPOOL_P384T1: Nid = Nid(ffi::NID_brainpoolP384t1);
239 #[cfg(any(ossl110, libressl))]
240 pub const BRAINPOOL_P512T1: Nid = Nid(ffi::NID_brainpoolP512t1);
241 pub const WAP_WSG_IDM_ECID_WTLS1: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls1);
242 pub const WAP_WSG_IDM_ECID_WTLS3: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls3);
243 pub const WAP_WSG_IDM_ECID_WTLS4: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls4);
244 pub const WAP_WSG_IDM_ECID_WTLS5: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls5);
245 pub const WAP_WSG_IDM_ECID_WTLS6: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls6);
246 pub const WAP_WSG_IDM_ECID_WTLS7: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls7);
247 pub const WAP_WSG_IDM_ECID_WTLS8: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls8);
248 pub const WAP_WSG_IDM_ECID_WTLS9: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls9);
249 pub const WAP_WSG_IDM_ECID_WTLS10: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls10);
250 pub const WAP_WSG_IDM_ECID_WTLS11: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls11);
251 pub const WAP_WSG_IDM_ECID_WTLS12: Nid = Nid(ffi::NID_wap_wsg_idm_ecid_wtls12);
252 pub const CAST5_CBC: Nid = Nid(ffi::NID_cast5_cbc);
253 pub const CAST5_ECB: Nid = Nid(ffi::NID_cast5_ecb);
254 pub const CAST5_CFB64: Nid = Nid(ffi::NID_cast5_cfb64);
255 pub const CAST5_OFB64: Nid = Nid(ffi::NID_cast5_ofb64);
256 pub const PBEWITHMD5ANDCAST5_CBC: Nid = Nid(ffi::NID_pbeWithMD5AndCast5_CBC);
257 pub const ID_PASSWORDBASEDMAC: Nid = Nid(ffi::NID_id_PasswordBasedMAC);
258 pub const ID_DHBASEDMAC: Nid = Nid(ffi::NID_id_DHBasedMac);
259 pub const RSADSI: Nid = Nid(ffi::NID_rsadsi);
260 pub const PKCS: Nid = Nid(ffi::NID_pkcs);
261 pub const PKCS1: Nid = Nid(ffi::NID_pkcs1);
262 pub const RSAENCRYPTION: Nid = Nid(ffi::NID_rsaEncryption);
263 pub const MD2WITHRSAENCRYPTION: Nid = Nid(ffi::NID_md2WithRSAEncryption);
264 pub const MD4WITHRSAENCRYPTION: Nid = Nid(ffi::NID_md4WithRSAEncryption);
265 pub const MD5WITHRSAENCRYPTION: Nid = Nid(ffi::NID_md5WithRSAEncryption);
266 pub const SHA1WITHRSAENCRYPTION: Nid = Nid(ffi::NID_sha1WithRSAEncryption);
267 pub const RSAESOAEP: Nid = Nid(ffi::NID_rsaesOaep);
268 pub const MGF1: Nid = Nid(ffi::NID_mgf1);
269 pub const RSASSAPSS: Nid = Nid(ffi::NID_rsassaPss);
270 pub const SHA256WITHRSAENCRYPTION: Nid = Nid(ffi::NID_sha256WithRSAEncryption);
271 pub const SHA384WITHRSAENCRYPTION: Nid = Nid(ffi::NID_sha384WithRSAEncryption);
272 pub const SHA512WITHRSAENCRYPTION: Nid = Nid(ffi::NID_sha512WithRSAEncryption);
273 pub const SHA224WITHRSAENCRYPTION: Nid = Nid(ffi::NID_sha224WithRSAEncryption);
274 pub const PKCS3: Nid = Nid(ffi::NID_pkcs3);
275 pub const DHKEYAGREEMENT: Nid = Nid(ffi::NID_dhKeyAgreement);
276 pub const PKCS5: Nid = Nid(ffi::NID_pkcs5);
277 pub const PBEWITHMD2ANDDES_CBC: Nid = Nid(ffi::NID_pbeWithMD2AndDES_CBC);
278 pub const PBEWITHMD5ANDDES_CBC: Nid = Nid(ffi::NID_pbeWithMD5AndDES_CBC);
279 pub const PBEWITHMD2ANDRC2_CBC: Nid = Nid(ffi::NID_pbeWithMD2AndRC2_CBC);
280 pub const PBEWITHMD5ANDRC2_CBC: Nid = Nid(ffi::NID_pbeWithMD5AndRC2_CBC);
281 pub const PBEWITHSHA1ANDDES_CBC: Nid = Nid(ffi::NID_pbeWithSHA1AndDES_CBC);
282 pub const PBEWITHSHA1ANDRC2_CBC: Nid = Nid(ffi::NID_pbeWithSHA1AndRC2_CBC);
283 pub const ID_PBKDF2: Nid = Nid(ffi::NID_id_pbkdf2);
284 pub const PBES2: Nid = Nid(ffi::NID_pbes2);
285 pub const PBMAC1: Nid = Nid(ffi::NID_pbmac1);
286 pub const PKCS7: Nid = Nid(ffi::NID_pkcs7);
287 pub const PKCS7_DATA: Nid = Nid(ffi::NID_pkcs7_data);
288 pub const PKCS7_SIGNED: Nid = Nid(ffi::NID_pkcs7_signed);
289 pub const PKCS7_ENVELOPED: Nid = Nid(ffi::NID_pkcs7_enveloped);
290 pub const PKCS7_SIGNEDANDENVELOPED: Nid = Nid(ffi::NID_pkcs7_signedAndEnveloped);
291 pub const PKCS7_DIGEST: Nid = Nid(ffi::NID_pkcs7_digest);
292 pub const PKCS7_ENCRYPTED: Nid = Nid(ffi::NID_pkcs7_encrypted);
293 pub const PKCS9: Nid = Nid(ffi::NID_pkcs9);
294 pub const PKCS9_EMAILADDRESS: Nid = Nid(ffi::NID_pkcs9_emailAddress);
295 pub const PKCS9_UNSTRUCTUREDNAME: Nid = Nid(ffi::NID_pkcs9_unstructuredName);
296 pub const PKCS9_CONTENTTYPE: Nid = Nid(ffi::NID_pkcs9_contentType);
297 pub const PKCS9_MESSAGEDIGEST: Nid = Nid(ffi::NID_pkcs9_messageDigest);
298 pub const PKCS9_SIGNINGTIME: Nid = Nid(ffi::NID_pkcs9_signingTime);
299 pub const PKCS9_COUNTERSIGNATURE: Nid = Nid(ffi::NID_pkcs9_countersignature);
300 pub const PKCS9_CHALLENGEPASSWORD: Nid = Nid(ffi::NID_pkcs9_challengePassword);
301 pub const PKCS9_UNSTRUCTUREDADDRESS: Nid = Nid(ffi::NID_pkcs9_unstructuredAddress);
302 pub const PKCS9_EXTCERTATTRIBUTES: Nid = Nid(ffi::NID_pkcs9_extCertAttributes);
303 pub const EXT_REQ: Nid = Nid(ffi::NID_ext_req);
304 pub const SMIMECAPABILITIES: Nid = Nid(ffi::NID_SMIMECapabilities);
305 pub const SMIME: Nid = Nid(ffi::NID_SMIME);
306 pub const ID_SMIME_MOD: Nid = Nid(ffi::NID_id_smime_mod);
307 pub const ID_SMIME_CT: Nid = Nid(ffi::NID_id_smime_ct);
308 pub const ID_SMIME_AA: Nid = Nid(ffi::NID_id_smime_aa);
309 pub const ID_SMIME_ALG: Nid = Nid(ffi::NID_id_smime_alg);
310 pub const ID_SMIME_CD: Nid = Nid(ffi::NID_id_smime_cd);
311 pub const ID_SMIME_SPQ: Nid = Nid(ffi::NID_id_smime_spq);
312 pub const ID_SMIME_CTI: Nid = Nid(ffi::NID_id_smime_cti);
313 pub const ID_SMIME_MOD_CMS: Nid = Nid(ffi::NID_id_smime_mod_cms);
314 pub const ID_SMIME_MOD_ESS: Nid = Nid(ffi::NID_id_smime_mod_ess);
315 pub const ID_SMIME_MOD_OID: Nid = Nid(ffi::NID_id_smime_mod_oid);
316 pub const ID_SMIME_MOD_MSG_V3: Nid = Nid(ffi::NID_id_smime_mod_msg_v3);
317 pub const ID_SMIME_MOD_ETS_ESIGNATURE_88: Nid = Nid(ffi::NID_id_smime_mod_ets_eSignature_88);
318 pub const ID_SMIME_MOD_ETS_ESIGNATURE_97: Nid = Nid(ffi::NID_id_smime_mod_ets_eSignature_97);
319 pub const ID_SMIME_MOD_ETS_ESIGPOLICY_88: Nid = Nid(ffi::NID_id_smime_mod_ets_eSigPolicy_88);
320 pub const ID_SMIME_MOD_ETS_ESIGPOLICY_97: Nid = Nid(ffi::NID_id_smime_mod_ets_eSigPolicy_97);
321 pub const ID_SMIME_CT_RECEIPT: Nid = Nid(ffi::NID_id_smime_ct_receipt);
322 pub const ID_SMIME_CT_AUTHDATA: Nid = Nid(ffi::NID_id_smime_ct_authData);
323 pub const ID_SMIME_CT_PUBLISHCERT: Nid = Nid(ffi::NID_id_smime_ct_publishCert);
324 pub const ID_SMIME_CT_TSTINFO: Nid = Nid(ffi::NID_id_smime_ct_TSTInfo);
325 pub const ID_SMIME_CT_TDTINFO: Nid = Nid(ffi::NID_id_smime_ct_TDTInfo);
326 pub const ID_SMIME_CT_CONTENTINFO: Nid = Nid(ffi::NID_id_smime_ct_contentInfo);
327 pub const ID_SMIME_CT_DVCSREQUESTDATA: Nid = Nid(ffi::NID_id_smime_ct_DVCSRequestData);
328 pub const ID_SMIME_CT_DVCSRESPONSEDATA: Nid = Nid(ffi::NID_id_smime_ct_DVCSResponseData);
329 pub const ID_SMIME_CT_COMPRESSEDDATA: Nid = Nid(ffi::NID_id_smime_ct_compressedData);
330 pub const ID_CT_ASCIITEXTWITHCRLF: Nid = Nid(ffi::NID_id_ct_asciiTextWithCRLF);
331 pub const ID_SMIME_AA_RECEIPTREQUEST: Nid = Nid(ffi::NID_id_smime_aa_receiptRequest);
332 pub const ID_SMIME_AA_SECURITYLABEL: Nid = Nid(ffi::NID_id_smime_aa_securityLabel);
333 pub const ID_SMIME_AA_MLEXPANDHISTORY: Nid = Nid(ffi::NID_id_smime_aa_mlExpandHistory);
334 pub const ID_SMIME_AA_CONTENTHINT: Nid = Nid(ffi::NID_id_smime_aa_contentHint);
335 pub const ID_SMIME_AA_MSGSIGDIGEST: Nid = Nid(ffi::NID_id_smime_aa_msgSigDigest);
336 pub const ID_SMIME_AA_ENCAPCONTENTTYPE: Nid = Nid(ffi::NID_id_smime_aa_encapContentType);
337 pub const ID_SMIME_AA_CONTENTIDENTIFIER: Nid = Nid(ffi::NID_id_smime_aa_contentIdentifier);
338 pub const ID_SMIME_AA_MACVALUE: Nid = Nid(ffi::NID_id_smime_aa_macValue);
339 pub const ID_SMIME_AA_EQUIVALENTLABELS: Nid = Nid(ffi::NID_id_smime_aa_equivalentLabels);
340 pub const ID_SMIME_AA_CONTENTREFERENCE: Nid = Nid(ffi::NID_id_smime_aa_contentReference);
341 pub const ID_SMIME_AA_ENCRYPKEYPREF: Nid = Nid(ffi::NID_id_smime_aa_encrypKeyPref);
342 pub const ID_SMIME_AA_SIGNINGCERTIFICATE: Nid = Nid(ffi::NID_id_smime_aa_signingCertificate);
343 pub const ID_SMIME_AA_SMIMEENCRYPTCERTS: Nid = Nid(ffi::NID_id_smime_aa_smimeEncryptCerts);
344 pub const ID_SMIME_AA_TIMESTAMPTOKEN: Nid = Nid(ffi::NID_id_smime_aa_timeStampToken);
345 pub const ID_SMIME_AA_ETS_SIGPOLICYID: Nid = Nid(ffi::NID_id_smime_aa_ets_sigPolicyId);
346 pub const ID_SMIME_AA_ETS_COMMITMENTTYPE: Nid = Nid(ffi::NID_id_smime_aa_ets_commitmentType);
347 pub const ID_SMIME_AA_ETS_SIGNERLOCATION: Nid = Nid(ffi::NID_id_smime_aa_ets_signerLocation);
348 pub const ID_SMIME_AA_ETS_SIGNERATTR: Nid = Nid(ffi::NID_id_smime_aa_ets_signerAttr);
349 pub const ID_SMIME_AA_ETS_OTHERSIGCERT: Nid = Nid(ffi::NID_id_smime_aa_ets_otherSigCert);
350 pub const ID_SMIME_AA_ETS_CONTENTTIMESTAMP: Nid =
351 Nid(ffi::NID_id_smime_aa_ets_contentTimestamp);
352 pub const ID_SMIME_AA_ETS_CERTIFICATEREFS: Nid = Nid(ffi::NID_id_smime_aa_ets_CertificateRefs);
353 pub const ID_SMIME_AA_ETS_REVOCATIONREFS: Nid = Nid(ffi::NID_id_smime_aa_ets_RevocationRefs);
354 pub const ID_SMIME_AA_ETS_CERTVALUES: Nid = Nid(ffi::NID_id_smime_aa_ets_certValues);
355 pub const ID_SMIME_AA_ETS_REVOCATIONVALUES: Nid =
356 Nid(ffi::NID_id_smime_aa_ets_revocationValues);
357 pub const ID_SMIME_AA_ETS_ESCTIMESTAMP: Nid = Nid(ffi::NID_id_smime_aa_ets_escTimeStamp);
358 pub const ID_SMIME_AA_ETS_CERTCRLTIMESTAMP: Nid =
359 Nid(ffi::NID_id_smime_aa_ets_certCRLTimestamp);
360 pub const ID_SMIME_AA_ETS_ARCHIVETIMESTAMP: Nid =
361 Nid(ffi::NID_id_smime_aa_ets_archiveTimeStamp);
362 pub const ID_SMIME_AA_SIGNATURETYPE: Nid = Nid(ffi::NID_id_smime_aa_signatureType);
363 pub const ID_SMIME_AA_DVCS_DVC: Nid = Nid(ffi::NID_id_smime_aa_dvcs_dvc);
364 pub const ID_SMIME_ALG_ESDHWITH3DES: Nid = Nid(ffi::NID_id_smime_alg_ESDHwith3DES);
365 pub const ID_SMIME_ALG_ESDHWITHRC2: Nid = Nid(ffi::NID_id_smime_alg_ESDHwithRC2);
366 pub const ID_SMIME_ALG_3DESWRAP: Nid = Nid(ffi::NID_id_smime_alg_3DESwrap);
367 pub const ID_SMIME_ALG_RC2WRAP: Nid = Nid(ffi::NID_id_smime_alg_RC2wrap);
368 pub const ID_SMIME_ALG_ESDH: Nid = Nid(ffi::NID_id_smime_alg_ESDH);
369 pub const ID_SMIME_ALG_CMS3DESWRAP: Nid = Nid(ffi::NID_id_smime_alg_CMS3DESwrap);
370 pub const ID_SMIME_ALG_CMSRC2WRAP: Nid = Nid(ffi::NID_id_smime_alg_CMSRC2wrap);
371 pub const ID_ALG_PWRI_KEK: Nid = Nid(ffi::NID_id_alg_PWRI_KEK);
372 pub const ID_SMIME_CD_LDAP: Nid = Nid(ffi::NID_id_smime_cd_ldap);
373 pub const ID_SMIME_SPQ_ETS_SQT_URI: Nid = Nid(ffi::NID_id_smime_spq_ets_sqt_uri);
374 pub const ID_SMIME_SPQ_ETS_SQT_UNOTICE: Nid = Nid(ffi::NID_id_smime_spq_ets_sqt_unotice);
375 pub const ID_SMIME_CTI_ETS_PROOFOFORIGIN: Nid = Nid(ffi::NID_id_smime_cti_ets_proofOfOrigin);
376 pub const ID_SMIME_CTI_ETS_PROOFOFRECEIPT: Nid = Nid(ffi::NID_id_smime_cti_ets_proofOfReceipt);
377 pub const ID_SMIME_CTI_ETS_PROOFOFDELIVERY: Nid =
378 Nid(ffi::NID_id_smime_cti_ets_proofOfDelivery);
379 pub const ID_SMIME_CTI_ETS_PROOFOFSENDER: Nid = Nid(ffi::NID_id_smime_cti_ets_proofOfSender);
380 pub const ID_SMIME_CTI_ETS_PROOFOFAPPROVAL: Nid =
381 Nid(ffi::NID_id_smime_cti_ets_proofOfApproval);
382 pub const ID_SMIME_CTI_ETS_PROOFOFCREATION: Nid =
383 Nid(ffi::NID_id_smime_cti_ets_proofOfCreation);
384 pub const FRIENDLYNAME: Nid = Nid(ffi::NID_friendlyName);
385 pub const LOCALKEYID: Nid = Nid(ffi::NID_localKeyID);
386 pub const MS_CSP_NAME: Nid = Nid(ffi::NID_ms_csp_name);
387 pub const LOCALKEYSET: Nid = Nid(ffi::NID_LocalKeySet);
388 pub const X509CERTIFICATE: Nid = Nid(ffi::NID_x509Certificate);
389 pub const SDSICERTIFICATE: Nid = Nid(ffi::NID_sdsiCertificate);
390 pub const X509CRL: Nid = Nid(ffi::NID_x509Crl);
391 pub const PBE_WITHSHA1AND128BITRC4: Nid = Nid(ffi::NID_pbe_WithSHA1And128BitRC4);
392 pub const PBE_WITHSHA1AND40BITRC4: Nid = Nid(ffi::NID_pbe_WithSHA1And40BitRC4);
393 pub const PBE_WITHSHA1AND3_KEY_TRIPLEDES_CBC: Nid =
394 Nid(ffi::NID_pbe_WithSHA1And3_Key_TripleDES_CBC);
395 pub const PBE_WITHSHA1AND2_KEY_TRIPLEDES_CBC: Nid =
396 Nid(ffi::NID_pbe_WithSHA1And2_Key_TripleDES_CBC);
397 pub const PBE_WITHSHA1AND128BITRC2_CBC: Nid = Nid(ffi::NID_pbe_WithSHA1And128BitRC2_CBC);
398 pub const PBE_WITHSHA1AND40BITRC2_CBC: Nid = Nid(ffi::NID_pbe_WithSHA1And40BitRC2_CBC);
399 pub const KEYBAG: Nid = Nid(ffi::NID_keyBag);
400 pub const PKCS8SHROUDEDKEYBAG: Nid = Nid(ffi::NID_pkcs8ShroudedKeyBag);
401 pub const CERTBAG: Nid = Nid(ffi::NID_certBag);
402 pub const CRLBAG: Nid = Nid(ffi::NID_crlBag);
403 pub const SECRETBAG: Nid = Nid(ffi::NID_secretBag);
404 pub const SAFECONTENTSBAG: Nid = Nid(ffi::NID_safeContentsBag);
405 pub const MD2: Nid = Nid(ffi::NID_md2);
406 pub const MD4: Nid = Nid(ffi::NID_md4);
407 pub const MD5: Nid = Nid(ffi::NID_md5);
408 pub const MD5_SHA1: Nid = Nid(ffi::NID_md5_sha1);
409 pub const HMACWITHMD5: Nid = Nid(ffi::NID_hmacWithMD5);
410 pub const HMACWITHSHA1: Nid = Nid(ffi::NID_hmacWithSHA1);
411 pub const HMACWITHSHA224: Nid = Nid(ffi::NID_hmacWithSHA224);
412 pub const HMACWITHSHA256: Nid = Nid(ffi::NID_hmacWithSHA256);
413 pub const HMACWITHSHA384: Nid = Nid(ffi::NID_hmacWithSHA384);
414 pub const HMACWITHSHA512: Nid = Nid(ffi::NID_hmacWithSHA512);
415 pub const RC2_CBC: Nid = Nid(ffi::NID_rc2_cbc);
416 pub const RC2_ECB: Nid = Nid(ffi::NID_rc2_ecb);
417 pub const RC2_CFB64: Nid = Nid(ffi::NID_rc2_cfb64);
418 pub const RC2_OFB64: Nid = Nid(ffi::NID_rc2_ofb64);
419 pub const RC2_40_CBC: Nid = Nid(ffi::NID_rc2_40_cbc);
420 pub const RC2_64_CBC: Nid = Nid(ffi::NID_rc2_64_cbc);
421 pub const RC4: Nid = Nid(ffi::NID_rc4);
422 pub const RC4_40: Nid = Nid(ffi::NID_rc4_40);
423 pub const DES_EDE3_CBC: Nid = Nid(ffi::NID_des_ede3_cbc);
424 pub const RC5_CBC: Nid = Nid(ffi::NID_rc5_cbc);
425 pub const RC5_ECB: Nid = Nid(ffi::NID_rc5_ecb);
426 pub const RC5_CFB64: Nid = Nid(ffi::NID_rc5_cfb64);
427 pub const RC5_OFB64: Nid = Nid(ffi::NID_rc5_ofb64);
428 pub const MS_EXT_REQ: Nid = Nid(ffi::NID_ms_ext_req);
429 pub const MS_CODE_IND: Nid = Nid(ffi::NID_ms_code_ind);
430 pub const MS_CODE_COM: Nid = Nid(ffi::NID_ms_code_com);
431 pub const MS_CTL_SIGN: Nid = Nid(ffi::NID_ms_ctl_sign);
432 pub const MS_SGC: Nid = Nid(ffi::NID_ms_sgc);
433 pub const MS_EFS: Nid = Nid(ffi::NID_ms_efs);
434 pub const MS_SMARTCARD_LOGIN: Nid = Nid(ffi::NID_ms_smartcard_login);
435 pub const MS_UPN: Nid = Nid(ffi::NID_ms_upn);
436 pub const IDEA_CBC: Nid = Nid(ffi::NID_idea_cbc);
437 pub const IDEA_ECB: Nid = Nid(ffi::NID_idea_ecb);
438 pub const IDEA_CFB64: Nid = Nid(ffi::NID_idea_cfb64);
439 pub const IDEA_OFB64: Nid = Nid(ffi::NID_idea_ofb64);
440 pub const BF_CBC: Nid = Nid(ffi::NID_bf_cbc);
441 pub const BF_ECB: Nid = Nid(ffi::NID_bf_ecb);
442 pub const BF_CFB64: Nid = Nid(ffi::NID_bf_cfb64);
443 pub const BF_OFB64: Nid = Nid(ffi::NID_bf_ofb64);
444 pub const ID_PKIX: Nid = Nid(ffi::NID_id_pkix);
445 pub const ID_PKIX_MOD: Nid = Nid(ffi::NID_id_pkix_mod);
446 pub const ID_PE: Nid = Nid(ffi::NID_id_pe);
447 pub const ID_QT: Nid = Nid(ffi::NID_id_qt);
448 pub const ID_KP: Nid = Nid(ffi::NID_id_kp);
449 pub const ID_IT: Nid = Nid(ffi::NID_id_it);
450 pub const ID_PKIP: Nid = Nid(ffi::NID_id_pkip);
451 pub const ID_ALG: Nid = Nid(ffi::NID_id_alg);
452 pub const ID_CMC: Nid = Nid(ffi::NID_id_cmc);
453 pub const ID_ON: Nid = Nid(ffi::NID_id_on);
454 pub const ID_PDA: Nid = Nid(ffi::NID_id_pda);
455 pub const ID_ACA: Nid = Nid(ffi::NID_id_aca);
456 pub const ID_QCS: Nid = Nid(ffi::NID_id_qcs);
457 pub const ID_CCT: Nid = Nid(ffi::NID_id_cct);
458 pub const ID_PPL: Nid = Nid(ffi::NID_id_ppl);
459 pub const ID_AD: Nid = Nid(ffi::NID_id_ad);
460 pub const ID_PKIX1_EXPLICIT_88: Nid = Nid(ffi::NID_id_pkix1_explicit_88);
461 pub const ID_PKIX1_IMPLICIT_88: Nid = Nid(ffi::NID_id_pkix1_implicit_88);
462 pub const ID_PKIX1_EXPLICIT_93: Nid = Nid(ffi::NID_id_pkix1_explicit_93);
463 pub const ID_PKIX1_IMPLICIT_93: Nid = Nid(ffi::NID_id_pkix1_implicit_93);
464 pub const ID_MOD_CRMF: Nid = Nid(ffi::NID_id_mod_crmf);
465 pub const ID_MOD_CMC: Nid = Nid(ffi::NID_id_mod_cmc);
466 pub const ID_MOD_KEA_PROFILE_88: Nid = Nid(ffi::NID_id_mod_kea_profile_88);
467 pub const ID_MOD_KEA_PROFILE_93: Nid = Nid(ffi::NID_id_mod_kea_profile_93);
468 pub const ID_MOD_CMP: Nid = Nid(ffi::NID_id_mod_cmp);
469 pub const ID_MOD_QUALIFIED_CERT_88: Nid = Nid(ffi::NID_id_mod_qualified_cert_88);
470 pub const ID_MOD_QUALIFIED_CERT_93: Nid = Nid(ffi::NID_id_mod_qualified_cert_93);
471 pub const ID_MOD_ATTRIBUTE_CERT: Nid = Nid(ffi::NID_id_mod_attribute_cert);
472 pub const ID_MOD_TIMESTAMP_PROTOCOL: Nid = Nid(ffi::NID_id_mod_timestamp_protocol);
473 pub const ID_MOD_OCSP: Nid = Nid(ffi::NID_id_mod_ocsp);
474 pub const ID_MOD_DVCS: Nid = Nid(ffi::NID_id_mod_dvcs);
475 pub const ID_MOD_CMP2000: Nid = Nid(ffi::NID_id_mod_cmp2000);
476 pub const INFO_ACCESS: Nid = Nid(ffi::NID_info_access);
477 pub const BIOMETRICINFO: Nid = Nid(ffi::NID_biometricInfo);
478 pub const QCSTATEMENTS: Nid = Nid(ffi::NID_qcStatements);
479 pub const AC_AUDITENTITY: Nid = Nid(ffi::NID_ac_auditEntity);
480 pub const AC_TARGETING: Nid = Nid(ffi::NID_ac_targeting);
481 pub const AACONTROLS: Nid = Nid(ffi::NID_aaControls);
482 pub const SBGP_IPADDRBLOCK: Nid = Nid(ffi::NID_sbgp_ipAddrBlock);
483 pub const SBGP_AUTONOMOUSSYSNUM: Nid = Nid(ffi::NID_sbgp_autonomousSysNum);
484 pub const SBGP_ROUTERIDENTIFIER: Nid = Nid(ffi::NID_sbgp_routerIdentifier);
485 pub const AC_PROXYING: Nid = Nid(ffi::NID_ac_proxying);
486 pub const SINFO_ACCESS: Nid = Nid(ffi::NID_sinfo_access);
487 pub const PROXYCERTINFO: Nid = Nid(ffi::NID_proxyCertInfo);
488 pub const ID_QT_CPS: Nid = Nid(ffi::NID_id_qt_cps);
489 pub const ID_QT_UNOTICE: Nid = Nid(ffi::NID_id_qt_unotice);
490 pub const TEXTNOTICE: Nid = Nid(ffi::NID_textNotice);
491 pub const SERVER_AUTH: Nid = Nid(ffi::NID_server_auth);
492 pub const CLIENT_AUTH: Nid = Nid(ffi::NID_client_auth);
493 pub const CODE_SIGN: Nid = Nid(ffi::NID_code_sign);
494 pub const EMAIL_PROTECT: Nid = Nid(ffi::NID_email_protect);
495 pub const IPSECENDSYSTEM: Nid = Nid(ffi::NID_ipsecEndSystem);
496 pub const IPSECTUNNEL: Nid = Nid(ffi::NID_ipsecTunnel);
497 pub const IPSECUSER: Nid = Nid(ffi::NID_ipsecUser);
498 pub const TIME_STAMP: Nid = Nid(ffi::NID_time_stamp);
499 pub const OCSP_SIGN: Nid = Nid(ffi::NID_OCSP_sign);
500 pub const DVCS: Nid = Nid(ffi::NID_dvcs);
501 pub const ID_IT_CAPROTENCCERT: Nid = Nid(ffi::NID_id_it_caProtEncCert);
502 pub const ID_IT_SIGNKEYPAIRTYPES: Nid = Nid(ffi::NID_id_it_signKeyPairTypes);
503 pub const ID_IT_ENCKEYPAIRTYPES: Nid = Nid(ffi::NID_id_it_encKeyPairTypes);
504 pub const ID_IT_PREFERREDSYMMALG: Nid = Nid(ffi::NID_id_it_preferredSymmAlg);
505 pub const ID_IT_CAKEYUPDATEINFO: Nid = Nid(ffi::NID_id_it_caKeyUpdateInfo);
506 pub const ID_IT_CURRENTCRL: Nid = Nid(ffi::NID_id_it_currentCRL);
507 pub const ID_IT_UNSUPPORTEDOIDS: Nid = Nid(ffi::NID_id_it_unsupportedOIDs);
508 pub const ID_IT_SUBSCRIPTIONREQUEST: Nid = Nid(ffi::NID_id_it_subscriptionRequest);
509 pub const ID_IT_SUBSCRIPTIONRESPONSE: Nid = Nid(ffi::NID_id_it_subscriptionResponse);
510 pub const ID_IT_KEYPAIRPARAMREQ: Nid = Nid(ffi::NID_id_it_keyPairParamReq);
511 pub const ID_IT_KEYPAIRPARAMREP: Nid = Nid(ffi::NID_id_it_keyPairParamRep);
512 pub const ID_IT_REVPASSPHRASE: Nid = Nid(ffi::NID_id_it_revPassphrase);
513 pub const ID_IT_IMPLICITCONFIRM: Nid = Nid(ffi::NID_id_it_implicitConfirm);
514 pub const ID_IT_CONFIRMWAITTIME: Nid = Nid(ffi::NID_id_it_confirmWaitTime);
515 pub const ID_IT_ORIGPKIMESSAGE: Nid = Nid(ffi::NID_id_it_origPKIMessage);
516 pub const ID_IT_SUPPLANGTAGS: Nid = Nid(ffi::NID_id_it_suppLangTags);
517 pub const ID_REGCTRL: Nid = Nid(ffi::NID_id_regCtrl);
518 pub const ID_REGINFO: Nid = Nid(ffi::NID_id_regInfo);
519 pub const ID_REGCTRL_REGTOKEN: Nid = Nid(ffi::NID_id_regCtrl_regToken);
520 pub const ID_REGCTRL_AUTHENTICATOR: Nid = Nid(ffi::NID_id_regCtrl_authenticator);
521 pub const ID_REGCTRL_PKIPUBLICATIONINFO: Nid = Nid(ffi::NID_id_regCtrl_pkiPublicationInfo);
522 pub const ID_REGCTRL_PKIARCHIVEOPTIONS: Nid = Nid(ffi::NID_id_regCtrl_pkiArchiveOptions);
523 pub const ID_REGCTRL_OLDCERTID: Nid = Nid(ffi::NID_id_regCtrl_oldCertID);
524 pub const ID_REGCTRL_PROTOCOLENCRKEY: Nid = Nid(ffi::NID_id_regCtrl_protocolEncrKey);
525 pub const ID_REGINFO_UTF8PAIRS: Nid = Nid(ffi::NID_id_regInfo_utf8Pairs);
526 pub const ID_REGINFO_CERTREQ: Nid = Nid(ffi::NID_id_regInfo_certReq);
527 pub const ID_ALG_DES40: Nid = Nid(ffi::NID_id_alg_des40);
528 pub const ID_ALG_NOSIGNATURE: Nid = Nid(ffi::NID_id_alg_noSignature);
529 pub const ID_ALG_DH_SIG_HMAC_SHA1: Nid = Nid(ffi::NID_id_alg_dh_sig_hmac_sha1);
530 pub const ID_ALG_DH_POP: Nid = Nid(ffi::NID_id_alg_dh_pop);
531 pub const ID_CMC_STATUSINFO: Nid = Nid(ffi::NID_id_cmc_statusInfo);
532 pub const ID_CMC_IDENTIFICATION: Nid = Nid(ffi::NID_id_cmc_identification);
533 pub const ID_CMC_IDENTITYPROOF: Nid = Nid(ffi::NID_id_cmc_identityProof);
534 pub const ID_CMC_DATARETURN: Nid = Nid(ffi::NID_id_cmc_dataReturn);
535 pub const ID_CMC_TRANSACTIONID: Nid = Nid(ffi::NID_id_cmc_transactionId);
536 pub const ID_CMC_SENDERNONCE: Nid = Nid(ffi::NID_id_cmc_senderNonce);
537 pub const ID_CMC_RECIPIENTNONCE: Nid = Nid(ffi::NID_id_cmc_recipientNonce);
538 pub const ID_CMC_ADDEXTENSIONS: Nid = Nid(ffi::NID_id_cmc_addExtensions);
539 pub const ID_CMC_ENCRYPTEDPOP: Nid = Nid(ffi::NID_id_cmc_encryptedPOP);
540 pub const ID_CMC_DECRYPTEDPOP: Nid = Nid(ffi::NID_id_cmc_decryptedPOP);
541 pub const ID_CMC_LRAPOPWITNESS: Nid = Nid(ffi::NID_id_cmc_lraPOPWitness);
542 pub const ID_CMC_GETCERT: Nid = Nid(ffi::NID_id_cmc_getCert);
543 pub const ID_CMC_GETCRL: Nid = Nid(ffi::NID_id_cmc_getCRL);
544 pub const ID_CMC_REVOKEREQUEST: Nid = Nid(ffi::NID_id_cmc_revokeRequest);
545 pub const ID_CMC_REGINFO: Nid = Nid(ffi::NID_id_cmc_regInfo);
546 pub const ID_CMC_RESPONSEINFO: Nid = Nid(ffi::NID_id_cmc_responseInfo);
547 pub const ID_CMC_QUERYPENDING: Nid = Nid(ffi::NID_id_cmc_queryPending);
548 pub const ID_CMC_POPLINKRANDOM: Nid = Nid(ffi::NID_id_cmc_popLinkRandom);
549 pub const ID_CMC_POPLINKWITNESS: Nid = Nid(ffi::NID_id_cmc_popLinkWitness);
550 pub const ID_CMC_CONFIRMCERTACCEPTANCE: Nid = Nid(ffi::NID_id_cmc_confirmCertAcceptance);
551 pub const ID_ON_PERSONALDATA: Nid = Nid(ffi::NID_id_on_personalData);
552 pub const ID_ON_PERMANENTIDENTIFIER: Nid = Nid(ffi::NID_id_on_permanentIdentifier);
553 pub const ID_PDA_DATEOFBIRTH: Nid = Nid(ffi::NID_id_pda_dateOfBirth);
554 pub const ID_PDA_PLACEOFBIRTH: Nid = Nid(ffi::NID_id_pda_placeOfBirth);
555 pub const ID_PDA_GENDER: Nid = Nid(ffi::NID_id_pda_gender);
556 pub const ID_PDA_COUNTRYOFCITIZENSHIP: Nid = Nid(ffi::NID_id_pda_countryOfCitizenship);
557 pub const ID_PDA_COUNTRYOFRESIDENCE: Nid = Nid(ffi::NID_id_pda_countryOfResidence);
558 pub const ID_ACA_AUTHENTICATIONINFO: Nid = Nid(ffi::NID_id_aca_authenticationInfo);
559 pub const ID_ACA_ACCESSIDENTITY: Nid = Nid(ffi::NID_id_aca_accessIdentity);
560 pub const ID_ACA_CHARGINGIDENTITY: Nid = Nid(ffi::NID_id_aca_chargingIdentity);
561 pub const ID_ACA_GROUP: Nid = Nid(ffi::NID_id_aca_group);
562 pub const ID_ACA_ROLE: Nid = Nid(ffi::NID_id_aca_role);
563 pub const ID_ACA_ENCATTRS: Nid = Nid(ffi::NID_id_aca_encAttrs);
564 pub const ID_QCS_PKIXQCSYNTAX_V1: Nid = Nid(ffi::NID_id_qcs_pkixQCSyntax_v1);
565 pub const ID_CCT_CRS: Nid = Nid(ffi::NID_id_cct_crs);
566 pub const ID_CCT_PKIDATA: Nid = Nid(ffi::NID_id_cct_PKIData);
567 pub const ID_CCT_PKIRESPONSE: Nid = Nid(ffi::NID_id_cct_PKIResponse);
568 pub const ID_PPL_ANYLANGUAGE: Nid = Nid(ffi::NID_id_ppl_anyLanguage);
569 pub const ID_PPL_INHERITALL: Nid = Nid(ffi::NID_id_ppl_inheritAll);
570 pub const INDEPENDENT: Nid = Nid(ffi::NID_Independent);
571 pub const AD_OCSP: Nid = Nid(ffi::NID_ad_OCSP);
572 pub const AD_CA_ISSUERS: Nid = Nid(ffi::NID_ad_ca_issuers);
573 pub const AD_TIMESTAMPING: Nid = Nid(ffi::NID_ad_timeStamping);
574 pub const AD_DVCS: Nid = Nid(ffi::NID_ad_dvcs);
575 pub const CAREPOSITORY: Nid = Nid(ffi::NID_caRepository);
576 pub const ID_PKIX_OCSP_BASIC: Nid = Nid(ffi::NID_id_pkix_OCSP_basic);
577 pub const ID_PKIX_OCSP_NONCE: Nid = Nid(ffi::NID_id_pkix_OCSP_Nonce);
578 pub const ID_PKIX_OCSP_CRLID: Nid = Nid(ffi::NID_id_pkix_OCSP_CrlID);
579 pub const ID_PKIX_OCSP_ACCEPTABLERESPONSES: Nid =
580 Nid(ffi::NID_id_pkix_OCSP_acceptableResponses);
581 pub const ID_PKIX_OCSP_NOCHECK: Nid = Nid(ffi::NID_id_pkix_OCSP_noCheck);
582 pub const ID_PKIX_OCSP_ARCHIVECUTOFF: Nid = Nid(ffi::NID_id_pkix_OCSP_archiveCutoff);
583 pub const ID_PKIX_OCSP_SERVICELOCATOR: Nid = Nid(ffi::NID_id_pkix_OCSP_serviceLocator);
584 pub const ID_PKIX_OCSP_EXTENDEDSTATUS: Nid = Nid(ffi::NID_id_pkix_OCSP_extendedStatus);
585 pub const ID_PKIX_OCSP_VALID: Nid = Nid(ffi::NID_id_pkix_OCSP_valid);
586 pub const ID_PKIX_OCSP_PATH: Nid = Nid(ffi::NID_id_pkix_OCSP_path);
587 pub const ID_PKIX_OCSP_TRUSTROOT: Nid = Nid(ffi::NID_id_pkix_OCSP_trustRoot);
588 pub const ALGORITHM: Nid = Nid(ffi::NID_algorithm);
589 pub const MD5WITHRSA: Nid = Nid(ffi::NID_md5WithRSA);
590 pub const DES_ECB: Nid = Nid(ffi::NID_des_ecb);
591 pub const DES_CBC: Nid = Nid(ffi::NID_des_cbc);
592 pub const DES_OFB64: Nid = Nid(ffi::NID_des_ofb64);
593 pub const DES_CFB64: Nid = Nid(ffi::NID_des_cfb64);
594 pub const RSASIGNATURE: Nid = Nid(ffi::NID_rsaSignature);
595 pub const DSA_2: Nid = Nid(ffi::NID_dsa_2);
596 pub const DSAWITHSHA: Nid = Nid(ffi::NID_dsaWithSHA);
597 pub const SHAWITHRSAENCRYPTION: Nid = Nid(ffi::NID_shaWithRSAEncryption);
598 pub const DES_EDE_ECB: Nid = Nid(ffi::NID_des_ede_ecb);
599 pub const DES_EDE3_ECB: Nid = Nid(ffi::NID_des_ede3_ecb);
600 pub const DES_EDE_CBC: Nid = Nid(ffi::NID_des_ede_cbc);
601 pub const DES_EDE_CFB64: Nid = Nid(ffi::NID_des_ede_cfb64);
602 pub const DES_EDE3_CFB64: Nid = Nid(ffi::NID_des_ede3_cfb64);
603 pub const DES_EDE_OFB64: Nid = Nid(ffi::NID_des_ede_ofb64);
604 pub const DES_EDE3_OFB64: Nid = Nid(ffi::NID_des_ede3_ofb64);
605 pub const DESX_CBC: Nid = Nid(ffi::NID_desx_cbc);
606 pub const SHA: Nid = Nid(ffi::NID_sha);
607 pub const SHA1: Nid = Nid(ffi::NID_sha1);
608 pub const DSAWITHSHA1_2: Nid = Nid(ffi::NID_dsaWithSHA1_2);
609 pub const SHA1WITHRSA: Nid = Nid(ffi::NID_sha1WithRSA);
610 pub const RIPEMD160: Nid = Nid(ffi::NID_ripemd160);
611 pub const RIPEMD160WITHRSA: Nid = Nid(ffi::NID_ripemd160WithRSA);
612 pub const SXNET: Nid = Nid(ffi::NID_sxnet);
613 pub const X500: Nid = Nid(ffi::NID_X500);
614 pub const X509: Nid = Nid(ffi::NID_X509);
615 pub const COMMONNAME: Nid = Nid(ffi::NID_commonName);
616 pub const SURNAME: Nid = Nid(ffi::NID_surname);
617 pub const SERIALNUMBER: Nid = Nid(ffi::NID_serialNumber);
618 pub const COUNTRYNAME: Nid = Nid(ffi::NID_countryName);
619 pub const LOCALITYNAME: Nid = Nid(ffi::NID_localityName);
620 pub const STATEORPROVINCENAME: Nid = Nid(ffi::NID_stateOrProvinceName);
621 pub const STREETADDRESS: Nid = Nid(ffi::NID_streetAddress);
622 pub const ORGANIZATIONNAME: Nid = Nid(ffi::NID_organizationName);
623 pub const ORGANIZATIONALUNITNAME: Nid = Nid(ffi::NID_organizationalUnitName);
624 pub const TITLE: Nid = Nid(ffi::NID_title);
625 pub const DESCRIPTION: Nid = Nid(ffi::NID_description);
626 pub const SEARCHGUIDE: Nid = Nid(ffi::NID_searchGuide);
627 pub const BUSINESSCATEGORY: Nid = Nid(ffi::NID_businessCategory);
628 pub const POSTALADDRESS: Nid = Nid(ffi::NID_postalAddress);
629 pub const POSTALCODE: Nid = Nid(ffi::NID_postalCode);
630 pub const POSTOFFICEBOX: Nid = Nid(ffi::NID_postOfficeBox);
631 pub const PHYSICALDELIVERYOFFICENAME: Nid = Nid(ffi::NID_physicalDeliveryOfficeName);
632 pub const TELEPHONENUMBER: Nid = Nid(ffi::NID_telephoneNumber);
633 pub const TELEXNUMBER: Nid = Nid(ffi::NID_telexNumber);
634 pub const TELETEXTERMINALIDENTIFIER: Nid = Nid(ffi::NID_teletexTerminalIdentifier);
635 pub const FACSIMILETELEPHONENUMBER: Nid = Nid(ffi::NID_facsimileTelephoneNumber);
636 pub const X121ADDRESS: Nid = Nid(ffi::NID_x121Address);
637 pub const INTERNATIONALISDNNUMBER: Nid = Nid(ffi::NID_internationaliSDNNumber);
638 pub const REGISTEREDADDRESS: Nid = Nid(ffi::NID_registeredAddress);
639 pub const DESTINATIONINDICATOR: Nid = Nid(ffi::NID_destinationIndicator);
640 pub const PREFERREDDELIVERYMETHOD: Nid = Nid(ffi::NID_preferredDeliveryMethod);
641 pub const PRESENTATIONADDRESS: Nid = Nid(ffi::NID_presentationAddress);
642 pub const SUPPORTEDAPPLICATIONCONTEXT: Nid = Nid(ffi::NID_supportedApplicationContext);
643 pub const MEMBER: Nid = Nid(ffi::NID_member);
644 pub const OWNER: Nid = Nid(ffi::NID_owner);
645 pub const ROLEOCCUPANT: Nid = Nid(ffi::NID_roleOccupant);
646 pub const SEEALSO: Nid = Nid(ffi::NID_seeAlso);
647 pub const USERPASSWORD: Nid = Nid(ffi::NID_userPassword);
648 pub const USERCERTIFICATE: Nid = Nid(ffi::NID_userCertificate);
649 pub const CACERTIFICATE: Nid = Nid(ffi::NID_cACertificate);
650 pub const AUTHORITYREVOCATIONLIST: Nid = Nid(ffi::NID_authorityRevocationList);
651 pub const CERTIFICATEREVOCATIONLIST: Nid = Nid(ffi::NID_certificateRevocationList);
652 pub const CROSSCERTIFICATEPAIR: Nid = Nid(ffi::NID_crossCertificatePair);
653 pub const NAME: Nid = Nid(ffi::NID_name);
654 pub const GIVENNAME: Nid = Nid(ffi::NID_givenName);
655 pub const INITIALS: Nid = Nid(ffi::NID_initials);
656 pub const GENERATIONQUALIFIER: Nid = Nid(ffi::NID_generationQualifier);
657 pub const X500UNIQUEIDENTIFIER: Nid = Nid(ffi::NID_x500UniqueIdentifier);
658 pub const DNQUALIFIER: Nid = Nid(ffi::NID_dnQualifier);
659 pub const ENHANCEDSEARCHGUIDE: Nid = Nid(ffi::NID_enhancedSearchGuide);
660 pub const PROTOCOLINFORMATION: Nid = Nid(ffi::NID_protocolInformation);
661 pub const DISTINGUISHEDNAME: Nid = Nid(ffi::NID_distinguishedName);
662 pub const UNIQUEMEMBER: Nid = Nid(ffi::NID_uniqueMember);
663 pub const HOUSEIDENTIFIER: Nid = Nid(ffi::NID_houseIdentifier);
664 pub const SUPPORTEDALGORITHMS: Nid = Nid(ffi::NID_supportedAlgorithms);
665 pub const DELTAREVOCATIONLIST: Nid = Nid(ffi::NID_deltaRevocationList);
666 pub const DMDNAME: Nid = Nid(ffi::NID_dmdName);
667 pub const PSEUDONYM: Nid = Nid(ffi::NID_pseudonym);
668 pub const ROLE: Nid = Nid(ffi::NID_role);
669 pub const X500ALGORITHMS: Nid = Nid(ffi::NID_X500algorithms);
670 pub const RSA: Nid = Nid(ffi::NID_rsa);
671 pub const MDC2WITHRSA: Nid = Nid(ffi::NID_mdc2WithRSA);
672 pub const MDC2: Nid = Nid(ffi::NID_mdc2);
673 pub const ID_CE: Nid = Nid(ffi::NID_id_ce);
674 pub const SUBJECT_DIRECTORY_ATTRIBUTES: Nid = Nid(ffi::NID_subject_directory_attributes);
675 pub const SUBJECT_KEY_IDENTIFIER: Nid = Nid(ffi::NID_subject_key_identifier);
676 pub const KEY_USAGE: Nid = Nid(ffi::NID_key_usage);
677 pub const PRIVATE_KEY_USAGE_PERIOD: Nid = Nid(ffi::NID_private_key_usage_period);
678 pub const SUBJECT_ALT_NAME: Nid = Nid(ffi::NID_subject_alt_name);
679 pub const ISSUER_ALT_NAME: Nid = Nid(ffi::NID_issuer_alt_name);
680 pub const BASIC_CONSTRAINTS: Nid = Nid(ffi::NID_basic_constraints);
681 pub const CRL_NUMBER: Nid = Nid(ffi::NID_crl_number);
682 pub const CRL_REASON: Nid = Nid(ffi::NID_crl_reason);
683 pub const INVALIDITY_DATE: Nid = Nid(ffi::NID_invalidity_date);
684 pub const DELTA_CRL: Nid = Nid(ffi::NID_delta_crl);
685 pub const ISSUING_DISTRIBUTION_POINT: Nid = Nid(ffi::NID_issuing_distribution_point);
686 pub const CERTIFICATE_ISSUER: Nid = Nid(ffi::NID_certificate_issuer);
687 pub const NAME_CONSTRAINTS: Nid = Nid(ffi::NID_name_constraints);
688 pub const CRL_DISTRIBUTION_POINTS: Nid = Nid(ffi::NID_crl_distribution_points);
689 pub const CERTIFICATE_POLICIES: Nid = Nid(ffi::NID_certificate_policies);
690 pub const ANY_POLICY: Nid = Nid(ffi::NID_any_policy);
691 pub const POLICY_MAPPINGS: Nid = Nid(ffi::NID_policy_mappings);
692 pub const AUTHORITY_KEY_IDENTIFIER: Nid = Nid(ffi::NID_authority_key_identifier);
693 pub const POLICY_CONSTRAINTS: Nid = Nid(ffi::NID_policy_constraints);
694 pub const EXT_KEY_USAGE: Nid = Nid(ffi::NID_ext_key_usage);
695 pub const FRESHEST_CRL: Nid = Nid(ffi::NID_freshest_crl);
696 pub const INHIBIT_ANY_POLICY: Nid = Nid(ffi::NID_inhibit_any_policy);
697 pub const TARGET_INFORMATION: Nid = Nid(ffi::NID_target_information);
698 pub const NO_REV_AVAIL: Nid = Nid(ffi::NID_no_rev_avail);
699 pub const ANYEXTENDEDKEYUSAGE: Nid = Nid(ffi::NID_anyExtendedKeyUsage);
700 pub const NETSCAPE: Nid = Nid(ffi::NID_netscape);
701 pub const NETSCAPE_CERT_EXTENSION: Nid = Nid(ffi::NID_netscape_cert_extension);
702 pub const NETSCAPE_DATA_TYPE: Nid = Nid(ffi::NID_netscape_data_type);
703 pub const NETSCAPE_CERT_TYPE: Nid = Nid(ffi::NID_netscape_cert_type);
704 pub const NETSCAPE_BASE_URL: Nid = Nid(ffi::NID_netscape_base_url);
705 pub const NETSCAPE_REVOCATION_URL: Nid = Nid(ffi::NID_netscape_revocation_url);
706 pub const NETSCAPE_CA_REVOCATION_URL: Nid = Nid(ffi::NID_netscape_ca_revocation_url);
707 pub const NETSCAPE_RENEWAL_URL: Nid = Nid(ffi::NID_netscape_renewal_url);
708 pub const NETSCAPE_CA_POLICY_URL: Nid = Nid(ffi::NID_netscape_ca_policy_url);
709 pub const NETSCAPE_SSL_SERVER_NAME: Nid = Nid(ffi::NID_netscape_ssl_server_name);
710 pub const NETSCAPE_COMMENT: Nid = Nid(ffi::NID_netscape_comment);
711 pub const NETSCAPE_CERT_SEQUENCE: Nid = Nid(ffi::NID_netscape_cert_sequence);
712 pub const NS_SGC: Nid = Nid(ffi::NID_ns_sgc);
713 pub const ORG: Nid = Nid(ffi::NID_org);
714 pub const DOD: Nid = Nid(ffi::NID_dod);
715 pub const IANA: Nid = Nid(ffi::NID_iana);
716 pub const DIRECTORY: Nid = Nid(ffi::NID_Directory);
717 pub const MANAGEMENT: Nid = Nid(ffi::NID_Management);
718 pub const EXPERIMENTAL: Nid = Nid(ffi::NID_Experimental);
719 pub const PRIVATE: Nid = Nid(ffi::NID_Private);
720 pub const SECURITY: Nid = Nid(ffi::NID_Security);
721 pub const SNMPV2: Nid = Nid(ffi::NID_SNMPv2);
722 pub const MAIL: Nid = Nid(ffi::NID_Mail);
723 pub const ENTERPRISES: Nid = Nid(ffi::NID_Enterprises);
724 pub const DCOBJECT: Nid = Nid(ffi::NID_dcObject);
725 pub const MIME_MHS: Nid = Nid(ffi::NID_mime_mhs);
726 pub const MIME_MHS_HEADINGS: Nid = Nid(ffi::NID_mime_mhs_headings);
727 pub const MIME_MHS_BODIES: Nid = Nid(ffi::NID_mime_mhs_bodies);
728 pub const ID_HEX_PARTIAL_MESSAGE: Nid = Nid(ffi::NID_id_hex_partial_message);
729 pub const ID_HEX_MULTIPART_MESSAGE: Nid = Nid(ffi::NID_id_hex_multipart_message);
730 pub const ZLIB_COMPRESSION: Nid = Nid(ffi::NID_zlib_compression);
731 pub const AES_128_ECB: Nid = Nid(ffi::NID_aes_128_ecb);
732 pub const AES_128_CBC: Nid = Nid(ffi::NID_aes_128_cbc);
733 pub const AES_128_OFB128: Nid = Nid(ffi::NID_aes_128_ofb128);
734 pub const AES_128_CFB128: Nid = Nid(ffi::NID_aes_128_cfb128);
735 pub const ID_AES128_WRAP: Nid = Nid(ffi::NID_id_aes128_wrap);
736 pub const AES_128_GCM: Nid = Nid(ffi::NID_aes_128_gcm);
737 pub const AES_128_CCM: Nid = Nid(ffi::NID_aes_128_ccm);
738 pub const ID_AES128_WRAP_PAD: Nid = Nid(ffi::NID_id_aes128_wrap_pad);
739 pub const AES_192_ECB: Nid = Nid(ffi::NID_aes_192_ecb);
740 pub const AES_192_CBC: Nid = Nid(ffi::NID_aes_192_cbc);
741 pub const AES_192_OFB128: Nid = Nid(ffi::NID_aes_192_ofb128);
742 pub const AES_192_CFB128: Nid = Nid(ffi::NID_aes_192_cfb128);
743 pub const ID_AES192_WRAP: Nid = Nid(ffi::NID_id_aes192_wrap);
744 pub const AES_192_GCM: Nid = Nid(ffi::NID_aes_192_gcm);
745 pub const AES_192_CCM: Nid = Nid(ffi::NID_aes_192_ccm);
746 pub const ID_AES192_WRAP_PAD: Nid = Nid(ffi::NID_id_aes192_wrap_pad);
747 pub const AES_256_ECB: Nid = Nid(ffi::NID_aes_256_ecb);
748 pub const AES_256_CBC: Nid = Nid(ffi::NID_aes_256_cbc);
749 pub const AES_256_OFB128: Nid = Nid(ffi::NID_aes_256_ofb128);
750 pub const AES_256_CFB128: Nid = Nid(ffi::NID_aes_256_cfb128);
751 pub const ID_AES256_WRAP: Nid = Nid(ffi::NID_id_aes256_wrap);
752 pub const AES_256_GCM: Nid = Nid(ffi::NID_aes_256_gcm);
753 pub const AES_256_CCM: Nid = Nid(ffi::NID_aes_256_ccm);
754 pub const ID_AES256_WRAP_PAD: Nid = Nid(ffi::NID_id_aes256_wrap_pad);
755 pub const AES_128_CFB1: Nid = Nid(ffi::NID_aes_128_cfb1);
756 pub const AES_192_CFB1: Nid = Nid(ffi::NID_aes_192_cfb1);
757 pub const AES_256_CFB1: Nid = Nid(ffi::NID_aes_256_cfb1);
758 pub const AES_128_CFB8: Nid = Nid(ffi::NID_aes_128_cfb8);
759 pub const AES_192_CFB8: Nid = Nid(ffi::NID_aes_192_cfb8);
760 pub const AES_256_CFB8: Nid = Nid(ffi::NID_aes_256_cfb8);
761 pub const AES_128_CTR: Nid = Nid(ffi::NID_aes_128_ctr);
762 pub const AES_192_CTR: Nid = Nid(ffi::NID_aes_192_ctr);
763 pub const AES_256_CTR: Nid = Nid(ffi::NID_aes_256_ctr);
764 pub const AES_128_XTS: Nid = Nid(ffi::NID_aes_128_xts);
765 pub const AES_256_XTS: Nid = Nid(ffi::NID_aes_256_xts);
766 #[cfg(ossl110)]
767 pub const AES_128_OCB: Nid = Nid(ffi::NID_aes_128_ocb);
768 #[cfg(ossl110)]
769 pub const AES_192_OCB: Nid = Nid(ffi::NID_aes_192_ocb);
770 #[cfg(ossl110)]
771 pub const AES_256_OCB: Nid = Nid(ffi::NID_aes_256_ocb);
772 pub const DES_CFB1: Nid = Nid(ffi::NID_des_cfb1);
773 pub const DES_CFB8: Nid = Nid(ffi::NID_des_cfb8);
774 pub const DES_EDE3_CFB1: Nid = Nid(ffi::NID_des_ede3_cfb1);
775 pub const DES_EDE3_CFB8: Nid = Nid(ffi::NID_des_ede3_cfb8);
776 pub const SHA256: Nid = Nid(ffi::NID_sha256);
777 pub const SHA384: Nid = Nid(ffi::NID_sha384);
778 pub const SHA512: Nid = Nid(ffi::NID_sha512);
779 pub const SHA224: Nid = Nid(ffi::NID_sha224);
780 pub const DSA_WITH_SHA224: Nid = Nid(ffi::NID_dsa_with_SHA224);
781 pub const DSA_WITH_SHA256: Nid = Nid(ffi::NID_dsa_with_SHA256);
782 pub const HOLD_INSTRUCTION_CODE: Nid = Nid(ffi::NID_hold_instruction_code);
783 pub const HOLD_INSTRUCTION_NONE: Nid = Nid(ffi::NID_hold_instruction_none);
784 pub const HOLD_INSTRUCTION_CALL_ISSUER: Nid = Nid(ffi::NID_hold_instruction_call_issuer);
785 pub const HOLD_INSTRUCTION_REJECT: Nid = Nid(ffi::NID_hold_instruction_reject);
786 pub const DATA: Nid = Nid(ffi::NID_data);
787 pub const PSS: Nid = Nid(ffi::NID_pss);
788 pub const UCL: Nid = Nid(ffi::NID_ucl);
789 pub const PILOT: Nid = Nid(ffi::NID_pilot);
790 pub const PILOTATTRIBUTETYPE: Nid = Nid(ffi::NID_pilotAttributeType);
791 pub const PILOTATTRIBUTESYNTAX: Nid = Nid(ffi::NID_pilotAttributeSyntax);
792 pub const PILOTOBJECTCLASS: Nid = Nid(ffi::NID_pilotObjectClass);
793 pub const PILOTGROUPS: Nid = Nid(ffi::NID_pilotGroups);
794 pub const IA5STRINGSYNTAX: Nid = Nid(ffi::NID_iA5StringSyntax);
795 pub const CASEIGNOREIA5STRINGSYNTAX: Nid = Nid(ffi::NID_caseIgnoreIA5StringSyntax);
796 pub const PILOTOBJECT: Nid = Nid(ffi::NID_pilotObject);
797 pub const PILOTPERSON: Nid = Nid(ffi::NID_pilotPerson);
798 pub const ACCOUNT: Nid = Nid(ffi::NID_account);
799 pub const DOCUMENT: Nid = Nid(ffi::NID_document);
800 pub const ROOM: Nid = Nid(ffi::NID_room);
801 pub const DOCUMENTSERIES: Nid = Nid(ffi::NID_documentSeries);
802 pub const DOMAIN: Nid = Nid(ffi::NID_Domain);
803 pub const RFC822LOCALPART: Nid = Nid(ffi::NID_rFC822localPart);
804 pub const DNSDOMAIN: Nid = Nid(ffi::NID_dNSDomain);
805 pub const DOMAINRELATEDOBJECT: Nid = Nid(ffi::NID_domainRelatedObject);
806 pub const FRIENDLYCOUNTRY: Nid = Nid(ffi::NID_friendlyCountry);
807 pub const SIMPLESECURITYOBJECT: Nid = Nid(ffi::NID_simpleSecurityObject);
808 pub const PILOTORGANIZATION: Nid = Nid(ffi::NID_pilotOrganization);
809 pub const PILOTDSA: Nid = Nid(ffi::NID_pilotDSA);
810 pub const QUALITYLABELLEDDATA: Nid = Nid(ffi::NID_qualityLabelledData);
811 pub const USERID: Nid = Nid(ffi::NID_userId);
812 pub const TEXTENCODEDORADDRESS: Nid = Nid(ffi::NID_textEncodedORAddress);
813 pub const RFC822MAILBOX: Nid = Nid(ffi::NID_rfc822Mailbox);
814 pub const INFO: Nid = Nid(ffi::NID_info);
815 pub const FAVOURITEDRINK: Nid = Nid(ffi::NID_favouriteDrink);
816 pub const ROOMNUMBER: Nid = Nid(ffi::NID_roomNumber);
817 pub const PHOTO: Nid = Nid(ffi::NID_photo);
818 pub const USERCLASS: Nid = Nid(ffi::NID_userClass);
819 pub const HOST: Nid = Nid(ffi::NID_host);
820 pub const MANAGER: Nid = Nid(ffi::NID_manager);
821 pub const DOCUMENTIDENTIFIER: Nid = Nid(ffi::NID_documentIdentifier);
822 pub const DOCUMENTTITLE: Nid = Nid(ffi::NID_documentTitle);
823 pub const DOCUMENTVERSION: Nid = Nid(ffi::NID_documentVersion);
824 pub const DOCUMENTAUTHOR: Nid = Nid(ffi::NID_documentAuthor);
825 pub const DOCUMENTLOCATION: Nid = Nid(ffi::NID_documentLocation);
826 pub const HOMETELEPHONENUMBER: Nid = Nid(ffi::NID_homeTelephoneNumber);
827 pub const SECRETARY: Nid = Nid(ffi::NID_secretary);
828 pub const OTHERMAILBOX: Nid = Nid(ffi::NID_otherMailbox);
829 pub const LASTMODIFIEDTIME: Nid = Nid(ffi::NID_lastModifiedTime);
830 pub const LASTMODIFIEDBY: Nid = Nid(ffi::NID_lastModifiedBy);
831 pub const DOMAINCOMPONENT: Nid = Nid(ffi::NID_domainComponent);
832 pub const ARECORD: Nid = Nid(ffi::NID_aRecord);
833 pub const PILOTATTRIBUTETYPE27: Nid = Nid(ffi::NID_pilotAttributeType27);
834 pub const MXRECORD: Nid = Nid(ffi::NID_mXRecord);
835 pub const NSRECORD: Nid = Nid(ffi::NID_nSRecord);
836 pub const SOARECORD: Nid = Nid(ffi::NID_sOARecord);
837 pub const CNAMERECORD: Nid = Nid(ffi::NID_cNAMERecord);
838 pub const ASSOCIATEDDOMAIN: Nid = Nid(ffi::NID_associatedDomain);
839 pub const ASSOCIATEDNAME: Nid = Nid(ffi::NID_associatedName);
840 pub const HOMEPOSTALADDRESS: Nid = Nid(ffi::NID_homePostalAddress);
841 pub const PERSONALTITLE: Nid = Nid(ffi::NID_personalTitle);
842 pub const MOBILETELEPHONENUMBER: Nid = Nid(ffi::NID_mobileTelephoneNumber);
843 pub const PAGERTELEPHONENUMBER: Nid = Nid(ffi::NID_pagerTelephoneNumber);
844 pub const FRIENDLYCOUNTRYNAME: Nid = Nid(ffi::NID_friendlyCountryName);
845 pub const ORGANIZATIONALSTATUS: Nid = Nid(ffi::NID_organizationalStatus);
846 pub const JANETMAILBOX: Nid = Nid(ffi::NID_janetMailbox);
847 pub const MAILPREFERENCEOPTION: Nid = Nid(ffi::NID_mailPreferenceOption);
848 pub const BUILDINGNAME: Nid = Nid(ffi::NID_buildingName);
849 pub const DSAQUALITY: Nid = Nid(ffi::NID_dSAQuality);
850 pub const SINGLELEVELQUALITY: Nid = Nid(ffi::NID_singleLevelQuality);
851 pub const SUBTREEMINIMUMQUALITY: Nid = Nid(ffi::NID_subtreeMinimumQuality);
852 pub const SUBTREEMAXIMUMQUALITY: Nid = Nid(ffi::NID_subtreeMaximumQuality);
853 pub const PERSONALSIGNATURE: Nid = Nid(ffi::NID_personalSignature);
854 pub const DITREDIRECT: Nid = Nid(ffi::NID_dITRedirect);
855 pub const AUDIO: Nid = Nid(ffi::NID_audio);
856 pub const DOCUMENTPUBLISHER: Nid = Nid(ffi::NID_documentPublisher);
857 pub const ID_SET: Nid = Nid(ffi::NID_id_set);
858 pub const SET_CTYPE: Nid = Nid(ffi::NID_set_ctype);
859 pub const SET_MSGEXT: Nid = Nid(ffi::NID_set_msgExt);
860 pub const SET_ATTR: Nid = Nid(ffi::NID_set_attr);
861 pub const SET_POLICY: Nid = Nid(ffi::NID_set_policy);
862 pub const SET_CERTEXT: Nid = Nid(ffi::NID_set_certExt);
863 pub const SET_BRAND: Nid = Nid(ffi::NID_set_brand);
864 pub const SETCT_PANDATA: Nid = Nid(ffi::NID_setct_PANData);
865 pub const SETCT_PANTOKEN: Nid = Nid(ffi::NID_setct_PANToken);
866 pub const SETCT_PANONLY: Nid = Nid(ffi::NID_setct_PANOnly);
867 pub const SETCT_OIDATA: Nid = Nid(ffi::NID_setct_OIData);
868 pub const SETCT_PI: Nid = Nid(ffi::NID_setct_PI);
869 pub const SETCT_PIDATA: Nid = Nid(ffi::NID_setct_PIData);
870 pub const SETCT_PIDATAUNSIGNED: Nid = Nid(ffi::NID_setct_PIDataUnsigned);
871 pub const SETCT_HODINPUT: Nid = Nid(ffi::NID_setct_HODInput);
872 pub const SETCT_AUTHRESBAGGAGE: Nid = Nid(ffi::NID_setct_AuthResBaggage);
873 pub const SETCT_AUTHREVREQBAGGAGE: Nid = Nid(ffi::NID_setct_AuthRevReqBaggage);
874 pub const SETCT_AUTHREVRESBAGGAGE: Nid = Nid(ffi::NID_setct_AuthRevResBaggage);
875 pub const SETCT_CAPTOKENSEQ: Nid = Nid(ffi::NID_setct_CapTokenSeq);
876 pub const SETCT_PINITRESDATA: Nid = Nid(ffi::NID_setct_PInitResData);
877 pub const SETCT_PI_TBS: Nid = Nid(ffi::NID_setct_PI_TBS);
878 pub const SETCT_PRESDATA: Nid = Nid(ffi::NID_setct_PResData);
879 pub const SETCT_AUTHREQTBS: Nid = Nid(ffi::NID_setct_AuthReqTBS);
880 pub const SETCT_AUTHRESTBS: Nid = Nid(ffi::NID_setct_AuthResTBS);
881 pub const SETCT_AUTHRESTBSX: Nid = Nid(ffi::NID_setct_AuthResTBSX);
882 pub const SETCT_AUTHTOKENTBS: Nid = Nid(ffi::NID_setct_AuthTokenTBS);
883 pub const SETCT_CAPTOKENDATA: Nid = Nid(ffi::NID_setct_CapTokenData);
884 pub const SETCT_CAPTOKENTBS: Nid = Nid(ffi::NID_setct_CapTokenTBS);
885 pub const SETCT_ACQCARDCODEMSG: Nid = Nid(ffi::NID_setct_AcqCardCodeMsg);
886 pub const SETCT_AUTHREVREQTBS: Nid = Nid(ffi::NID_setct_AuthRevReqTBS);
887 pub const SETCT_AUTHREVRESDATA: Nid = Nid(ffi::NID_setct_AuthRevResData);
888 pub const SETCT_AUTHREVRESTBS: Nid = Nid(ffi::NID_setct_AuthRevResTBS);
889 pub const SETCT_CAPREQTBS: Nid = Nid(ffi::NID_setct_CapReqTBS);
890 pub const SETCT_CAPREQTBSX: Nid = Nid(ffi::NID_setct_CapReqTBSX);
891 pub const SETCT_CAPRESDATA: Nid = Nid(ffi::NID_setct_CapResData);
892 pub const SETCT_CAPREVREQTBS: Nid = Nid(ffi::NID_setct_CapRevReqTBS);
893 pub const SETCT_CAPREVREQTBSX: Nid = Nid(ffi::NID_setct_CapRevReqTBSX);
894 pub const SETCT_CAPREVRESDATA: Nid = Nid(ffi::NID_setct_CapRevResData);
895 pub const SETCT_CREDREQTBS: Nid = Nid(ffi::NID_setct_CredReqTBS);
896 pub const SETCT_CREDREQTBSX: Nid = Nid(ffi::NID_setct_CredReqTBSX);
897 pub const SETCT_CREDRESDATA: Nid = Nid(ffi::NID_setct_CredResData);
898 pub const SETCT_CREDREVREQTBS: Nid = Nid(ffi::NID_setct_CredRevReqTBS);
899 pub const SETCT_CREDREVREQTBSX: Nid = Nid(ffi::NID_setct_CredRevReqTBSX);
900 pub const SETCT_CREDREVRESDATA: Nid = Nid(ffi::NID_setct_CredRevResData);
901 pub const SETCT_PCERTREQDATA: Nid = Nid(ffi::NID_setct_PCertReqData);
902 pub const SETCT_PCERTRESTBS: Nid = Nid(ffi::NID_setct_PCertResTBS);
903 pub const SETCT_BATCHADMINREQDATA: Nid = Nid(ffi::NID_setct_BatchAdminReqData);
904 pub const SETCT_BATCHADMINRESDATA: Nid = Nid(ffi::NID_setct_BatchAdminResData);
905 pub const SETCT_CARDCINITRESTBS: Nid = Nid(ffi::NID_setct_CardCInitResTBS);
906 pub const SETCT_MEAQCINITRESTBS: Nid = Nid(ffi::NID_setct_MeAqCInitResTBS);
907 pub const SETCT_REGFORMRESTBS: Nid = Nid(ffi::NID_setct_RegFormResTBS);
908 pub const SETCT_CERTREQDATA: Nid = Nid(ffi::NID_setct_CertReqData);
909 pub const SETCT_CERTREQTBS: Nid = Nid(ffi::NID_setct_CertReqTBS);
910 pub const SETCT_CERTRESDATA: Nid = Nid(ffi::NID_setct_CertResData);
911 pub const SETCT_CERTINQREQTBS: Nid = Nid(ffi::NID_setct_CertInqReqTBS);
912 pub const SETCT_ERRORTBS: Nid = Nid(ffi::NID_setct_ErrorTBS);
913 pub const SETCT_PIDUALSIGNEDTBE: Nid = Nid(ffi::NID_setct_PIDualSignedTBE);
914 pub const SETCT_PIUNSIGNEDTBE: Nid = Nid(ffi::NID_setct_PIUnsignedTBE);
915 pub const SETCT_AUTHREQTBE: Nid = Nid(ffi::NID_setct_AuthReqTBE);
916 pub const SETCT_AUTHRESTBE: Nid = Nid(ffi::NID_setct_AuthResTBE);
917 pub const SETCT_AUTHRESTBEX: Nid = Nid(ffi::NID_setct_AuthResTBEX);
918 pub const SETCT_AUTHTOKENTBE: Nid = Nid(ffi::NID_setct_AuthTokenTBE);
919 pub const SETCT_CAPTOKENTBE: Nid = Nid(ffi::NID_setct_CapTokenTBE);
920 pub const SETCT_CAPTOKENTBEX: Nid = Nid(ffi::NID_setct_CapTokenTBEX);
921 pub const SETCT_ACQCARDCODEMSGTBE: Nid = Nid(ffi::NID_setct_AcqCardCodeMsgTBE);
922 pub const SETCT_AUTHREVREQTBE: Nid = Nid(ffi::NID_setct_AuthRevReqTBE);
923 pub const SETCT_AUTHREVRESTBE: Nid = Nid(ffi::NID_setct_AuthRevResTBE);
924 pub const SETCT_AUTHREVRESTBEB: Nid = Nid(ffi::NID_setct_AuthRevResTBEB);
925 pub const SETCT_CAPREQTBE: Nid = Nid(ffi::NID_setct_CapReqTBE);
926 pub const SETCT_CAPREQTBEX: Nid = Nid(ffi::NID_setct_CapReqTBEX);
927 pub const SETCT_CAPRESTBE: Nid = Nid(ffi::NID_setct_CapResTBE);
928 pub const SETCT_CAPREVREQTBE: Nid = Nid(ffi::NID_setct_CapRevReqTBE);
929 pub const SETCT_CAPREVREQTBEX: Nid = Nid(ffi::NID_setct_CapRevReqTBEX);
930 pub const SETCT_CAPREVRESTBE: Nid = Nid(ffi::NID_setct_CapRevResTBE);
931 pub const SETCT_CREDREQTBE: Nid = Nid(ffi::NID_setct_CredReqTBE);
932 pub const SETCT_CREDREQTBEX: Nid = Nid(ffi::NID_setct_CredReqTBEX);
933 pub const SETCT_CREDRESTBE: Nid = Nid(ffi::NID_setct_CredResTBE);
934 pub const SETCT_CREDREVREQTBE: Nid = Nid(ffi::NID_setct_CredRevReqTBE);
935 pub const SETCT_CREDREVREQTBEX: Nid = Nid(ffi::NID_setct_CredRevReqTBEX);
936 pub const SETCT_CREDREVRESTBE: Nid = Nid(ffi::NID_setct_CredRevResTBE);
937 pub const SETCT_BATCHADMINREQTBE: Nid = Nid(ffi::NID_setct_BatchAdminReqTBE);
938 pub const SETCT_BATCHADMINRESTBE: Nid = Nid(ffi::NID_setct_BatchAdminResTBE);
939 pub const SETCT_REGFORMREQTBE: Nid = Nid(ffi::NID_setct_RegFormReqTBE);
940 pub const SETCT_CERTREQTBE: Nid = Nid(ffi::NID_setct_CertReqTBE);
941 pub const SETCT_CERTREQTBEX: Nid = Nid(ffi::NID_setct_CertReqTBEX);
942 pub const SETCT_CERTRESTBE: Nid = Nid(ffi::NID_setct_CertResTBE);
943 pub const SETCT_CRLNOTIFICATIONTBS: Nid = Nid(ffi::NID_setct_CRLNotificationTBS);
944 pub const SETCT_CRLNOTIFICATIONRESTBS: Nid = Nid(ffi::NID_setct_CRLNotificationResTBS);
945 pub const SETCT_BCIDISTRIBUTIONTBS: Nid = Nid(ffi::NID_setct_BCIDistributionTBS);
946 pub const SETEXT_GENCRYPT: Nid = Nid(ffi::NID_setext_genCrypt);
947 pub const SETEXT_MIAUTH: Nid = Nid(ffi::NID_setext_miAuth);
948 pub const SETEXT_PINSECURE: Nid = Nid(ffi::NID_setext_pinSecure);
949 pub const SETEXT_PINANY: Nid = Nid(ffi::NID_setext_pinAny);
950 pub const SETEXT_TRACK2: Nid = Nid(ffi::NID_setext_track2);
951 pub const SETEXT_CV: Nid = Nid(ffi::NID_setext_cv);
952 pub const SET_POLICY_ROOT: Nid = Nid(ffi::NID_set_policy_root);
953 pub const SETCEXT_HASHEDROOT: Nid = Nid(ffi::NID_setCext_hashedRoot);
954 pub const SETCEXT_CERTTYPE: Nid = Nid(ffi::NID_setCext_certType);
955 pub const SETCEXT_MERCHDATA: Nid = Nid(ffi::NID_setCext_merchData);
956 pub const SETCEXT_CCERTREQUIRED: Nid = Nid(ffi::NID_setCext_cCertRequired);
957 pub const SETCEXT_TUNNELING: Nid = Nid(ffi::NID_setCext_tunneling);
958 pub const SETCEXT_SETEXT: Nid = Nid(ffi::NID_setCext_setExt);
959 pub const SETCEXT_SETQUALF: Nid = Nid(ffi::NID_setCext_setQualf);
960 pub const SETCEXT_PGWYCAPABILITIES: Nid = Nid(ffi::NID_setCext_PGWYcapabilities);
961 pub const SETCEXT_TOKENIDENTIFIER: Nid = Nid(ffi::NID_setCext_TokenIdentifier);
962 pub const SETCEXT_TRACK2DATA: Nid = Nid(ffi::NID_setCext_Track2Data);
963 pub const SETCEXT_TOKENTYPE: Nid = Nid(ffi::NID_setCext_TokenType);
964 pub const SETCEXT_ISSUERCAPABILITIES: Nid = Nid(ffi::NID_setCext_IssuerCapabilities);
965 pub const SETATTR_CERT: Nid = Nid(ffi::NID_setAttr_Cert);
966 pub const SETATTR_PGWYCAP: Nid = Nid(ffi::NID_setAttr_PGWYcap);
967 pub const SETATTR_TOKENTYPE: Nid = Nid(ffi::NID_setAttr_TokenType);
968 pub const SETATTR_ISSCAP: Nid = Nid(ffi::NID_setAttr_IssCap);
969 pub const SET_ROOTKEYTHUMB: Nid = Nid(ffi::NID_set_rootKeyThumb);
970 pub const SET_ADDPOLICY: Nid = Nid(ffi::NID_set_addPolicy);
971 pub const SETATTR_TOKEN_EMV: Nid = Nid(ffi::NID_setAttr_Token_EMV);
972 pub const SETATTR_TOKEN_B0PRIME: Nid = Nid(ffi::NID_setAttr_Token_B0Prime);
973 pub const SETATTR_ISSCAP_CVM: Nid = Nid(ffi::NID_setAttr_IssCap_CVM);
974 pub const SETATTR_ISSCAP_T2: Nid = Nid(ffi::NID_setAttr_IssCap_T2);
975 pub const SETATTR_ISSCAP_SIG: Nid = Nid(ffi::NID_setAttr_IssCap_Sig);
976 pub const SETATTR_GENCRYPTGRM: Nid = Nid(ffi::NID_setAttr_GenCryptgrm);
977 pub const SETATTR_T2ENC: Nid = Nid(ffi::NID_setAttr_T2Enc);
978 pub const SETATTR_T2CLEARTXT: Nid = Nid(ffi::NID_setAttr_T2cleartxt);
979 pub const SETATTR_TOKICCSIG: Nid = Nid(ffi::NID_setAttr_TokICCsig);
980 pub const SETATTR_SECDEVSIG: Nid = Nid(ffi::NID_setAttr_SecDevSig);
981 pub const SET_BRAND_IATA_ATA: Nid = Nid(ffi::NID_set_brand_IATA_ATA);
982 pub const SET_BRAND_DINERS: Nid = Nid(ffi::NID_set_brand_Diners);
983 pub const SET_BRAND_AMERICANEXPRESS: Nid = Nid(ffi::NID_set_brand_AmericanExpress);
984 pub const SET_BRAND_JCB: Nid = Nid(ffi::NID_set_brand_JCB);
985 pub const SET_BRAND_VISA: Nid = Nid(ffi::NID_set_brand_Visa);
986 pub const SET_BRAND_MASTERCARD: Nid = Nid(ffi::NID_set_brand_MasterCard);
987 pub const SET_BRAND_NOVUS: Nid = Nid(ffi::NID_set_brand_Novus);
988 pub const DES_CDMF: Nid = Nid(ffi::NID_des_cdmf);
989 pub const RSAOAEPENCRYPTIONSET: Nid = Nid(ffi::NID_rsaOAEPEncryptionSET);
990 pub const IPSEC3: Nid = Nid(ffi::NID_ipsec3);
991 pub const IPSEC4: Nid = Nid(ffi::NID_ipsec4);
992 pub const WHIRLPOOL: Nid = Nid(ffi::NID_whirlpool);
993 pub const CRYPTOPRO: Nid = Nid(ffi::NID_cryptopro);
994 pub const CRYPTOCOM: Nid = Nid(ffi::NID_cryptocom);
995 pub const ID_GOSTR3411_94_WITH_GOSTR3410_2001: Nid =
996 Nid(ffi::NID_id_GostR3411_94_with_GostR3410_2001);
997 pub const ID_GOSTR3411_94_WITH_GOSTR3410_94: Nid =
998 Nid(ffi::NID_id_GostR3411_94_with_GostR3410_94);
999 pub const ID_GOSTR3411_94: Nid = Nid(ffi::NID_id_GostR3411_94);
1000 pub const ID_HMACGOSTR3411_94: Nid = Nid(ffi::NID_id_HMACGostR3411_94);
1001 pub const ID_GOSTR3410_2001: Nid = Nid(ffi::NID_id_GostR3410_2001);
1002 pub const ID_GOSTR3410_94: Nid = Nid(ffi::NID_id_GostR3410_94);
1003 pub const ID_GOST28147_89: Nid = Nid(ffi::NID_id_Gost28147_89);
1004 pub const GOST89_CNT: Nid = Nid(ffi::NID_gost89_cnt);
1005 pub const ID_GOST28147_89_MAC: Nid = Nid(ffi::NID_id_Gost28147_89_MAC);
1006 pub const ID_GOSTR3411_94_PRF: Nid = Nid(ffi::NID_id_GostR3411_94_prf);
1007 pub const ID_GOSTR3410_2001DH: Nid = Nid(ffi::NID_id_GostR3410_2001DH);
1008 pub const ID_GOSTR3410_94DH: Nid = Nid(ffi::NID_id_GostR3410_94DH);
1009 pub const ID_GOST28147_89_CRYPTOPRO_KEYMESHING: Nid =
1010 Nid(ffi::NID_id_Gost28147_89_CryptoPro_KeyMeshing);
1011 pub const ID_GOST28147_89_NONE_KEYMESHING: Nid = Nid(ffi::NID_id_Gost28147_89_None_KeyMeshing);
1012 pub const ID_GOSTR3411_94_TESTPARAMSET: Nid = Nid(ffi::NID_id_GostR3411_94_TestParamSet);
1013 pub const ID_GOSTR3411_94_CRYPTOPROPARAMSET: Nid =
1014 Nid(ffi::NID_id_GostR3411_94_CryptoProParamSet);
1015 pub const ID_GOST28147_89_TESTPARAMSET: Nid = Nid(ffi::NID_id_Gost28147_89_TestParamSet);
1016 pub const ID_GOST28147_89_CRYPTOPRO_A_PARAMSET: Nid =
1017 Nid(ffi::NID_id_Gost28147_89_CryptoPro_A_ParamSet);
1018 pub const ID_GOST28147_89_CRYPTOPRO_B_PARAMSET: Nid =
1019 Nid(ffi::NID_id_Gost28147_89_CryptoPro_B_ParamSet);
1020 pub const ID_GOST28147_89_CRYPTOPRO_C_PARAMSET: Nid =
1021 Nid(ffi::NID_id_Gost28147_89_CryptoPro_C_ParamSet);
1022 pub const ID_GOST28147_89_CRYPTOPRO_D_PARAMSET: Nid =
1023 Nid(ffi::NID_id_Gost28147_89_CryptoPro_D_ParamSet);
1024 pub const ID_GOST28147_89_CRYPTOPRO_OSCAR_1_1_PARAMSET: Nid =
1025 Nid(ffi::NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet);
1026 pub const ID_GOST28147_89_CRYPTOPRO_OSCAR_1_0_PARAMSET: Nid =
1027 Nid(ffi::NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet);
1028 pub const ID_GOST28147_89_CRYPTOPRO_RIC_1_PARAMSET: Nid =
1029 Nid(ffi::NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet);
1030 pub const ID_GOSTR3410_94_TESTPARAMSET: Nid = Nid(ffi::NID_id_GostR3410_94_TestParamSet);
1031 pub const ID_GOSTR3410_94_CRYPTOPRO_A_PARAMSET: Nid =
1032 Nid(ffi::NID_id_GostR3410_94_CryptoPro_A_ParamSet);
1033 pub const ID_GOSTR3410_94_CRYPTOPRO_B_PARAMSET: Nid =
1034 Nid(ffi::NID_id_GostR3410_94_CryptoPro_B_ParamSet);
1035 pub const ID_GOSTR3410_94_CRYPTOPRO_C_PARAMSET: Nid =
1036 Nid(ffi::NID_id_GostR3410_94_CryptoPro_C_ParamSet);
1037 pub const ID_GOSTR3410_94_CRYPTOPRO_D_PARAMSET: Nid =
1038 Nid(ffi::NID_id_GostR3410_94_CryptoPro_D_ParamSet);
1039 pub const ID_GOSTR3410_94_CRYPTOPRO_XCHA_PARAMSET: Nid =
1040 Nid(ffi::NID_id_GostR3410_94_CryptoPro_XchA_ParamSet);
1041 pub const ID_GOSTR3410_94_CRYPTOPRO_XCHB_PARAMSET: Nid =
1042 Nid(ffi::NID_id_GostR3410_94_CryptoPro_XchB_ParamSet);
1043 pub const ID_GOSTR3410_94_CRYPTOPRO_XCHC_PARAMSET: Nid =
1044 Nid(ffi::NID_id_GostR3410_94_CryptoPro_XchC_ParamSet);
1045 pub const ID_GOSTR3410_2001_TESTPARAMSET: Nid = Nid(ffi::NID_id_GostR3410_2001_TestParamSet);
1046 pub const ID_GOSTR3410_2001_CRYPTOPRO_A_PARAMSET: Nid =
1047 Nid(ffi::NID_id_GostR3410_2001_CryptoPro_A_ParamSet);
1048 pub const ID_GOSTR3410_2001_CRYPTOPRO_B_PARAMSET: Nid =
1049 Nid(ffi::NID_id_GostR3410_2001_CryptoPro_B_ParamSet);
1050 pub const ID_GOSTR3410_2001_CRYPTOPRO_C_PARAMSET: Nid =
1051 Nid(ffi::NID_id_GostR3410_2001_CryptoPro_C_ParamSet);
1052 pub const ID_GOSTR3410_2001_CRYPTOPRO_XCHA_PARAMSET: Nid =
1053 Nid(ffi::NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet);
1054 pub const ID_GOSTR3410_2001_CRYPTOPRO_XCHB_PARAMSET: Nid =
1055 Nid(ffi::NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet);
1056 pub const ID_GOSTR3410_94_A: Nid = Nid(ffi::NID_id_GostR3410_94_a);
1057 pub const ID_GOSTR3410_94_ABIS: Nid = Nid(ffi::NID_id_GostR3410_94_aBis);
1058 pub const ID_GOSTR3410_94_B: Nid = Nid(ffi::NID_id_GostR3410_94_b);
1059 pub const ID_GOSTR3410_94_BBIS: Nid = Nid(ffi::NID_id_GostR3410_94_bBis);
1060 pub const ID_GOST28147_89_CC: Nid = Nid(ffi::NID_id_Gost28147_89_cc);
1061 pub const ID_GOSTR3410_94_CC: Nid = Nid(ffi::NID_id_GostR3410_94_cc);
1062 pub const ID_GOSTR3410_2001_CC: Nid = Nid(ffi::NID_id_GostR3410_2001_cc);
1063 pub const ID_GOSTR3411_94_WITH_GOSTR3410_94_CC: Nid =
1064 Nid(ffi::NID_id_GostR3411_94_with_GostR3410_94_cc);
1065 pub const ID_GOSTR3411_94_WITH_GOSTR3410_2001_CC: Nid =
1066 Nid(ffi::NID_id_GostR3411_94_with_GostR3410_2001_cc);
1067 pub const ID_GOSTR3410_2001_PARAMSET_CC: Nid = Nid(ffi::NID_id_GostR3410_2001_ParamSet_cc);
1068 pub const CAMELLIA_128_CBC: Nid = Nid(ffi::NID_camellia_128_cbc);
1069 pub const CAMELLIA_192_CBC: Nid = Nid(ffi::NID_camellia_192_cbc);
1070 pub const CAMELLIA_256_CBC: Nid = Nid(ffi::NID_camellia_256_cbc);
1071 pub const ID_CAMELLIA128_WRAP: Nid = Nid(ffi::NID_id_camellia128_wrap);
1072 pub const ID_CAMELLIA192_WRAP: Nid = Nid(ffi::NID_id_camellia192_wrap);
1073 pub const ID_CAMELLIA256_WRAP: Nid = Nid(ffi::NID_id_camellia256_wrap);
1074 pub const CAMELLIA_128_ECB: Nid = Nid(ffi::NID_camellia_128_ecb);
1075 pub const CAMELLIA_128_OFB128: Nid = Nid(ffi::NID_camellia_128_ofb128);
1076 pub const CAMELLIA_128_CFB128: Nid = Nid(ffi::NID_camellia_128_cfb128);
1077 pub const CAMELLIA_192_ECB: Nid = Nid(ffi::NID_camellia_192_ecb);
1078 pub const CAMELLIA_192_OFB128: Nid = Nid(ffi::NID_camellia_192_ofb128);
1079 pub const CAMELLIA_192_CFB128: Nid = Nid(ffi::NID_camellia_192_cfb128);
1080 pub const CAMELLIA_256_ECB: Nid = Nid(ffi::NID_camellia_256_ecb);
1081 pub const CAMELLIA_256_OFB128: Nid = Nid(ffi::NID_camellia_256_ofb128);
1082 pub const CAMELLIA_256_CFB128: Nid = Nid(ffi::NID_camellia_256_cfb128);
1083 pub const CAMELLIA_128_CFB1: Nid = Nid(ffi::NID_camellia_128_cfb1);
1084 pub const CAMELLIA_192_CFB1: Nid = Nid(ffi::NID_camellia_192_cfb1);
1085 pub const CAMELLIA_256_CFB1: Nid = Nid(ffi::NID_camellia_256_cfb1);
1086 pub const CAMELLIA_128_CFB8: Nid = Nid(ffi::NID_camellia_128_cfb8);
1087 pub const CAMELLIA_192_CFB8: Nid = Nid(ffi::NID_camellia_192_cfb8);
1088 pub const CAMELLIA_256_CFB8: Nid = Nid(ffi::NID_camellia_256_cfb8);
1089 pub const KISA: Nid = Nid(ffi::NID_kisa);
1090 pub const SEED_ECB: Nid = Nid(ffi::NID_seed_ecb);
1091 pub const SEED_CBC: Nid = Nid(ffi::NID_seed_cbc);
1092 pub const SEED_CFB128: Nid = Nid(ffi::NID_seed_cfb128);
1093 pub const SEED_OFB128: Nid = Nid(ffi::NID_seed_ofb128);
1094 pub const HMAC: Nid = Nid(ffi::NID_hmac);
1095 pub const CMAC: Nid = Nid(ffi::NID_cmac);
1096 pub const RC4_HMAC_MD5: Nid = Nid(ffi::NID_rc4_hmac_md5);
1097 pub const AES_128_CBC_HMAC_SHA1: Nid = Nid(ffi::NID_aes_128_cbc_hmac_sha1);
1098 pub const AES_192_CBC_HMAC_SHA1: Nid = Nid(ffi::NID_aes_192_cbc_hmac_sha1);
1099 pub const AES_256_CBC_HMAC_SHA1: Nid = Nid(ffi::NID_aes_256_cbc_hmac_sha1);
1100 #[cfg(ossl111)]
1101 pub const SM2: Nid = Nid(ffi::NID_sm2);
1102 #[cfg(any(ossl111, libressl))]
1103 pub const SM3: Nid = Nid(ffi::NID_sm3);
1104 #[cfg(any(ossl111, libressl380, awslc))]
1105 pub const SHA3_224: Nid = Nid(ffi::NID_sha3_224);
1106 #[cfg(any(ossl111, libressl380, awslc))]
1107 pub const SHA3_256: Nid = Nid(ffi::NID_sha3_256);
1108 #[cfg(any(ossl111, libressl380, awslc))]
1109 pub const SHA3_384: Nid = Nid(ffi::NID_sha3_384);
1110 #[cfg(any(ossl111, libressl380, awslc))]
1111 pub const SHA3_512: Nid = Nid(ffi::NID_sha3_512);
1112 #[cfg(any(ossl111, awslc))]
1113 pub const SHAKE128: Nid = Nid(ffi::NID_shake128);
1114 #[cfg(any(ossl111, awslc))]
1115 pub const SHAKE256: Nid = Nid(ffi::NID_shake256);
1116 #[cfg(any(ossl110, libressl, awslc))]
1117 pub const CHACHA20_POLY1305: Nid = Nid(ffi::NID_chacha20_poly1305);
1118}
1119
1120impl fmt::Debug for Nid {
1121 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
1122 if let Ok(short_name) = self.short_name() {
1123 f.debug_struct("Nid")
1124 .field("nid", &self.0)
1125 .field("short_name", &short_name)
1126 .finish()
1127 } else {
1128 f.debug_struct("Nid").field("nid", &self.0).finish()
1129 }
1130 }
1131}
1132
1133#[cfg(test)]
1134mod test {
1135 use super::Nid;
1136
1137 #[test]
1138 fn signature_digest() {
1139 let algs = Nid::SHA256WITHRSAENCRYPTION.signature_algorithms().unwrap();
1140 assert_eq!(algs.digest, Nid::SHA256);
1141 assert_eq!(algs.pkey, Nid::RSAENCRYPTION);
1142 }
1143
1144 #[test]
1145 fn test_long_name_conversion() {
1146 let common_name = Nid::COMMONNAME;
1147 let organizational_unit_name = Nid::ORGANIZATIONALUNITNAME;
1148 let aes256_cbc_hmac_sha1 = Nid::AES_256_CBC_HMAC_SHA1;
1149 let id_cmc_lrapopwitness = Nid::ID_CMC_LRAPOPWITNESS;
1150 let ms_ctl_sign = Nid::MS_CTL_SIGN;
1151 let undefined_nid = Nid::from_raw(118);
1152
1153 assert_eq!(common_name.long_name().unwrap(), "commonName");
1154 assert_eq!(
1155 organizational_unit_name.long_name().unwrap(),
1156 "organizationalUnitName"
1157 );
1158 assert_eq!(
1159 aes256_cbc_hmac_sha1.long_name().unwrap(),
1160 "aes-256-cbc-hmac-sha1"
1161 );
1162 assert_eq!(
1163 id_cmc_lrapopwitness.long_name().unwrap(),
1164 "id-cmc-lraPOPWitness"
1165 );
1166 assert_eq!(
1167 ms_ctl_sign.long_name().unwrap(),
1168 "Microsoft Trust List Signing"
1169 );
1170 assert!(
1171 undefined_nid.long_name().is_err(),
1172 "undefined_nid should not return a valid value"
1173 );
1174 }
1175
1176 #[test]
1177 fn test_short_name_conversion() {
1178 let common_name = Nid::COMMONNAME;
1179 let organizational_unit_name = Nid::ORGANIZATIONALUNITNAME;
1180 let aes256_cbc_hmac_sha1 = Nid::AES_256_CBC_HMAC_SHA1;
1181 let id_cmc_lrapopwitness = Nid::ID_CMC_LRAPOPWITNESS;
1182 let ms_ctl_sign = Nid::MS_CTL_SIGN;
1183 let undefined_nid = Nid::from_raw(118);
1184
1185 assert_eq!(common_name.short_name().unwrap(), "CN");
1186 assert_eq!(organizational_unit_name.short_name().unwrap(), "OU");
1187 assert_eq!(
1188 aes256_cbc_hmac_sha1.short_name().unwrap(),
1189 "AES-256-CBC-HMAC-SHA1"
1190 );
1191 assert_eq!(
1192 id_cmc_lrapopwitness.short_name().unwrap(),
1193 "id-cmc-lraPOPWitness"
1194 );
1195 assert_eq!(ms_ctl_sign.short_name().unwrap(), "msCTLSign");
1196 assert!(
1197 undefined_nid.short_name().is_err(),
1198 "undefined_nid should not return a valid value"
1199 );
1200 }
1201
1202 #[test]
1203 fn test_create() {
1204 let nid = Nid::create("1.2.3.4", "foo", "foobar").unwrap();
1205 assert_eq!(nid.short_name().unwrap(), "foo");
1206 assert_eq!(nid.long_name().unwrap(), "foobar");
1207
1208 if !cfg!(ossl310) {
1210 let invalid_oid = Nid::create("invalid_oid", "invalid", "invalid");
1211 assert!(
1212 invalid_oid.is_err(),
1213 "invalid_oid should not return a valid value"
1214 );
1215 }
1216 }
1217
1218 #[test]
1219 fn test_debug() {
1220 assert_eq!(
1221 format!("{:?}", Nid::SECP521R1),
1222 "Nid { nid: 716, short_name: \"secp521r1\" }"
1223 );
1224
1225 assert_eq!(
1226 format!("{:?}", Nid::from_raw(123456789)),
1227 "Nid { nid: 123456789 }"
1228 );
1229 }
1230}