/src/p11-kit/common/constants.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright (C) 2013, Redhat Inc. |
3 | | * |
4 | | * Redistribution and use in source and binary forms, with or without |
5 | | * modification, are permitted provided that the following conditions |
6 | | * are met: |
7 | | * |
8 | | * * Redistributions of source code must retain the above |
9 | | * copyright notice, this list of conditions and the |
10 | | * following disclaimer. |
11 | | * * Redistributions in binary form must reproduce the |
12 | | * above copyright notice, this list of conditions and |
13 | | * the following disclaimer in the documentation and/or |
14 | | * other materials provided with the distribution. |
15 | | * * The names of contributors to this software may not be |
16 | | * used to endorse or promote products derived from this |
17 | | * software without specific prior written permission. |
18 | | * |
19 | | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
20 | | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
21 | | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
23 | | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
24 | | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
25 | | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
26 | | * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
27 | | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
28 | | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF |
29 | | * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
30 | | * DAMAGE. |
31 | | * |
32 | | * Author: Stef Walter <stefw@redhat.com> |
33 | | */ |
34 | | |
35 | | #include "config.h" |
36 | | |
37 | | #include "attrs.h" |
38 | | #include "constants.h" |
39 | | #include "debug.h" |
40 | | #include "pkcs11.h" |
41 | | #include "pkcs11i.h" |
42 | | #include "pkcs11x.h" |
43 | | |
44 | | #include <stdlib.h> |
45 | | |
46 | 0 | #define ELEMS(x) (sizeof (x) / sizeof (x[0])) |
47 | | |
48 | | /* |
49 | | * These are in numeric order of their type for easy lookup |
50 | | * After changing something make sure to run the test-attrs |
51 | | * test to verify everything is in order. |
52 | | */ |
53 | | |
54 | | #define CT(x, n) { x, #x, { n } }, |
55 | | #define CT2(x, n, n2) { x, #x, { n, n2 } }, |
56 | | |
57 | | const p11_constant p11_constant_types[] = { |
58 | | CT (CKA_CLASS, "class") |
59 | | CT (CKA_TOKEN, "token") |
60 | | CT (CKA_PRIVATE, "private") |
61 | | CT (CKA_LABEL, "label") |
62 | | CT (CKA_UNIQUE_ID, "unique-id") |
63 | | CT (CKA_APPLICATION, "application") |
64 | | CT (CKA_VALUE, "value") |
65 | | CT (CKA_OBJECT_ID, "object-id") |
66 | | CT (CKA_CERTIFICATE_TYPE, "certificate-type") |
67 | | CT (CKA_ISSUER, "issuer") |
68 | | CT (CKA_SERIAL_NUMBER, "serial-number") |
69 | | CT (CKA_AC_ISSUER, "ac-issuer") |
70 | | CT (CKA_OWNER, "owner") |
71 | | CT (CKA_ATTR_TYPES, "attr-types") |
72 | | CT (CKA_TRUSTED, "trusted") |
73 | | CT (CKA_CERTIFICATE_CATEGORY, "certificate-category") |
74 | | CT (CKA_JAVA_MIDP_SECURITY_DOMAIN, "java-midp-security-domain") |
75 | | CT (CKA_URL, "url") |
76 | | CT (CKA_HASH_OF_SUBJECT_PUBLIC_KEY, "hash-of-subject-public-key") |
77 | | CT (CKA_HASH_OF_ISSUER_PUBLIC_KEY, "hash-of-issuer-public-key") |
78 | | CT (CKA_NAME_HASH_ALGORITHM, "name-hash-algorithm") |
79 | | CT (CKA_CHECK_VALUE, "check-value") |
80 | | CT (CKA_KEY_TYPE, "key-type") |
81 | | CT (CKA_SUBJECT, "subject") |
82 | | CT (CKA_ID, "id") |
83 | | CT (CKA_SENSITIVE, "sensitive") |
84 | | CT (CKA_ENCRYPT, "encrypt") |
85 | | CT (CKA_DECRYPT, "decrypt") |
86 | | CT (CKA_WRAP, "wrap") |
87 | | CT (CKA_UNWRAP, "unwrap") |
88 | | CT (CKA_SIGN, "sign") |
89 | | CT (CKA_SIGN_RECOVER, "sign-recover") |
90 | | CT (CKA_VERIFY, "verify") |
91 | | CT (CKA_VERIFY_RECOVER, "recover") |
92 | | CT (CKA_DERIVE, "derive") |
93 | | CT (CKA_START_DATE, "start-date") |
94 | | CT (CKA_END_DATE, "end-date") |
95 | | CT (CKA_MODULUS, "modulus") |
96 | | CT (CKA_MODULUS_BITS, "modulus-bits") |
97 | | CT (CKA_PUBLIC_EXPONENT, "public-exponent") |
98 | | CT (CKA_PRIVATE_EXPONENT, "private-exponent") |
99 | | CT (CKA_PRIME_1, "prime-1") |
100 | | CT (CKA_PRIME_2, "prime-2") |
101 | | CT (CKA_EXPONENT_1, "exponent-1") |
102 | | CT (CKA_EXPONENT_2, "exponent-2") |
103 | | CT (CKA_COEFFICIENT, "coefficient") |
104 | | CT2 (CKA_PUBLIC_KEY_INFO, "public-key-info", "x-public-key-info") |
105 | | CT (CKA_PRIME, "prime") |
106 | | CT (CKA_SUBPRIME, "subprime") |
107 | | CT (CKA_BASE, "base") |
108 | | CT (CKA_PRIME_BITS, "prime-bits") |
109 | | /* CT (CKA_SUBPRIME_BITS) */ |
110 | | CT (CKA_SUB_PRIME_BITS, "subprime-bits") |
111 | | CT (CKA_VALUE_BITS, "value-bits") |
112 | | CT (CKA_VALUE_LEN, "value-len") |
113 | | CT (CKA_EXTRACTABLE, "extractable") |
114 | | CT (CKA_LOCAL, "local") |
115 | | CT (CKA_NEVER_EXTRACTABLE, "never-extractable") |
116 | | CT (CKA_ALWAYS_SENSITIVE, "always-sensitive") |
117 | | CT (CKA_KEY_GEN_MECHANISM, "key-gen-mechanism") |
118 | | CT (CKA_MODIFIABLE, "modifiable") |
119 | | CT (CKA_COPYABLE, "copyable") |
120 | | CT (CKA_DESTROYABLE, "destroyable") |
121 | | CT (CKA_ECDSA_PARAMS, "ecdsa-params") |
122 | | /* CT (CKA_EC_PARAMS) */ |
123 | | CT (CKA_EC_POINT, "ec-point") |
124 | | CT (CKA_SECONDARY_AUTH, "secondary-auth") |
125 | | CT (CKA_AUTH_PIN_FLAGS, "auth-pin-flags") |
126 | | CT (CKA_ALWAYS_AUTHENTICATE, "always-authenticate") |
127 | | CT (CKA_WRAP_WITH_TRUSTED, "wrap-with-trusted") |
128 | | CT (CKA_OTP_FORMAT, "otp-format") |
129 | | CT (CKA_OTP_LENGTH, "otp-length") |
130 | | CT (CKA_OTP_TIME_INTERVAL, "otp-time-interval") |
131 | | CT (CKA_OTP_USER_FRIENDLY_MODE, "otp-user-friendly-mode") |
132 | | CT (CKA_OTP_CHALLENGE_REQUIREMENT, "otp-challenge-requirement") |
133 | | CT (CKA_OTP_TIME_REQUIREMENT, "otp-time-requirement") |
134 | | CT (CKA_OTP_COUNTER_REQUIREMENT, "otp-counter-requirement") |
135 | | CT (CKA_OTP_PIN_REQUIREMENT, "otp-pin-requirement") |
136 | | CT (CKA_OTP_USER_IDENTIFIER, "otp-user-identifier") |
137 | | CT (CKA_OTP_SERVICE_IDENTIFIER, "otp-service-identifier") |
138 | | CT (CKA_OTP_SERVICE_LOGO, "otp-service-logo") |
139 | | CT (CKA_OTP_SERVICE_LOGO_TYPE, "otp-service-logo-type") |
140 | | CT (CKA_OTP_COUNTER, "otp-counter") |
141 | | CT (CKA_OTP_TIME, "otp-time") |
142 | | CT (CKA_GOSTR3410_PARAMS, "gostr3410-params") |
143 | | CT (CKA_GOSTR3411_PARAMS, "gostr3411-params") |
144 | | CT (CKA_GOST28147_PARAMS, "gost28147-params") |
145 | | CT (CKA_HW_FEATURE_TYPE, "hw-feature-type") |
146 | | CT (CKA_RESET_ON_INIT, "reset-on-init") |
147 | | CT (CKA_HAS_RESET, "has-reset") |
148 | | CT (CKA_PIXEL_X, "pixel-x") |
149 | | CT (CKA_PIXEL_Y, "pixel-y") |
150 | | CT (CKA_RESOLUTION, "resolution") |
151 | | CT (CKA_CHAR_ROWS, "char-rows") |
152 | | CT (CKA_CHAR_COLUMNS, "char-columns") |
153 | | CT (CKA_COLOR, "color") |
154 | | CT (CKA_BITS_PER_PIXEL, "bits-per-pixel") |
155 | | CT (CKA_CHAR_SETS, "char-sets") |
156 | | CT (CKA_ENCODING_METHODS, "encoding-methods") |
157 | | CT (CKA_MIME_TYPES, "mime-types") |
158 | | CT (CKA_MECHANISM_TYPE, "mechanism-type") |
159 | | CT (CKA_REQUIRED_CMS_ATTRIBUTES, "required-cms-attributes") |
160 | | CT (CKA_DEFAULT_CMS_ATTRIBUTES, "default-cms-attributes") |
161 | | CT (CKA_SUPPORTED_CMS_ATTRIBUTES, "supported-cms-attributes") |
162 | | CT (CKA_PROFILE_ID, "profile-id") |
163 | | CT (CKA_X2RATCHET_BAG, "x2ratchet-bag") |
164 | | CT (CKA_X2RATCHET_BAGSIZE, "x2ratchet-bagsize") |
165 | | CT (CKA_X2RATCHET_BOBS1STMSG, "x2ratchet-bobs1stmsg") |
166 | | CT (CKA_X2RATCHET_CKR, "x2ratchet-ckr") |
167 | | CT (CKA_X2RATCHET_CKS, "x2ratchet-cks") |
168 | | CT (CKA_X2RATCHET_DHP, "x2ratchet-dhp") |
169 | | CT (CKA_X2RATCHET_DHR, "x2ratchet-dhr") |
170 | | CT (CKA_X2RATCHET_DHS, "x2ratchet-dhs") |
171 | | CT (CKA_X2RATCHET_HKR, "x2ratchet-hkr") |
172 | | CT (CKA_X2RATCHET_HKS, "x2ratchet-hks") |
173 | | CT (CKA_X2RATCHET_ISALICE, "x2ratchet-isalice") |
174 | | CT (CKA_X2RATCHET_NHKR, "x2ratchet-nhkr") |
175 | | CT (CKA_X2RATCHET_NHKS, "x2ratchet-nhks") |
176 | | CT (CKA_X2RATCHET_NR, "x2ratchet-nr") |
177 | | CT (CKA_X2RATCHET_NS, "x2ratchet-ns") |
178 | | CT (CKA_X2RATCHET_PNS, "x2ratchet-pns") |
179 | | CT (CKA_X2RATCHET_RK, "x2ratchet-rk") |
180 | | CT (CKA_HSS_LEVELS, "hss-levels") |
181 | | CT (CKA_HSS_LMS_TYPE, "hss-lms-type") |
182 | | CT (CKA_HSS_LMOTS_TYPE, "hss-lmots-type") |
183 | | CT (CKA_HSS_LMS_TYPES, "hss-lms-types") |
184 | | CT (CKA_HSS_LMOTS_TYPES, "hss-lmots-types") |
185 | | CT (CKA_HSS_KEYS_REMAINING, "hss-keys-remaining") |
186 | | CT (CKA_WRAP_TEMPLATE, "wrap-template") |
187 | | CT (CKA_UNWRAP_TEMPLATE, "unwrap-template") |
188 | | CT (CKA_DERIVE_TEMPLATE, "derive-template") |
189 | | CT (CKA_ALLOWED_MECHANISMS, "allowed-mechanisms") |
190 | | CT (CKA_IBM_OPAQUE, "ibm-opaque") |
191 | | CT (CKA_IBM_OPAQUE_REENC, "ibm-opaque-reenc") |
192 | | CT (CKA_IBM_OPAQUE_OLD, "ibm-opaque-old") |
193 | | CT (CKA_IBM_KYBER_MODE, "ibm-kyber-mode") |
194 | | CT (CKA_IBM_DILITHIUM_MODE, "ibm-dilithium-mode") |
195 | | CT (CKA_IBM_RESTRICTABLE, "ibm-restrictable") |
196 | | CT (CKA_IBM_NEVER_MODIFIABLE, "ibm-never-modifiable") |
197 | | CT (CKA_IBM_RETAINKEY, "ibm-retainkey") |
198 | | CT (CKA_IBM_ATTRBOUND, "ibm-attrbound") |
199 | | CT (CKA_IBM_KEYTYPE, "ibm-keytype") |
200 | | CT (CKA_IBM_CV, "ibm-cv") |
201 | | CT (CKA_IBM_MACKEY, "ibm-mackey") |
202 | | CT (CKA_IBM_USE_AS_DATA, "ibm-use-as-data") |
203 | | CT (CKA_IBM_STRUCT_PARAMS, "ibm-struct-params") |
204 | | CT (CKA_IBM_STD_COMPLIANCE1, "ibm-std_compliance1") |
205 | | CT (CKA_IBM_PROTKEY_EXTRACTABLE, "ibm-protkey-extractable") |
206 | | CT (CKA_IBM_PROTKEY_NEVER_EXTRACTABLE, "ibm-protkey-never-extractable") |
207 | | CT (CKA_IBM_DILITHIUM_KEYFORM, "ibm-dilithium-keyform") |
208 | | CT (CKA_IBM_DILITHIUM_RHO, "ibm-dilithium-rho") |
209 | | CT (CKA_IBM_DILITHIUM_SEED, "ibm-dilithium-seed") |
210 | | CT (CKA_IBM_DILITHIUM_TR, "ibm-dilithium-tr") |
211 | | CT (CKA_IBM_DILITHIUM_S1, "ibm-dilithium-s1") |
212 | | CT (CKA_IBM_DILITHIUM_S2, "ibm-dilithium-s2") |
213 | | CT (CKA_IBM_DILITHIUM_T0, "ibm-dilithium-t0") |
214 | | CT (CKA_IBM_DILITHIUM_T1, "ibm-dilithium-t1") |
215 | | CT (CKA_IBM_KYBER_KEYFORM, "ibm-kyber-keyform") |
216 | | CT (CKA_IBM_KYBER_PK, "ibm-kyber-pk") |
217 | | CT (CKA_IBM_KYBER_SK, "ibm-kyber-sk") |
218 | | CT (CKA_IBM_OPAQUE_PKEY, "ibm-opaque-pkey") |
219 | | CT (CKA_IBM_CCA_AES_KEY_MODE, "ibm-cca-aes-key-mode") |
220 | | CT (CKA_NSS_URL, "nss-url") |
221 | | CT (CKA_NSS_EMAIL, "nss-email") |
222 | | CT (CKA_NSS_SMIME_INFO, "nss-smime-constant") |
223 | | CT (CKA_NSS_SMIME_TIMESTAMP, "nss-smime-timestamp") |
224 | | CT (CKA_NSS_PKCS8_SALT, "nss-pkcs8-salt") |
225 | | CT (CKA_NSS_PASSWORD_CHECK, "nss-password-check") |
226 | | CT (CKA_NSS_EXPIRES, "nss-expires") |
227 | | CT (CKA_NSS_KRL, "nss-krl") |
228 | | CT (CKA_NSS_PQG_COUNTER, "nss-pqg-counter") |
229 | | CT (CKA_NSS_PQG_SEED, "nss-pqg-seed") |
230 | | CT (CKA_NSS_PQG_H, "nss-pqg-h") |
231 | | CT (CKA_NSS_PQG_SEED_BITS, "nss-pqg-seed-bits") |
232 | | CT (CKA_NSS_MODULE_SPEC, "nss-module-spec") |
233 | | CT (CKA_NSS_MOZILLA_CA_POLICY, "nss-mozilla-ca-policy") |
234 | | CT (CKA_NSS_SERVER_DISTRUST_AFTER, "nss-server-distrust-after") |
235 | | CT (CKA_NSS_EMAIL_DISTRUST_AFTER, "nss-email-distrust-after") |
236 | | CT (CKA_TRUST_DIGITAL_SIGNATURE, "trust-digital-signature") |
237 | | CT (CKA_TRUST_NON_REPUDIATION, "trust-non-repudiation") |
238 | | CT (CKA_TRUST_KEY_ENCIPHERMENT, "trust-key-encipherment") |
239 | | CT (CKA_TRUST_DATA_ENCIPHERMENT, "trust-data-encipherment") |
240 | | CT (CKA_TRUST_KEY_AGREEMENT, "trust-key-agreement") |
241 | | CT (CKA_TRUST_KEY_CERT_SIGN, "trust-key-cert-sign") |
242 | | CT (CKA_TRUST_CRL_SIGN, "trust-crl-sign") |
243 | | CT (CKA_TRUST_SERVER_AUTH, "trust-server-auth") |
244 | | CT (CKA_TRUST_CLIENT_AUTH, "trust-client-auth") |
245 | | CT (CKA_TRUST_CODE_SIGNING, "trust-code-signing") |
246 | | CT (CKA_TRUST_EMAIL_PROTECTION, "trust-email-protection") |
247 | | CT (CKA_TRUST_IPSEC_END_SYSTEM, "trust-ipsec-end-system") |
248 | | CT (CKA_TRUST_IPSEC_TUNNEL, "trust-ipsec-tunnel") |
249 | | CT (CKA_TRUST_IPSEC_USER, "trust-ipsec-user") |
250 | | CT (CKA_TRUST_TIME_STAMPING, "trust-time-stamping") |
251 | | CT (CKA_TRUST_STEP_UP_APPROVED, "trust-step-up-approved") |
252 | | CT (CKA_CERT_SHA1_HASH, "cert-sha1-hash") |
253 | | CT (CKA_CERT_MD5_HASH, "cert-md5-hash") |
254 | | CT (CKA_X_ASSERTION_TYPE, "x-assertion-type") |
255 | | CT (CKA_X_CERTIFICATE_VALUE, "x-certificate-value") |
256 | | CT (CKA_X_PURPOSE, "x-purpose") |
257 | | CT (CKA_X_PEER, "x-peer") |
258 | | CT (CKA_X_DISTRUSTED, "x-distrusted") |
259 | | CT (CKA_X_CRITICAL, "x-critical") |
260 | | { CKA_INVALID }, |
261 | | }; |
262 | | |
263 | | const p11_constant p11_constant_classes[] = { |
264 | | CT (CKO_DATA, "data") |
265 | | CT (CKO_CERTIFICATE, "certificate") |
266 | | CT (CKO_PUBLIC_KEY, "public-key") |
267 | | CT (CKO_PRIVATE_KEY, "private-key") |
268 | | CT (CKO_SECRET_KEY, "secret-key") |
269 | | CT (CKO_HW_FEATURE, "hw-feature") |
270 | | CT (CKO_DOMAIN_PARAMETERS, "domain-parameters") |
271 | | CT (CKO_MECHANISM, "mechanism") |
272 | | CT (CKO_PROFILE, "profile") |
273 | | CT (CKO_NSS_CRL, "nss-crl") |
274 | | CT (CKO_NSS_SMIME, "nss-smime") |
275 | | CT (CKO_NSS_TRUST, "nss-trust") |
276 | | CT (CKO_NSS_BUILTIN_ROOT_LIST, "nss-builtin-root-list") |
277 | | CT (CKO_NSS_NEWSLOT, "nss-newslot") |
278 | | CT (CKO_NSS_DELSLOT, "nss-delslot") |
279 | | CT (CKO_X_TRUST_ASSERTION, "x-trust-assertion") |
280 | | CT (CKO_X_CERTIFICATE_EXTENSION, "x-certificate-extension") |
281 | | { CKA_INVALID }, |
282 | | }; |
283 | | |
284 | | const p11_constant p11_constant_trusts[] = { |
285 | | CT (CKT_NSS_TRUSTED, "nss-trusted") |
286 | | CT (CKT_NSS_TRUSTED_DELEGATOR, "nss-trusted-delegator") |
287 | | CT (CKT_NSS_MUST_VERIFY_TRUST, "nss-must-verify-trust") |
288 | | CT (CKT_NSS_TRUST_UNKNOWN, "nss-trust-unknown") |
289 | | CT (CKT_NSS_NOT_TRUSTED, "nss-not-trusted") |
290 | | CT (CKT_NSS_VALID_DELEGATOR, "nss-valid-delegator") |
291 | | { CKA_INVALID }, |
292 | | }; |
293 | | |
294 | | const p11_constant p11_constant_certs[] = { |
295 | | CT (CKC_X_509, "x-509") |
296 | | CT (CKC_X_509_ATTR_CERT, "x-509-attr-cert") |
297 | | CT (CKC_WTLS, "wtls") |
298 | | { CKA_INVALID }, |
299 | | }; |
300 | | |
301 | | const p11_constant p11_constant_keys[] = { |
302 | | CT (CKK_RSA, "rsa") |
303 | | CT (CKK_DSA, "dsa") |
304 | | CT (CKK_DH, "dh") |
305 | | /* CT (CKK_ECDSA) */ |
306 | | CT (CKK_EC, "ec") |
307 | | CT (CKK_X9_42_DH, "x9-42-dh") |
308 | | CT (CKK_KEA, "kea") |
309 | | CT (CKK_GENERIC_SECRET, "generic-secret") |
310 | | CT (CKK_RC2, "rc2") |
311 | | CT (CKK_RC4, "rc4") |
312 | | CT (CKK_DES, "des") |
313 | | CT (CKK_DES2, "des2") |
314 | | CT (CKK_DES3, "des3") |
315 | | CT (CKK_CAST, "cast") |
316 | | CT (CKK_CAST3, "cast3") |
317 | | CT (CKK_CAST128, "cast128") |
318 | | CT (CKK_RC5, "rc5") |
319 | | CT (CKK_IDEA, "idea") |
320 | | CT (CKK_SKIPJACK, "skipjack") |
321 | | CT (CKK_BATON, "baton") |
322 | | CT (CKK_JUNIPER, "juniper") |
323 | | CT (CKK_CDMF, "cdmf") |
324 | | CT (CKK_AES, "aes") |
325 | | CT (CKK_BLOWFISH, "blowfish") |
326 | | CT (CKK_TWOFISH, "twofish") |
327 | | CT (CKK_SECURID, "ckk-securid") |
328 | | CT (CKK_HOTP, "ckk-hotp") |
329 | | CT (CKK_ACTI, "ckk-acti") |
330 | | CT (CKK_CAMELLIA, "camellia") |
331 | | CT (CKK_ARIA, "aria") |
332 | | CT (CKK_MD5_HMAC, "ckk-md5-hmac") |
333 | | CT (CKK_SHA_1_HMAC, "ckk-sha-1-hmac") |
334 | | CT (CKK_RIPEMD128_HMAC, "ckk-ripemd128-hmac") |
335 | | CT (CKK_RIPEMD160_HMAC, "ckk-ripemd160-hmac") |
336 | | CT (CKK_SHA256_HMAC, "ckk-sha256-hmac") |
337 | | CT (CKK_SHA384_HMAC, "ckk-sha384-hmac") |
338 | | CT (CKK_SHA512_HMAC, "ckk-sha512-hmac") |
339 | | CT (CKK_SHA224_HMAC, "ckk-sha224-hmac") |
340 | | CT (CKK_SEED, "seed") |
341 | | CT (CKK_GOSTR3410, "ckk-gostr3410") |
342 | | CT (CKK_GOSTR3411, "ckk-gostr3411") |
343 | | CT (CKK_GOST28147, "ckk-gost28147") |
344 | | CT (CKK_CHACHA20, "ckk-chacha20") |
345 | | CT (CKK_POLY1305, "ckk-poly1305") |
346 | | CT (CKK_AES_XTS, "ckk-aes-xts") |
347 | | CT (CKK_SHA3_224_HMAC, "ckk-sha3-224-hmac") |
348 | | CT (CKK_SHA3_256_HMAC, "ckk-sha3-256-hmac") |
349 | | CT (CKK_SHA3_384_HMAC, "ckk-sha3-384-hmac") |
350 | | CT (CKK_SHA3_512_HMAC, "ckk-sha3-512-hmac") |
351 | | CT (CKK_BLAKE2B_160_HMAC, "ckk-blake2b-160-hmac") |
352 | | CT (CKK_BLAKE2B_256_HMAC, "ckk-blake2b-256-hmac") |
353 | | CT (CKK_BLAKE2B_384_HMAC, "ckk-blake2b-384-hmac") |
354 | | CT (CKK_BLAKE2B_512_HMAC, "ckk-blake2b-512-hmac") |
355 | | CT (CKK_SALSA20, "ckk-salsa20") |
356 | | CT (CKK_X2RATCHET, "x2ratchet") |
357 | | CT (CKK_EC_EDWARDS, "ec-edwards") |
358 | | CT (CKK_EC_MONTGOMERY, "ec-montgomery") |
359 | | CT (CKK_HKDF, "hkdf") |
360 | | CT (CKK_SHA512_224_HMAC, "ckk-sha512-224-hmac") |
361 | | CT (CKK_SHA512_256_HMAC, "ckk-sha512-256-hmac") |
362 | | CT (CKK_SHA512_T_HMAC, "ckk-sha512-t-hmac") |
363 | | CT (CKK_HSS, "ckk-hss") |
364 | | CT (CKK_IBM_PQC_DILITHIUM, "ibm-dilithium") |
365 | | CT (CKK_NSS_PKCS8, "nss-pkcs8") |
366 | | { CKA_INVALID }, |
367 | | }; |
368 | | |
369 | | const p11_constant p11_constant_asserts[] = { |
370 | | CT (CKT_X_DISTRUSTED_CERTIFICATE, "x-distrusted-certificate") |
371 | | CT (CKT_X_PINNED_CERTIFICATE, "x-pinned-certificate") |
372 | | CT (CKT_X_ANCHORED_CERTIFICATE, "x-anchored-certificate") |
373 | | { CKA_INVALID }, |
374 | | }; |
375 | | |
376 | | const p11_constant p11_constant_categories[] = { |
377 | | { 0, "unspecified", { "unspecified" } }, |
378 | | { 1, "token-user", { "token-user" } }, |
379 | | { 2, "authority", { "authority" } }, |
380 | | { 3, "other-entry", { "other-entry" } }, |
381 | | { CKA_INVALID }, |
382 | | }; |
383 | | |
384 | | const p11_constant p11_constant_users[] = { |
385 | | CT (CKU_SO, NULL) |
386 | | CT (CKU_USER, NULL) |
387 | | CT (CKU_CONTEXT_SPECIFIC, NULL) |
388 | | { CKA_INVALID }, |
389 | | }; |
390 | | |
391 | | const p11_constant p11_constant_states[] = { |
392 | | CT (CKS_RO_PUBLIC_SESSION, NULL) |
393 | | CT (CKS_RO_USER_FUNCTIONS, NULL) |
394 | | CT (CKS_RW_PUBLIC_SESSION, NULL) |
395 | | CT (CKS_RW_USER_FUNCTIONS, NULL) |
396 | | CT (CKS_RW_SO_FUNCTIONS, NULL) |
397 | | { CKA_INVALID }, |
398 | | }; |
399 | | |
400 | | const p11_constant p11_constant_returns[] = { |
401 | | CT (CKR_OK, NULL) |
402 | | CT (CKR_CANCEL, NULL) |
403 | | CT (CKR_HOST_MEMORY, NULL) |
404 | | CT (CKR_SLOT_ID_INVALID, NULL) |
405 | | CT (CKR_GENERAL_ERROR, NULL) |
406 | | CT (CKR_FUNCTION_FAILED, NULL) |
407 | | CT (CKR_ARGUMENTS_BAD, NULL) |
408 | | CT (CKR_NO_EVENT, NULL) |
409 | | CT (CKR_NEED_TO_CREATE_THREADS, NULL) |
410 | | CT (CKR_CANT_LOCK, NULL) |
411 | | CT (CKR_ATTRIBUTE_READ_ONLY, NULL) |
412 | | CT (CKR_ATTRIBUTE_SENSITIVE, NULL) |
413 | | CT (CKR_ATTRIBUTE_TYPE_INVALID, NULL) |
414 | | CT (CKR_ATTRIBUTE_VALUE_INVALID, NULL) |
415 | | CT (CKR_ACTION_PROHIBITED, NULL) |
416 | | CT (CKR_DATA_INVALID, NULL) |
417 | | CT (CKR_DATA_LEN_RANGE, NULL) |
418 | | CT (CKR_DEVICE_ERROR, NULL) |
419 | | CT (CKR_DEVICE_MEMORY, NULL) |
420 | | CT (CKR_DEVICE_REMOVED, NULL) |
421 | | CT (CKR_ENCRYPTED_DATA_INVALID, NULL) |
422 | | CT (CKR_ENCRYPTED_DATA_LEN_RANGE, NULL) |
423 | | CT (CKR_AEAD_DECRYPT_FAILED, NULL) |
424 | | CT (CKR_FUNCTION_CANCELED, NULL) |
425 | | CT (CKR_FUNCTION_NOT_PARALLEL, NULL) |
426 | | CT (CKR_FUNCTION_NOT_SUPPORTED, NULL) |
427 | | CT (CKR_KEY_HANDLE_INVALID, NULL) |
428 | | CT (CKR_KEY_SIZE_RANGE, NULL) |
429 | | CT (CKR_KEY_TYPE_INCONSISTENT, NULL) |
430 | | CT (CKR_KEY_NOT_NEEDED, NULL) |
431 | | CT (CKR_KEY_CHANGED, NULL) |
432 | | CT (CKR_KEY_NEEDED, NULL) |
433 | | CT (CKR_KEY_INDIGESTIBLE, NULL) |
434 | | CT (CKR_KEY_FUNCTION_NOT_PERMITTED, NULL) |
435 | | CT (CKR_KEY_NOT_WRAPPABLE, NULL) |
436 | | CT (CKR_KEY_UNEXTRACTABLE, NULL) |
437 | | CT (CKR_MECHANISM_INVALID, NULL) |
438 | | CT (CKR_MECHANISM_PARAM_INVALID, NULL) |
439 | | CT (CKR_OBJECT_HANDLE_INVALID, NULL) |
440 | | CT (CKR_OPERATION_ACTIVE, NULL) |
441 | | CT (CKR_OPERATION_NOT_INITIALIZED, NULL) |
442 | | CT (CKR_PIN_INCORRECT, NULL) |
443 | | CT (CKR_PIN_INVALID, NULL) |
444 | | CT (CKR_PIN_LEN_RANGE, NULL) |
445 | | CT (CKR_PIN_EXPIRED, NULL) |
446 | | CT (CKR_PIN_LOCKED, NULL) |
447 | | CT (CKR_SESSION_CLOSED, NULL) |
448 | | CT (CKR_SESSION_COUNT, NULL) |
449 | | CT (CKR_SESSION_HANDLE_INVALID, NULL) |
450 | | CT (CKR_SESSION_PARALLEL_NOT_SUPPORTED, NULL) |
451 | | CT (CKR_SESSION_READ_ONLY, NULL) |
452 | | CT (CKR_SESSION_EXISTS, NULL) |
453 | | CT (CKR_SESSION_READ_ONLY_EXISTS, NULL) |
454 | | CT (CKR_SESSION_READ_WRITE_SO_EXISTS, NULL) |
455 | | CT (CKR_SIGNATURE_INVALID, NULL) |
456 | | CT (CKR_SIGNATURE_LEN_RANGE, NULL) |
457 | | CT (CKR_TEMPLATE_INCOMPLETE, NULL) |
458 | | CT (CKR_TEMPLATE_INCONSISTENT, NULL) |
459 | | CT (CKR_TOKEN_NOT_PRESENT, NULL) |
460 | | CT (CKR_TOKEN_NOT_RECOGNIZED, NULL) |
461 | | CT (CKR_TOKEN_WRITE_PROTECTED, NULL) |
462 | | CT (CKR_UNWRAPPING_KEY_HANDLE_INVALID, NULL) |
463 | | CT (CKR_UNWRAPPING_KEY_SIZE_RANGE, NULL) |
464 | | CT (CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, NULL) |
465 | | CT (CKR_USER_ALREADY_LOGGED_IN, NULL) |
466 | | CT (CKR_USER_NOT_LOGGED_IN, NULL) |
467 | | CT (CKR_USER_PIN_NOT_INITIALIZED, NULL) |
468 | | CT (CKR_USER_TYPE_INVALID, NULL) |
469 | | CT (CKR_USER_ANOTHER_ALREADY_LOGGED_IN, NULL) |
470 | | CT (CKR_USER_TOO_MANY_TYPES, NULL) |
471 | | CT (CKR_WRAPPED_KEY_INVALID, NULL) |
472 | | CT (CKR_WRAPPED_KEY_LEN_RANGE, NULL) |
473 | | CT (CKR_WRAPPING_KEY_HANDLE_INVALID, NULL) |
474 | | CT (CKR_WRAPPING_KEY_SIZE_RANGE, NULL) |
475 | | CT (CKR_WRAPPING_KEY_TYPE_INCONSISTENT, NULL) |
476 | | CT (CKR_RANDOM_SEED_NOT_SUPPORTED, NULL) |
477 | | CT (CKR_RANDOM_NO_RNG, NULL) |
478 | | CT (CKR_DOMAIN_PARAMS_INVALID, NULL) |
479 | | CT (CKR_CURVE_NOT_SUPPORTED, NULL) |
480 | | CT (CKR_BUFFER_TOO_SMALL, NULL) |
481 | | CT (CKR_SAVED_STATE_INVALID, NULL) |
482 | | CT (CKR_INFORMATION_SENSITIVE, NULL) |
483 | | CT (CKR_STATE_UNSAVEABLE, NULL) |
484 | | CT (CKR_CRYPTOKI_NOT_INITIALIZED, NULL) |
485 | | CT (CKR_CRYPTOKI_ALREADY_INITIALIZED, NULL) |
486 | | CT (CKR_MUTEX_BAD, NULL) |
487 | | CT (CKR_MUTEX_NOT_LOCKED, NULL) |
488 | | CT (CKR_NEW_PIN_MODE, NULL) |
489 | | CT (CKR_NEXT_OTP, NULL) |
490 | | CT (CKR_EXCEEDED_MAX_ITERATIONS, NULL) |
491 | | CT (CKR_FIPS_SELF_TEST_FAILED, NULL) |
492 | | CT (CKR_LIBRARY_LOAD_FAILED, NULL) |
493 | | CT (CKR_PIN_TOO_WEAK, NULL) |
494 | | CT (CKR_PUBLIC_KEY_INVALID, NULL) |
495 | | CT (CKR_FUNCTION_REJECTED, NULL) |
496 | | CT (CKR_TOKEN_RESOURCE_EXCEEDED, NULL) |
497 | | CT (CKR_OPERATION_CANCEL_FAILED, NULL) |
498 | | CT (CKR_KEY_EXHAUSTED, NULL) |
499 | | { CKA_INVALID }, |
500 | | }; |
501 | | |
502 | | const p11_constant p11_constant_mechanisms[] = { |
503 | | CT (CKM_RSA_PKCS_KEY_PAIR_GEN, "rsa-pkcs-key-pair-gen") |
504 | | CT (CKM_RSA_PKCS, "rsa-pkcs") |
505 | | CT (CKM_RSA_9796, "rsa-9796") |
506 | | CT (CKM_RSA_X_509, "rsa-x-509") |
507 | | CT (CKM_MD2_RSA_PKCS, "md2-rsa-pkcs") |
508 | | CT (CKM_MD5_RSA_PKCS, "md5-rsa-pkcs") |
509 | | CT (CKM_SHA1_RSA_PKCS, "sha1-rsa-pkcs") |
510 | | CT (CKM_RIPEMD128_RSA_PKCS, "ripemd128-rsa-pkcs") |
511 | | CT (CKM_RIPEMD160_RSA_PKCS, "ripemd160-rsa-pkcs") |
512 | | CT (CKM_RSA_PKCS_OAEP, "rsa-pkcs-oaep") |
513 | | CT (CKM_RSA_X9_31_KEY_PAIR_GEN, "rsa-x9-31-key-pair-gen") |
514 | | CT (CKM_RSA_X9_31, "rsa-x9-31") |
515 | | CT (CKM_SHA1_RSA_X9_31, "sha1-rsa-x9-31") |
516 | | CT (CKM_RSA_PKCS_PSS, "rsa-pkcs-pss") |
517 | | CT (CKM_SHA1_RSA_PKCS_PSS, "sha1-rsa-pkcs-pss") |
518 | | CT (CKM_DSA_KEY_PAIR_GEN, "dsa-key-pair-gen") |
519 | | CT (CKM_DSA, NULL) /* "dsa" */ |
520 | | CT (CKM_DSA_SHA1, "dsa-sha1") |
521 | | CT (CKM_DSA_SHA224, "dsa-sha224") |
522 | | CT (CKM_DSA_SHA256, "dsa-sha256") |
523 | | CT (CKM_DSA_SHA384, "dsa-sha384") |
524 | | CT (CKM_DSA_SHA512, "dsa-sha512") |
525 | | CT (CKM_DSA_SHA3_224, "dsa-sha3-224") |
526 | | CT (CKM_DSA_SHA3_256, "dsa-sha3-256") |
527 | | CT (CKM_DSA_SHA3_384, "dsa-sha3-384") |
528 | | CT (CKM_DSA_SHA3_512, "dsa-sha3-512") |
529 | | CT (CKM_DH_PKCS_KEY_PAIR_GEN, "dh-pkcs-key-pair-gen") |
530 | | CT (CKM_DH_PKCS_DERIVE, "dh-pkcs-derive") |
531 | | CT (CKM_X9_42_DH_KEY_PAIR_GEN, "x9-42-dh-key-pair-gen") |
532 | | CT (CKM_X9_42_DH_DERIVE, "x9-42-dh-derive") |
533 | | CT (CKM_X9_42_DH_HYBRID_DERIVE, "x9-42-dh-hybrid-derive") |
534 | | CT (CKM_X9_42_MQV_DERIVE, "x9-42-mqv-derive") |
535 | | CT (CKM_SHA256_RSA_PKCS, "sha256-rsa-pkcs") |
536 | | CT (CKM_SHA384_RSA_PKCS, "sha384-rsa-pkcs") |
537 | | CT (CKM_SHA512_RSA_PKCS, "sha512-rsa-pkcs") |
538 | | CT (CKM_SHA256_RSA_PKCS_PSS, "sha256-rsa-pkcs-pss") |
539 | | CT (CKM_SHA384_RSA_PKCS_PSS, "sha384-rsa-pkcs-pss") |
540 | | CT (CKM_SHA512_RSA_PKCS_PSS, "sha512-rsa-pkcs-pss") |
541 | | CT (CKM_SHA224_RSA_PKCS, "sha224-rsa-pkcs") |
542 | | CT (CKM_SHA224_RSA_PKCS_PSS, "sha224-rsa-pkcs-pss") |
543 | | CT (CKM_SHA512_224, "sha512-224") |
544 | | CT (CKM_SHA512_224_HMAC, "sha512-224-hmac") |
545 | | CT (CKM_SHA512_224_HMAC_GENERAL, "sha512-224-hmac-general") |
546 | | CT (CKM_SHA512_224_KEY_DERIVATION, "sha512-224-key-derivation") |
547 | | CT (CKM_SHA512_256, "sha512-256") |
548 | | CT (CKM_SHA512_256_HMAC, "sha512-256-hmac") |
549 | | CT (CKM_SHA512_256_HMAC_GENERAL, "sha512-256-hmac-general") |
550 | | CT (CKM_SHA512_256_KEY_DERIVATION, "sha512-256-key-derivation") |
551 | | CT (CKM_SHA512_T, "sha512-t") |
552 | | CT (CKM_SHA512_T_HMAC, "sha512-t-hmac") |
553 | | CT (CKM_SHA512_T_HMAC_GENERAL, "sha512-t-hmac-general") |
554 | | CT (CKM_SHA512_T_KEY_DERIVATION, "sha512-t-key-derivation") |
555 | | CT (CKM_SHA3_256_RSA_PKCS, "sha3-256-rsa-pkcs") |
556 | | CT (CKM_SHA3_384_RSA_PKCS, "sha3-384-rsa-pkcs") |
557 | | CT (CKM_SHA3_512_RSA_PKCS, "sha3-512-rsa-pkcs") |
558 | | CT (CKM_SHA3_256_RSA_PKCS_PSS, "sha3-256-rsa-pkcs-pss") |
559 | | CT (CKM_SHA3_384_RSA_PKCS_PSS, "sha3-384-rsa-pkcs-pss") |
560 | | CT (CKM_SHA3_512_RSA_PKCS_PSS, "sha3-512-rsa-pkcs-pss") |
561 | | CT (CKM_SHA3_224_RSA_PKCS, "sha3-224-rsa-pkcs") |
562 | | CT (CKM_SHA3_224_RSA_PKCS_PSS, "sha3-224-rsa-pkcs-pss") |
563 | | CT (CKM_RC2_KEY_GEN, "rc2-key-gen") |
564 | | CT (CKM_RC2_ECB, "rc2-ecb") |
565 | | CT (CKM_RC2_CBC, "rc2-cbc") |
566 | | CT (CKM_RC2_MAC, "rc2-mac") |
567 | | CT (CKM_RC2_MAC_GENERAL, "rc2-mac-general") |
568 | | CT (CKM_RC2_CBC_PAD, "rc2-cbc-pad") |
569 | | CT (CKM_RC4_KEY_GEN, "rc4-key-gen") |
570 | | CT (CKM_RC4, NULL) /* "rc4" */ |
571 | | CT (CKM_DES_KEY_GEN, "des-key-gen") |
572 | | CT (CKM_DES_ECB, "des-ecb") |
573 | | CT (CKM_DES_CBC, "des-cbc") |
574 | | CT (CKM_DES_MAC, "des-mac") |
575 | | CT (CKM_DES_MAC_GENERAL, "des-mac-general") |
576 | | CT (CKM_DES_CBC_PAD, "des-cbc-pad") |
577 | | CT (CKM_DES2_KEY_GEN, "des2-key-gen") |
578 | | CT (CKM_DES3_KEY_GEN, "des3-key-gen") |
579 | | CT (CKM_DES3_ECB, "des3-ecb") |
580 | | CT (CKM_DES3_CBC, "des3-cbc") |
581 | | CT (CKM_DES3_MAC, "des3-mac") |
582 | | CT (CKM_DES3_MAC_GENERAL, "des3-mac-general") |
583 | | CT (CKM_DES3_CBC_PAD, "des3-cbc-pad") |
584 | | CT (CKM_DES3_CMAC_GENERAL, "des3-cmac-general") |
585 | | CT (CKM_DES3_CMAC, "des3-cmac") |
586 | | CT (CKM_CDMF_KEY_GEN, "cdmf-key-gen") |
587 | | CT (CKM_CDMF_ECB, "cdmf-ecb") |
588 | | CT (CKM_CDMF_CBC, "cdmf-cbc") |
589 | | CT (CKM_CDMF_MAC, "cdmf-mac") |
590 | | CT (CKM_CDMF_MAC_GENERAL, "cdmf-mac-general") |
591 | | CT (CKM_CDMF_CBC_PAD, "cdmf-cbc-pad") |
592 | | CT (CKM_DES_OFB64, "des-ofb64") |
593 | | CT (CKM_DES_OFB8, "des-ofb8") |
594 | | CT (CKM_DES_CFB64, "des-cfb64") |
595 | | CT (CKM_DES_CFB8, "des-cfb8") |
596 | | CT (CKM_MD2, "md2") |
597 | | CT (CKM_MD2_HMAC, "md2-hmac") |
598 | | CT (CKM_MD2_HMAC_GENERAL, "md2-hmac-general") |
599 | | CT (CKM_MD5, "md5") |
600 | | CT (CKM_MD5_HMAC, "md5-hmac") |
601 | | CT (CKM_MD5_HMAC_GENERAL, "md5-hmac-general") |
602 | | CT (CKM_SHA_1, "sha-1") |
603 | | CT (CKM_SHA_1_HMAC, "sha-1-hmac") |
604 | | CT (CKM_SHA_1_HMAC_GENERAL, "sha-1-hmac-general") |
605 | | CT (CKM_RIPEMD128, "ripemd128") |
606 | | CT (CKM_RIPEMD128_HMAC, "ripemd128-hmac") |
607 | | CT (CKM_RIPEMD128_HMAC_GENERAL, "ripemd128-hmac-general") |
608 | | CT (CKM_RIPEMD160, "ripemd160") |
609 | | CT (CKM_RIPEMD160_HMAC, "ripemd160-hmac") |
610 | | CT (CKM_RIPEMD160_HMAC_GENERAL, "ripemd160-hmac-general") |
611 | | CT (CKM_SHA256, "sha256") |
612 | | CT (CKM_SHA256_HMAC, "sha256-hmac") |
613 | | CT (CKM_SHA256_HMAC_GENERAL, "sha256-hmac-general") |
614 | | CT (CKM_SHA224, "sha224") |
615 | | CT (CKM_SHA224_HMAC, "sha224-hmac") |
616 | | CT (CKM_SHA224_HMAC_GENERAL, "sha224-hmac-general") |
617 | | CT (CKM_SHA384, "sha384") |
618 | | CT (CKM_SHA384_HMAC, "sha384-hmac") |
619 | | CT (CKM_SHA384_HMAC_GENERAL, "sha384-hmac-general") |
620 | | CT (CKM_SHA512, "sha512") |
621 | | CT (CKM_SHA512_HMAC, "sha512-hmac") |
622 | | CT (CKM_SHA512_HMAC_GENERAL, "sha512-hmac-general") |
623 | | CT (CKM_SECURID_KEY_GEN, "securid-key-gen") |
624 | | CT (CKM_SECURID, "securid") |
625 | | CT (CKM_HOTP_KEY_GEN, "hotp-key-gen") |
626 | | CT (CKM_HOTP, "hotp") |
627 | | CT (CKM_ACTI, "acti") |
628 | | CT (CKM_ACTI_KEY_GEN, "acti-key-gen") |
629 | | CT (CKM_SHA3_256, "sha3-256") |
630 | | CT (CKM_SHA3_256_HMAC, "sha3-256-hmac") |
631 | | CT (CKM_SHA3_256_HMAC_GENERAL, "sha3-256-hmac-general") |
632 | | CT (CKM_SHA3_256_KEY_GEN, "sha3-256-key-gen") |
633 | | CT (CKM_SHA3_224, "sha3-224") |
634 | | CT (CKM_SHA3_224_HMAC, "sha3-224-hmac") |
635 | | CT (CKM_SHA3_224_HMAC_GENERAL, "sha3-224-hmac-general") |
636 | | CT (CKM_SHA3_224_KEY_GEN, "sha3-224-key-gen") |
637 | | CT (CKM_SHA3_384, "sha3-384") |
638 | | CT (CKM_SHA3_384_HMAC, "sha3-384-hmac") |
639 | | CT (CKM_SHA3_384_HMAC_GENERAL, "sha3-384-hmac-general") |
640 | | CT (CKM_SHA3_384_KEY_GEN, "sha3-384-key-gen") |
641 | | CT (CKM_SHA3_512, "sha3-512") |
642 | | CT (CKM_SHA3_512_HMAC, "sha3-512-hmac") |
643 | | CT (CKM_SHA3_512_HMAC_GENERAL, "sha3-512-hmac-general") |
644 | | CT (CKM_SHA3_512_KEY_GEN, "sha3-512-key-gen") |
645 | | CT (CKM_CAST_KEY_GEN, "cast-key-gen") |
646 | | CT (CKM_CAST_ECB, "cast-ecb") |
647 | | CT (CKM_CAST_CBC, "cast-cbc") |
648 | | CT (CKM_CAST_MAC, "cast-mac") |
649 | | CT (CKM_CAST_MAC_GENERAL, "cast-mac-general") |
650 | | CT (CKM_CAST_CBC_PAD, "cast-cbc-pad") |
651 | | CT (CKM_CAST3_KEY_GEN, "cast3-key-gen") |
652 | | CT (CKM_CAST3_ECB, "cast3-ecb") |
653 | | CT (CKM_CAST3_CBC, "cast3-cbc") |
654 | | CT (CKM_CAST3_MAC, "cast3-mac") |
655 | | CT (CKM_CAST3_MAC_GENERAL, "cast3-mac-general") |
656 | | CT (CKM_CAST3_CBC_PAD, "cast3-cbc-pad") |
657 | | CT (CKM_CAST5_KEY_GEN, "cast5-key-gen") |
658 | | /* CT (CKM_CAST128_KEY_GEN) */ |
659 | | CT (CKM_CAST5_ECB, "cast5-ecb") |
660 | | /* CT (CKM_CAST128_ECB) */ |
661 | | CT (CKM_CAST5_CBC, "cast5-cbc") |
662 | | /* CT (CKM_CAST128_CBC) */ |
663 | | CT (CKM_CAST5_MAC, "cast5-mac") |
664 | | /* CT (CKM_CAST128_MAC) */ |
665 | | CT (CKM_CAST5_MAC_GENERAL, "cast5-mac-general") |
666 | | /* CT (CKM_CAST128_MAC_GENERAL) */ |
667 | | CT (CKM_CAST5_CBC_PAD, "cast5-cbc-pad") |
668 | | /* CT (CKM_CAST128_CBC_PAD) */ |
669 | | CT (CKM_RC5_KEY_GEN, "rc5-key-gen") |
670 | | CT (CKM_RC5_ECB, "rc5-ecb") |
671 | | CT (CKM_RC5_CBC, "rc5-cbc") |
672 | | CT (CKM_RC5_MAC, "rc5-mac") |
673 | | CT (CKM_RC5_MAC_GENERAL, "rc5-mac-general") |
674 | | CT (CKM_RC5_CBC_PAD, "rc5-cbc-pad") |
675 | | CT (CKM_IDEA_KEY_GEN, "idea-key-gen") |
676 | | CT (CKM_IDEA_ECB, "idea-ecb") |
677 | | CT (CKM_IDEA_CBC, "idea-cbc") |
678 | | CT (CKM_IDEA_MAC, "idea-mac") |
679 | | CT (CKM_IDEA_MAC_GENERAL, "idea-mac-general") |
680 | | CT (CKM_IDEA_CBC_PAD, "idea-cbc-pad") |
681 | | CT (CKM_GENERIC_SECRET_KEY_GEN, "generic-secret-key-gen") |
682 | | CT (CKM_CONCATENATE_BASE_AND_KEY, "concatenate-base-and-key") |
683 | | CT (CKM_CONCATENATE_BASE_AND_DATA, "concatenate-base-and-data") |
684 | | CT (CKM_CONCATENATE_DATA_AND_BASE, "concatenate-data-and-base") |
685 | | CT (CKM_XOR_BASE_AND_DATA, "xor-base-and-data") |
686 | | CT (CKM_EXTRACT_KEY_FROM_KEY, "extract-key-from-key") |
687 | | CT (CKM_SSL3_PRE_MASTER_KEY_GEN, "ssl3-pre-master-key-gen") |
688 | | CT (CKM_SSL3_MASTER_KEY_DERIVE, "ssl3-master-key-derive") |
689 | | CT (CKM_SSL3_KEY_AND_MAC_DERIVE, "ssl3-key-and-mac-derive") |
690 | | CT (CKM_SSL3_MASTER_KEY_DERIVE_DH, "ssl3-master-key-derive-dh") |
691 | | CT (CKM_TLS_PRE_MASTER_KEY_GEN, "tls-pre-master-key-gen") |
692 | | CT (CKM_TLS_MASTER_KEY_DERIVE, "tls-master-key-derive") |
693 | | CT (CKM_TLS_KEY_AND_MAC_DERIVE, "tls-key-and-mac-derive") |
694 | | CT (CKM_TLS_MASTER_KEY_DERIVE_DH, "tls-master-key-derive-dh") |
695 | | /* CT (CKM_TLS_PRF) */ |
696 | | CT (CKM_SSL3_MD5_MAC, "ssl3-md5-mac") |
697 | | CT (CKM_SSL3_SHA1_MAC, "ssl3-sha1-mac") |
698 | | CT (CKM_MD5_KEY_DERIVATION, "md5-key-derivation") |
699 | | CT (CKM_MD2_KEY_DERIVATION, "md2-key-derivation") |
700 | | CT (CKM_SHA1_KEY_DERIVATION, "sha1-key-derivation") |
701 | | CT (CKM_SHA256_KEY_DERIVATION, "sha256-key-derivation") |
702 | | CT (CKM_SHA384_KEY_DERIVATION, "sha384-key-derivation") |
703 | | CT (CKM_SHA512_KEY_DERIVATION, "sha512-key-derivation") |
704 | | CT (CKM_SHA224_KEY_DERIVATION, "sha224-key-derivation") |
705 | | /* CT (CKM_SHA3_256_KEY_DERIVATION) */ |
706 | | CT (CKM_SHA3_256_KEY_DERIVE, "sha3-256-key-derive") |
707 | | /* CT (CKM_SHA3_224_KEY_DERIVATION) */ |
708 | | CT (CKM_SHA3_224_KEY_DERIVE, "sha3-224-key-derive") |
709 | | /* CT (CKM_SHA3_384_KEY_DERIVATION) */ |
710 | | CT (CKM_SHA3_384_KEY_DERIVE, "sha3-384-key-derive") |
711 | | /* CT (CKM_SHA3_512_KEY_DERIVATION) */ |
712 | | CT (CKM_SHA3_512_KEY_DERIVE, "sha3-512-key-derive") |
713 | | /* CT (CKM_SHAKE_128_KEY_DERIVATION) */ |
714 | | CT (CKM_SHAKE_128_KEY_DERIVE, "shake-128-key-derive") |
715 | | /* CT (CKM_SHAKE_256_KEY_DERIVATION) */ |
716 | | CT (CKM_SHAKE_256_KEY_DERIVE, "shake-256-key-derive") |
717 | | CT (CKM_PBE_MD2_DES_CBC, "pbe-md2-des-cbc") |
718 | | CT (CKM_PBE_MD5_DES_CBC, "pbe-md5-des-cbc") |
719 | | CT (CKM_PBE_MD5_CAST_CBC, "pbe-md5-cast-cbc") |
720 | | CT (CKM_PBE_MD5_CAST3_CBC, "pbe-md5-cast3-cbc") |
721 | | CT (CKM_PBE_MD5_CAST5_CBC, "pbe-md5-cast5-cbc") |
722 | | /* CT (CKM_PBE_MD5_CAST128_CBC) */ |
723 | | CT (CKM_PBE_SHA1_CAST5_CBC, "pbe-sha1-cast5-cbc") |
724 | | /* CT (CKM_PBE_SHA1_CAST128_CBC) */ |
725 | | CT (CKM_PBE_SHA1_RC4_128, "pbe-sha1-rc4-128") |
726 | | CT (CKM_PBE_SHA1_RC4_40, "pbe-sha1-rc4-40") |
727 | | CT (CKM_PBE_SHA1_DES3_EDE_CBC, "pbe-sha1-des3-ede-cbc") |
728 | | CT (CKM_PBE_SHA1_DES2_EDE_CBC, "pbe-sha1-des2-ede-cbc") |
729 | | CT (CKM_PBE_SHA1_RC2_128_CBC, "pbe-sha1-rc2-128-cbc") |
730 | | CT (CKM_PBE_SHA1_RC2_40_CBC, "pbe-sha1-rc2-40-cbc") |
731 | | CT (CKM_SP800_108_COUNTER_KDF, "sp800-108-counter-kdf") |
732 | | CT (CKM_SP800_108_FEEDBACK_KDF, "sp800-108-feedback-kdf") |
733 | | CT (CKM_SP800_108_DOUBLE_PIPELINE_KDF, "sp800-108-double-pipeline-kdf") |
734 | | CT (CKM_PKCS5_PBKD2, "pkcs5-pbkd2") |
735 | | CT (CKM_PBA_SHA1_WITH_SHA1_HMAC, "pba-sha1-with-sha1-hmac") |
736 | | CT (CKM_WTLS_PRE_MASTER_KEY_GEN, "wtls-pre-master-key-gen") |
737 | | CT (CKM_WTLS_MASTER_KEY_DERIVE, "wtls-master-key-derive") |
738 | | CT (CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC, "wtls-master-key-derive-dh-ecc") |
739 | | CT (CKM_WTLS_PRF, "wtls-prf") |
740 | | CT (CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE, "wtls-server-key-and-mac-derive") |
741 | | CT (CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE, "wtls-client-key-and-mac-derive") |
742 | | CT (CKM_TLS10_MAC_SERVER, "tls10-mac-server") |
743 | | CT (CKM_TLS10_MAC_CLIENT, "tls10-mac-client") |
744 | | CT (CKM_TLS12_MAC, "tls12-mac") |
745 | | CT (CKM_TLS12_KDF, "tls12-kdf") |
746 | | CT (CKM_TLS12_MASTER_KEY_DERIVE, "tls12-master-key-derive") |
747 | | CT (CKM_TLS12_KEY_AND_MAC_DERIVE, "tls12-key-and-mac-derive") |
748 | | CT (CKM_TLS12_MASTER_KEY_DERIVE_DH, "tls12-master-key-derive-dh") |
749 | | CT (CKM_TLS12_KEY_SAFE_DERIVE, "tls12-key-safe-derive") |
750 | | CT (CKM_TLS_MAC, "tls-mac") |
751 | | CT (CKM_TLS_KDF, "tls-kdf") |
752 | | CT (CKM_KEY_WRAP_LYNKS, "key-wrap-lynks") |
753 | | CT (CKM_KEY_WRAP_SET_OAEP, "key-wrap-set-oaep") |
754 | | CT (CKM_CMS_SIG, "cms-sig") |
755 | | CT (CKM_KIP_DERIVE, "kip-derive") |
756 | | CT (CKM_KIP_WRAP, "kip-wrap") |
757 | | CT (CKM_KIP_MAC, "kip-mac") |
758 | | CT (CKM_CAMELLIA_KEY_GEN, "camellia-key-gen") |
759 | | CT (CKM_CAMELLIA_ECB, "camellia-ecb") |
760 | | CT (CKM_CAMELLIA_CBC, "camellia-cbc") |
761 | | CT (CKM_CAMELLIA_MAC, "camellia-mac") |
762 | | CT (CKM_CAMELLIA_MAC_GENERAL, "camellia-mac-general") |
763 | | CT (CKM_CAMELLIA_CBC_PAD, "camellia-cbc-pad") |
764 | | CT (CKM_CAMELLIA_ECB_ENCRYPT_DATA, "camellia-ecb-encrypt-data") |
765 | | CT (CKM_CAMELLIA_CBC_ENCRYPT_DATA, "camellia-cbc-encrypt-data") |
766 | | CT (CKM_CAMELLIA_CTR, "camellia-ctr") |
767 | | CT (CKM_ARIA_KEY_GEN, "aria-key-gen") |
768 | | CT (CKM_ARIA_ECB, "aria-ecb") |
769 | | CT (CKM_ARIA_CBC, "aria-cbc") |
770 | | CT (CKM_ARIA_MAC, "aria-mac") |
771 | | CT (CKM_ARIA_MAC_GENERAL, "aria-mac-general") |
772 | | CT (CKM_ARIA_CBC_PAD, "aria-cbc-pad") |
773 | | CT (CKM_ARIA_ECB_ENCRYPT_DATA, "aria-ecb-encrypt-data") |
774 | | CT (CKM_ARIA_CBC_ENCRYPT_DATA, "aria-cbc-encrypt-data") |
775 | | CT (CKM_SEED_KEY_GEN, "seed-key-gen") |
776 | | CT (CKM_SEED_ECB, "seed-ecb") |
777 | | CT (CKM_SEED_CBC, "seed-cbc") |
778 | | CT (CKM_SEED_MAC, "seed-mac") |
779 | | CT (CKM_SEED_MAC_GENERAL, "seed-mac-general") |
780 | | CT (CKM_SEED_CBC_PAD, "seed-cbc-pad") |
781 | | CT (CKM_SEED_ECB_ENCRYPT_DATA, "seed-ecb-encrypt-data") |
782 | | CT (CKM_SEED_CBC_ENCRYPT_DATA, "seed-cbc-encrypt-data") |
783 | | CT (CKM_SKIPJACK_KEY_GEN, "skipjack-key-gen") |
784 | | CT (CKM_SKIPJACK_ECB64, "skipjack-ecb64") |
785 | | CT (CKM_SKIPJACK_CBC64, "skipjack-cbc64") |
786 | | CT (CKM_SKIPJACK_OFB64, "skipjack-ofb64") |
787 | | CT (CKM_SKIPJACK_CFB64, "skipjack-cfb64") |
788 | | CT (CKM_SKIPJACK_CFB32, "skipjack-cfb32") |
789 | | CT (CKM_SKIPJACK_CFB16, "skipjack-cfb16") |
790 | | CT (CKM_SKIPJACK_CFB8, "skipjack-cfb8") |
791 | | CT (CKM_SKIPJACK_WRAP, "skipjack-wrap") |
792 | | CT (CKM_SKIPJACK_PRIVATE_WRAP, "skipjack-private-wrap") |
793 | | CT (CKM_SKIPJACK_RELAYX, "skipjack-relayx") |
794 | | CT (CKM_KEA_KEY_PAIR_GEN, "kea-key-pair-gen") |
795 | | CT (CKM_KEA_KEY_DERIVE, "kea-key-derive") |
796 | | CT (CKM_FORTEZZA_TIMESTAMP, "fortezza-timestamp") |
797 | | CT (CKM_BATON_KEY_GEN, "baton-key-gen") |
798 | | CT (CKM_BATON_ECB128, "baton-ecb128") |
799 | | CT (CKM_BATON_ECB96, "baton-ecb96") |
800 | | CT (CKM_BATON_CBC128, "baton-cbc128") |
801 | | CT (CKM_BATON_COUNTER, "baton-counter") |
802 | | CT (CKM_BATON_SHUFFLE, "baton-shuffle") |
803 | | CT (CKM_BATON_WRAP, "baton-wrap") |
804 | | CT (CKM_ECDSA_KEY_PAIR_GEN, "ecdsa-key-pair-gen") |
805 | | /* CT (CKM_EC_KEY_PAIR_GEN) */ |
806 | | CT (CKM_ECDSA, "ecdsa") |
807 | | CT (CKM_ECDSA_SHA1, "ecdsa-sha1") |
808 | | CT (CKM_ECDSA_SHA224, "ecdsa-sha224") |
809 | | CT (CKM_ECDSA_SHA256, "ecdsa-sha256") |
810 | | CT (CKM_ECDSA_SHA384, "ecdsa-sha384") |
811 | | CT (CKM_ECDSA_SHA512, "ecdsa-sha512") |
812 | | CT (CKM_ECDSA_SHA3_224, "ecdsa-sha3-224") |
813 | | CT (CKM_ECDSA_SHA3_256, "ecdsa-sha3-256") |
814 | | CT (CKM_ECDSA_SHA3_384, "ecdsa-sha3-384") |
815 | | CT (CKM_ECDSA_SHA3_512, "ecdsa-sha3-512") |
816 | | CT (CKM_ECDH1_DERIVE, "ecdh1-derive") |
817 | | CT (CKM_ECDH1_COFACTOR_DERIVE, "ecdh1-cofactor-derive") |
818 | | CT (CKM_ECMQV_DERIVE, "ecmqv-derive") |
819 | | CT (CKM_ECDH_AES_KEY_WRAP, "ecdh-aes-key-wrap") |
820 | | CT (CKM_RSA_AES_KEY_WRAP, "rsa-aes-key-wrap") |
821 | | CT (CKM_EC_EDWARDS_KEY_PAIR_GEN, "ec-edwards-key-pair-gen") |
822 | | CT (CKM_EC_MONTGOMERY_KEY_PAIR_GEN, "ec-montgomery-key-pair-gen") |
823 | | CT (CKM_EDDSA, "eddsa") |
824 | | CT (CKM_JUNIPER_KEY_GEN, "juniper-key-gen") |
825 | | CT (CKM_JUNIPER_ECB128, "juniper-ecb128") |
826 | | CT (CKM_JUNIPER_CBC128, "juniper-cbc128") |
827 | | CT (CKM_JUNIPER_COUNTER, "juniper-counter") |
828 | | CT (CKM_JUNIPER_SHUFFLE, "juniper-shuffle") |
829 | | CT (CKM_JUNIPER_WRAP, "juniper-wrap") |
830 | | CT (CKM_FASTHASH, "fasthash") |
831 | | CT (CKM_AES_XTS, "aes-xts") |
832 | | CT (CKM_AES_XTS_KEY_GEN, "aes-xts-key-gen") |
833 | | CT (CKM_AES_KEY_GEN, "aes-key-gen") |
834 | | CT (CKM_AES_ECB, "aes-ecb") |
835 | | CT (CKM_AES_CBC, "aes-cbc") |
836 | | CT (CKM_AES_MAC, "aes-mac") |
837 | | CT (CKM_AES_MAC_GENERAL, "aes-mac-general") |
838 | | CT (CKM_AES_CBC_PAD, "aes-cbc-pad") |
839 | | CT (CKM_AES_CTR, "aes-ctr") |
840 | | CT (CKM_AES_GCM, "aes-gcm") |
841 | | CT (CKM_AES_CCM, "aes-ccm") |
842 | | CT (CKM_AES_CTS, "aes-cts") |
843 | | CT (CKM_AES_CMAC, "aes-cmac") |
844 | | CT (CKM_AES_CMAC_GENERAL, "aes-cmac-general") |
845 | | CT (CKM_AES_XCBC_MAC, "aes-xcbc-mac") |
846 | | CT (CKM_AES_XCBC_MAC_96, "aes-xcbc-mac-96") |
847 | | CT (CKM_AES_GMAC, "aes-gmac") |
848 | | CT (CKM_BLOWFISH_KEY_GEN, "blowfish-key-gen") |
849 | | CT (CKM_BLOWFISH_CBC, "blowfish-cbc") |
850 | | CT (CKM_TWOFISH_KEY_GEN, "twofish-key-gen") |
851 | | CT (CKM_TWOFISH_CBC, "twofish-cbc") |
852 | | CT (CKM_BLOWFISH_CBC_PAD, "blowfish-cbc-pad") |
853 | | CT (CKM_TWOFISH_CBC_PAD, "twofish-cbc-pad") |
854 | | CT (CKM_DES_ECB_ENCRYPT_DATA, "des-ecb-encrypt-data") |
855 | | CT (CKM_DES_CBC_ENCRYPT_DATA, "des-cbc-encrypt-data") |
856 | | CT (CKM_DES3_ECB_ENCRYPT_DATA, "des3-ecb-encrypt-data") |
857 | | CT (CKM_DES3_CBC_ENCRYPT_DATA, "des3-cbc-encrypt-data") |
858 | | CT (CKM_AES_ECB_ENCRYPT_DATA, "aes-ecb-encrypt-data") |
859 | | CT (CKM_AES_CBC_ENCRYPT_DATA, "aes-cbc-encrypt-data") |
860 | | CT (CKM_GOSTR3410_KEY_PAIR_GEN, "gostr3410-key-pair-gen") |
861 | | CT (CKM_GOSTR3410, "gostr3410") |
862 | | CT (CKM_GOSTR3410_WITH_GOSTR3411, "gostr3410-with-gostr3411") |
863 | | CT (CKM_GOSTR3410_KEY_WRAP, "gostr3410-key-wrap") |
864 | | CT (CKM_GOSTR3410_DERIVE, "gostr3410-derive") |
865 | | CT (CKM_GOSTR3411, "gostr3411") |
866 | | CT (CKM_GOSTR3411_HMAC, "gostr3411-hmac") |
867 | | CT (CKM_GOST28147_KEY_GEN, "gost28147-key-gen") |
868 | | CT (CKM_GOST28147_ECB, "gost28147-ecb") |
869 | | CT (CKM_GOST28147, "gost28147") |
870 | | CT (CKM_GOST28147_MAC, "gost28147-mac") |
871 | | CT (CKM_GOST28147_KEY_WRAP, "gost28147-key-wrap") |
872 | | CT (CKM_CHACHA20_KEY_GEN, "chacha20-key-gen") |
873 | | CT (CKM_CHACHA20, "chacha20") |
874 | | CT (CKM_POLY1305_KEY_GEN, "poly1305-key-gen") |
875 | | CT (CKM_POLY1305, "poly1305") |
876 | | CT (CKM_EC_KEY_PAIR_GEN_W_EXTRA_BITS, "ec-key-pair-gen-w-extra-bits") |
877 | | CT (CKM_DSA_PARAMETER_GEN, "dsa-parameter-gen") |
878 | | CT (CKM_DH_PKCS_PARAMETER_GEN, "dh-pkcs-parameter-gen") |
879 | | CT (CKM_X9_42_DH_PARAMETER_GEN, "x9-42-dh-parameter-gen") |
880 | | /* CT (CKM_DSA_PROBABLISTIC_PARAMETER_GEN) */ |
881 | | CT (CKM_DSA_PROBABILISTIC_PARAMETER_GEN, "dsa-probabilistic-parameter-gen") |
882 | | CT (CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN, "dsa-shawe-taylor-parameter-gen") |
883 | | CT (CKM_DSA_FIPS_G_GEN, "dsa-fips-g-gen") |
884 | | CT (CKM_AES_OFB, "aes-ofb") |
885 | | CT (CKM_AES_CFB64, "aes-cfb64") |
886 | | CT (CKM_AES_CFB8, "aes-cfb8") |
887 | | CT (CKM_AES_CFB128, "aes-cfb128") |
888 | | CT (CKM_AES_CFB1, "aes-cfb1") |
889 | | CT (CKM_AES_KEY_WRAP, "aes-key-wrap") |
890 | | CT (CKM_AES_KEY_WRAP_PAD, "aes-key-wrap-pad") |
891 | | CT (CKM_AES_KEY_WRAP_KWP, "aes-key-wrap-kwp") |
892 | | CT (CKM_AES_KEY_WRAP_PKCS7, "aes-key-wrap-pkcs7") |
893 | | CT (CKM_RSA_PKCS_TPM_1_1, "rsa-pkcs-tpm-1-1") |
894 | | CT (CKM_RSA_PKCS_OAEP_TPM_1_1, "rsa-pkcs-oaep-tpm-1-1") |
895 | | CT (CKM_SHA_1_KEY_GEN, "sha-1-key-gen") |
896 | | CT (CKM_SHA224_KEY_GEN, "sha224-key-gen") |
897 | | CT (CKM_SHA256_KEY_GEN, "sha256-key-gen") |
898 | | CT (CKM_SHA384_KEY_GEN, "sha384-key-gen") |
899 | | CT (CKM_SHA512_KEY_GEN, "sha512-key-gen") |
900 | | CT (CKM_SHA512_224_KEY_GEN, "sha512-224-key-gen") |
901 | | CT (CKM_SHA512_256_KEY_GEN, "sha512-256-key-gen") |
902 | | CT (CKM_SHA512_T_KEY_GEN, "sha512-t-key-gen") |
903 | | CT (CKM_NULL, "null") |
904 | | CT (CKM_BLAKE2B_160, "blake2b-160") |
905 | | CT (CKM_BLAKE2B_160_HMAC, "blake2b-160-hmac") |
906 | | CT (CKM_BLAKE2B_160_HMAC_GENERAL, "blake2b-160-hmac-general") |
907 | | CT (CKM_BLAKE2B_160_KEY_DERIVE, "blake2b-160-key-derive") |
908 | | CT (CKM_BLAKE2B_160_KEY_GEN, "blake2b-160-key-gen") |
909 | | CT (CKM_BLAKE2B_256, "blake2b-256") |
910 | | CT (CKM_BLAKE2B_256_HMAC, "blake2b-256-hmac") |
911 | | CT (CKM_BLAKE2B_256_HMAC_GENERAL, "blake2b-256-hmac-general") |
912 | | CT (CKM_BLAKE2B_256_KEY_DERIVE, "blake2b-256-key-derive") |
913 | | CT (CKM_BLAKE2B_256_KEY_GEN, "blake2b-256-key-gen") |
914 | | CT (CKM_BLAKE2B_384, "blake2b-384") |
915 | | CT (CKM_BLAKE2B_384_HMAC, "blake2b-384-hmac") |
916 | | CT (CKM_BLAKE2B_384_HMAC_GENERAL, "blake2b-384-hmac-general") |
917 | | CT (CKM_BLAKE2B_384_KEY_DERIVE, "blake2b-384-key-derive") |
918 | | CT (CKM_BLAKE2B_384_KEY_GEN, "blake2b-384-key-gen") |
919 | | CT (CKM_BLAKE2B_512, "blake2b-512") |
920 | | CT (CKM_BLAKE2B_512_HMAC, "blake2b-512-hmac") |
921 | | CT (CKM_BLAKE2B_512_HMAC_GENERAL, "blake2b-512-hmac-general") |
922 | | CT (CKM_BLAKE2B_512_KEY_DERIVE, "blake2b-512-key-derive") |
923 | | CT (CKM_BLAKE2B_512_KEY_GEN, "blake2b-512-key-gen") |
924 | | CT (CKM_SALSA20, "salsa20") |
925 | | CT (CKM_CHACHA20_POLY1305, "chacha20-poly1305") |
926 | | CT (CKM_SALSA20_POLY1305, "salsa20-poly1305") |
927 | | CT (CKM_X3DH_INITIALIZE, "x3dh-initialize") |
928 | | CT (CKM_X3DH_RESPOND, "x3dh-respond") |
929 | | CT (CKM_X2RATCHET_INITIALIZE, "x2ratchet-initialize") |
930 | | CT (CKM_X2RATCHET_RESPOND, "x2ratchet-respond") |
931 | | CT (CKM_X2RATCHET_ENCRYPT, "x2ratchet-encrypt") |
932 | | CT (CKM_X2RATCHET_DECRYPT, "x2ratchet-decrypt") |
933 | | CT (CKM_XEDDSA, "xeddsa") |
934 | | CT (CKM_HKDF_DERIVE, "hkdf-derive") |
935 | | CT (CKM_HKDF_DATA, "hkdf-data") |
936 | | CT (CKM_HKDF_KEY_GEN, "hkdf-key-gen") |
937 | | CT (CKM_SALSA20_KEY_GEN, "salsa20-key-gen") |
938 | | CT (CKM_IKE2_PRF_PLUS_DERIVE, "ike2-prf-plus-derive") |
939 | | CT (CKM_IKE_PRF_DERIVE, "ike-prf-derive") |
940 | | CT (CKM_IKE1_PRF_DERIVE, "ike1-prf-derive") |
941 | | CT (CKM_IKE1_EXTENDED_DERIVE, "ike1-extended-derive") |
942 | | CT (CKM_HSS_KEY_PAIR_GEN, "hss-key-pair-gen") |
943 | | CT (CKM_HSS, "hss") |
944 | | CT (CKM_IBM_SHA3_224, "ibm-sha3-224") |
945 | | CT (CKM_IBM_SHA3_256, "ibm-sha3-256") |
946 | | CT (CKM_IBM_SHA3_384, "ibm-sha3-384") |
947 | | CT (CKM_IBM_SHA3_512, "ibm-sha3-512") |
948 | | CT (CKM_IBM_CMAC, "ibm-cmac") |
949 | | CT (CKM_IBM_EC_X25519, "ibm-ec-x25519") |
950 | | CT (CKM_IBM_ED25519_SHA512, "ibm-ed25519-sha512") |
951 | | CT (CKM_IBM_EC_X448, "ibm-ec-x448") |
952 | | CT (CKM_IBM_ED448_SHA3, "ibm-ed448-sha3") |
953 | | CT (CKM_IBM_DILITHIUM, "ibm-dilithium") |
954 | | CT (CKM_IBM_KYBER, "ibm-kyber") |
955 | | CT (CKM_IBM_SHA3_224_HMAC, "ibm-sha3-224-hmac") |
956 | | CT (CKM_IBM_SHA3_256_HMAC, "ibm-sha3-256-hmac") |
957 | | CT (CKM_IBM_SHA3_384_HMAC, "ibm-sha3-384-hmac") |
958 | | CT (CKM_IBM_SHA3_512_HMAC, "ibm-sha3-512-hmac") |
959 | | CT (CKM_IBM_ECDSA_OTHER, "ibm-ecdsa-other") |
960 | | CT (CKM_IBM_ATTRIBUTEBOUND_WRAP, "ibm-attributebound-wrap") |
961 | | CT (CKM_IBM_BTC_DERIVE, "ibm-btc-derive") |
962 | | { CKA_INVALID }, |
963 | | }; |
964 | | |
965 | | const p11_constant p11_constant_hw_features[] = { |
966 | | CT (CKH_MONOTONIC_COUNTER, "monotonic-counter") |
967 | | CT (CKH_CLOCK, "clock") |
968 | | CT (CKH_USER_INTERFACE, "user-interface") |
969 | | CT (CKH_VENDOR_DEFINED, "vendor-defined") |
970 | | { CKA_INVALID }, |
971 | | }; |
972 | | |
973 | | const p11_constant p11_constant_profiles[] = { |
974 | | CT (CKP_INVALID_ID, "invalid-id") |
975 | | CT (CKP_BASELINE_PROVIDER, "baseline-provider") |
976 | | CT (CKP_EXTENDED_PROVIDER, "extended-provider") |
977 | | CT (CKP_AUTHENTICATION_TOKEN, "authentication-token") |
978 | | CT (CKP_PUBLIC_CERTIFICATES_TOKEN, "public-certificates-token") |
979 | | CT (CKP_COMPLETE_PROVIDER, "complete-provider") |
980 | | CT (CKP_HKDF_TLS_TOKEN, "hkdf-tls-token") |
981 | | CT (CKP_VENDOR_DEFINED, "vendor-defined") |
982 | | { CKA_INVALID }, |
983 | | }; |
984 | | |
985 | | #undef CT |
986 | | |
987 | | struct { |
988 | | const p11_constant *table; |
989 | | int length; |
990 | | } tables[] = { |
991 | | { p11_constant_types, ELEMS (p11_constant_types) - 1 }, |
992 | | { p11_constant_classes, ELEMS (p11_constant_classes) - 1 }, |
993 | | { p11_constant_trusts, ELEMS (p11_constant_trusts) - 1 }, |
994 | | { p11_constant_certs, ELEMS (p11_constant_certs) - 1 }, |
995 | | { p11_constant_keys, ELEMS (p11_constant_keys) - 1 }, |
996 | | { p11_constant_asserts, ELEMS (p11_constant_asserts) - 1 }, |
997 | | { p11_constant_categories, ELEMS (p11_constant_categories) - 1 }, |
998 | | { p11_constant_mechanisms, ELEMS (p11_constant_mechanisms) - 1 }, |
999 | | { p11_constant_states, ELEMS (p11_constant_states) - 1 }, |
1000 | | { p11_constant_users, ELEMS (p11_constant_users) - 1 }, |
1001 | | { p11_constant_returns, ELEMS (p11_constant_returns) - 1 }, |
1002 | | { p11_constant_hw_features, ELEMS (p11_constant_hw_features) - 1 }, |
1003 | | { p11_constant_profiles, ELEMS (p11_constant_profiles) - 1 }, |
1004 | | }; |
1005 | | |
1006 | | static int |
1007 | | compar_attr_info (const void *one, |
1008 | | const void *two) |
1009 | 0 | { |
1010 | 0 | const p11_constant *a1 = one; |
1011 | 0 | const p11_constant *a2 = two; |
1012 | 0 | if (a1->value == a2->value) |
1013 | 0 | return 0; |
1014 | 0 | if (a1->value < a2->value) |
1015 | 0 | return -1; |
1016 | 0 | return 1; |
1017 | 0 | } |
1018 | | |
1019 | | static const p11_constant * |
1020 | | lookup_info (const p11_constant *table, |
1021 | | CK_ATTRIBUTE_TYPE type) |
1022 | 0 | { |
1023 | 0 | p11_constant match = { type, NULL, { NULL } }; |
1024 | 0 | int length = -1; |
1025 | 0 | int i; |
1026 | |
|
1027 | 0 | for (i = 0; i < ELEMS (tables); i++) { |
1028 | 0 | if (table == tables[i].table) { |
1029 | 0 | length = tables[i].length; |
1030 | 0 | break; |
1031 | 0 | } |
1032 | 0 | } |
1033 | |
|
1034 | 0 | if (length == -1) |
1035 | 0 | return_val_if_reached (NULL); |
1036 | | |
1037 | 0 | return bsearch (&match, table, length, sizeof (p11_constant), compar_attr_info); |
1038 | |
|
1039 | 0 | } |
1040 | | const char * |
1041 | | p11_constant_name (const p11_constant *constants, |
1042 | | CK_ULONG type) |
1043 | 0 | { |
1044 | 0 | const p11_constant *constant = lookup_info (constants, type); |
1045 | 0 | return constant ? constant->name : NULL; |
1046 | 0 | } |
1047 | | |
1048 | | const char * |
1049 | | p11_constant_nick (const p11_constant *constants, |
1050 | | CK_ULONG type) |
1051 | 0 | { |
1052 | 0 | const p11_constant *constant = lookup_info (constants, type); |
1053 | 0 | return constant ? constant->nicks[0] : NULL; |
1054 | 0 | } |
1055 | | |
1056 | | p11_dict * |
1057 | | p11_constant_reverse (bool nick) |
1058 | 0 | { |
1059 | 0 | const p11_constant *table; |
1060 | 0 | p11_dict *lookups; |
1061 | 0 | int length = -1; |
1062 | 0 | int i, j, k; |
1063 | |
|
1064 | 0 | lookups = p11_dict_new (p11_dict_str_hash, p11_dict_str_equal, NULL, NULL); |
1065 | 0 | return_val_if_fail (lookups != NULL, NULL); |
1066 | | |
1067 | 0 | for (i = 0; i < ELEMS (tables); i++) { |
1068 | 0 | table = tables[i].table; |
1069 | 0 | length = tables[i].length; |
1070 | |
|
1071 | 0 | for (j = 0; j < length; j++) { |
1072 | 0 | if (nick) { |
1073 | 0 | for (k = 0; table[j].nicks[k] != NULL; k++) { |
1074 | 0 | if (!p11_dict_set (lookups, (void *)table[j].nicks[k], |
1075 | 0 | (void *)&table[j].value)) |
1076 | 0 | return_val_if_reached (NULL); |
1077 | 0 | } |
1078 | 0 | } else { |
1079 | 0 | if (!p11_dict_set (lookups, (void *)table[j].name, (void *)&table[j].value)) |
1080 | 0 | return_val_if_reached (NULL); |
1081 | 0 | } |
1082 | 0 | } |
1083 | 0 | } |
1084 | | |
1085 | 0 | return lookups; |
1086 | 0 | } |
1087 | | |
1088 | | CK_ULONG |
1089 | | p11_constant_resolve (p11_dict *reversed, |
1090 | | const char *string) |
1091 | 0 | { |
1092 | 0 | CK_ULONG *ptr; |
1093 | |
|
1094 | 0 | return_val_if_fail (reversed != NULL, CKA_INVALID); |
1095 | 0 | return_val_if_fail (string != NULL, CKA_INVALID); |
1096 | | |
1097 | 0 | ptr = p11_dict_get (reversed, string); |
1098 | 0 | return ptr ? *ptr : CKA_INVALID; |
1099 | 0 | } |