diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2016-12-23 12:23:43 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2016-12-23 12:23:43 +0000 |
| commit | 696b52570287ab2055ae727bddf6657c667fedbf (patch) | |
| tree | fd456f505e7919b3a83af2c860620b72375dbcf0 /usr/src/lib/libcryptoutil/common/mechstr.c | |
| parent | 5a859e8d1c090b10cf82408f7c51c78f93dd543f (diff) | |
| parent | b106467fd72e9bfd9e2bd78fbaa00a96a4eead45 (diff) | |
| download | illumos-joyent-696b52570287ab2055ae727bddf6657c667fedbf.tar.gz | |
[illumos-gate merge]
commit b106467fd72e9bfd9e2bd78fbaa00a96a4eead45
6239 Add PKCS#11 v2.40 support
6240 pkcs11_mech2keytype returns incorrect key type for CKM_DH_PKCS_PARAMETER_GEN
commit ee89337b3cc91051d11d67625a9672ffa4f83016
7684 RFC 3530 is obsolete
commit ceef358f3b068577bb5f84a851bdc8b464596dc2
7656 unlinking directory on tmpfs can cause kernel panic
commit 3a8761925c0ebb25868080d8dd07b12a2cc0d0ea
6464 libbe shouldn't mangle zfs mountpoints
Diffstat (limited to 'usr/src/lib/libcryptoutil/common/mechstr.c')
| -rw-r--r-- | usr/src/lib/libcryptoutil/common/mechstr.c | 87 |
1 files changed, 84 insertions, 3 deletions
diff --git a/usr/src/lib/libcryptoutil/common/mechstr.c b/usr/src/lib/libcryptoutil/common/mechstr.c index 007d7bc0da..388a636111 100644 --- a/usr/src/lib/libcryptoutil/common/mechstr.c +++ b/usr/src/lib/libcryptoutil/common/mechstr.c @@ -21,6 +21,7 @@ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2016 Jason King */ /* @@ -68,6 +69,10 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_DSA_KEY_PAIR_GEN", CKM_DSA_KEY_PAIR_GEN }, { "CKM_DSA", CKM_DSA }, { "CKM_DSA_SHA1", CKM_DSA_SHA1 }, + { "CKM_DSA_SHA224", CKM_DSA_SHA224 }, + { "CKM_DSA_SHA256", CKM_DSA_SHA256 }, + { "CKM_DSA_SHA384", CKM_DSA_SHA384 }, + { "CKM_DSA_SHA512", CKM_DSA_SHA512 }, { "CKM_DH_PKCS_KEY_PAIR_GEN", CKM_DH_PKCS_KEY_PAIR_GEN }, { "CKM_DH_PKCS_DERIVE", CKM_DH_PKCS_DERIVE }, { "CKM_X9_42_DH_KEY_PAIR_GEN", CKM_X9_42_DH_KEY_PAIR_GEN }, @@ -82,6 +87,18 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_SHA512_RSA_PKCS_PSS", CKM_SHA512_RSA_PKCS_PSS }, { "CKM_SHA224_RSA_PKCS", CKM_SHA224_RSA_PKCS }, { "CKM_SHA224_RSA_PKCS_PSS", CKM_SHA224_RSA_PKCS_PSS }, + { "CKM_SHA512_224", CKM_SHA512_224 }, + { "CKM_SHA512_224_HMAC", CKM_SHA512_224_HMAC }, + { "CKM_SHA512_224_HMAC_GENERAL", CKM_SHA512_224_HMAC_GENERAL }, + { "CKM_SHA512_224_KEY_DERIVATION", CKM_SHA512_224_KEY_DERIVATION }, + { "CKM_SHA512_256", CKM_SHA512_256 }, + { "CKM_SHA512_256_HMAC", CKM_SHA512_256_HMAC }, + { "CKM_SHA512_256_HMAC_GENERAL", CKM_SHA512_256_HMAC_GENERAL }, + { "CKM_SHA512_256_KEY_DERIVATION", CKM_SHA512_256_KEY_DERIVATION }, + { "CKM_SHA512_T", CKM_SHA512_T }, + { "CKM_SHA512_T_HMAC", CKM_SHA512_T_HMAC }, + { "CKM_SHA512_T_HMAC_GENERAL", CKM_SHA512_T_HMAC_GENERAL }, + { "CKM_SHA512_T_KEY_DERIVATION", CKM_SHA512_T_KEY_DERIVATION }, { "CKM_RC2_KEY_GEN", CKM_RC2_KEY_GEN }, { "CKM_RC2_ECB", CKM_RC2_ECB }, { "CKM_RC2_CBC", CKM_RC2_CBC }, @@ -103,6 +120,8 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_DES3_MAC", CKM_DES3_MAC }, { "CKM_DES3_MAC_GENERAL", CKM_DES3_MAC_GENERAL }, { "CKM_DES3_CBC_PAD", CKM_DES3_CBC_PAD }, + { "CKM_DES3_CMAC_GENERAL", CKM_DES3_CMAC_GENERAL }, + { "CKM_DES3_CMAC", CKM_DES3_CMAC }, { "CKM_CDMF_KEY_GEN", CKM_CDMF_KEY_GEN }, { "CKM_CDMF_ECB", CKM_CDMF_ECB }, { "CKM_CDMF_CBC", CKM_CDMF_CBC }, @@ -231,8 +250,19 @@ static const pkcs11_mapping_t mapping[] = { CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE }, { "CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE", CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE }, + { "CKM_TLS10_MAC_SERVER", CKM_TLS10_MAC_SERVER }, + { "CKM_TLS10_MAC_CLIENT", CKM_TLS10_MAC_CLIENT }, + { "CKM_TLS12_MAC", CKM_TLS12_MAC }, + { "CKM_TLS12_KDF", CKM_TLS12_KDF }, + { "CKM_TLS12_MASTER_KEY_DERIVE", CKM_TLS12_MASTER_KEY_DERIVE }, + { "CKM_TLS12_KEY_AND_MAC_DERIVE", CKM_TLS12_KEY_AND_MAC_DERIVE }, + { "CKM_TLS12_MASTER_KEY_DERIVE_DH", CKM_TLS12_MASTER_KEY_DERIVE_DH }, + { "CKM_TLS12_KEY_SAFE_DERIVE", CKM_TLS12_KEY_SAFE_DERIVE }, + { "CKM_TLS_MAC", CKM_TLS_MAC }, + { "CKM_TLS_KDF", CKM_TLS_KDF }, { "CKM_KEY_WRAP_LYNKS", CKM_KEY_WRAP_LYNKS }, { "CKM_KEY_WRAP_SET_OAEP", CKM_KEY_WRAP_SET_OAEP }, + { "CKM_CMS_SIG", CKM_CMS_SIG }, { "CKM_KIP_DERIVE", CKM_KIP_DERIVE }, { "CKM_KIP_WRAP", CKM_KIP_WRAP }, { "CKM_KIP_MAC", CKM_KIP_MAC }, @@ -253,7 +283,14 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_ARIA_CBC_PAD", CKM_ARIA_CBC_PAD }, { "CKM_ARIA_ECB_ENCRYPT_DATA", CKM_ARIA_ECB_ENCRYPT_DATA }, { "CKM_ARIA_CBC_ENCRYPT_DATA", CKM_ARIA_CBC_ENCRYPT_DATA }, - { "CKM_CMS_SIG", CKM_CMS_SIG }, + { "CKM_SEED_KEY_GEN", CKM_SEED_KEY_GEN }, + { "CKM_SEED_ECB", CKM_SEED_ECB }, + { "CKM_SEED_CBC", CKM_SEED_CBC }, + { "CKM_SEED_MAC", CKM_SEED_MAC }, + { "CKM_SEED_MAC_GENERAL", CKM_SEED_MAC_GENERAL }, + { "CKM_SEED_CBC_PAD", CKM_SEED_CBC_PAD }, + { "CKM_SEED_ECB_ENCRYPT_DATA", CKM_SEED_ECB_ENCRYPT_DATA }, + { "CKM_SEED_CBC_ENCRYPT_DATA", CKM_SEED_CBC_ENCRYPT_DATA }, { "CKM_SKIPJACK_KEY_GEN", CKM_SKIPJACK_KEY_GEN }, { "CKM_SKIPJACK_ECB64", CKM_SKIPJACK_ECB64 }, { "CKM_SKIPJACK_CBC64", CKM_SKIPJACK_CBC64 }, @@ -267,6 +304,7 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_SKIPJACK_RELAYX", CKM_SKIPJACK_RELAYX }, { "CKM_KEA_KEY_PAIR_GEN", CKM_KEA_KEY_PAIR_GEN }, { "CKM_KEA_KEY_DERIVE", CKM_KEA_KEY_DERIVE }, + { "CKM_KEA_DERIVE", CKM_KEA_DERIVE }, { "CKM_FORTEZZA_TIMESTAMP", CKM_FORTEZZA_TIMESTAMP }, { "CKM_BATON_KEY_GEN", CKM_BATON_KEY_GEN }, { "CKM_BATON_ECB128", CKM_BATON_ECB128 }, @@ -275,12 +313,19 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_BATON_COUNTER", CKM_BATON_COUNTER }, { "CKM_BATON_SHUFFLE", CKM_BATON_SHUFFLE }, { "CKM_BATON_WRAP", CKM_BATON_WRAP }, + { "CKM_ECDSA_KEY_PAIR_GEN", CKM_ECDSA_KEY_PAIR_GEN }, { "CKM_EC_KEY_PAIR_GEN", CKM_EC_KEY_PAIR_GEN }, { "CKM_ECDSA", CKM_ECDSA }, { "CKM_ECDSA_SHA1", CKM_ECDSA_SHA1 }, + { "CKM_ECDSA_SHA224", CKM_ECDSA_SHA224 }, + { "CKM_ECDSA_SHA256", CKM_ECDSA_SHA256 }, + { "CKM_ECDSA_SHA384", CKM_ECDSA_SHA384 }, + { "CKM_ECDSA_SHA512", CKM_ECDSA_SHA512 }, { "CKM_ECDH1_DERIVE", CKM_ECDH1_DERIVE }, { "CKM_ECDH1_COFACTOR_DERIVE", CKM_ECDH1_COFACTOR_DERIVE }, { "CKM_ECMQV_DERIVE", CKM_ECMQV_DERIVE }, + { "CKM_ECDH_AES_KEY_WRAP", CKM_ECDH_AES_KEY_WRAP }, + { "CKM_RSA_AES_KEY_WRAP", CKM_RSA_AES_KEY_WRAP }, { "CKM_JUNIPER_KEY_GEN", CKM_JUNIPER_KEY_GEN }, { "CKM_JUNIPER_ECB128", CKM_JUNIPER_ECB128 }, { "CKM_JUNIPER_CBC128", CKM_JUNIPER_CBC128 }, @@ -295,19 +340,54 @@ static const pkcs11_mapping_t mapping[] = { { "CKM_AES_MAC_GENERAL", CKM_AES_MAC_GENERAL }, { "CKM_AES_CBC_PAD", CKM_AES_CBC_PAD }, { "CKM_AES_CTR", CKM_AES_CTR }, + { "CKM_AES_GCM", CKM_AES_GCM }, + { "CKM_AES_CCM", CKM_AES_CCM }, + { "CKM_AES_CTS", CKM_AES_CTS }, + { "CKM_AES_CMAC", CKM_AES_CMAC }, + { "CKM_AES_CMAC_GENERAL", CKM_AES_CMAC_GENERAL }, + { "CKM_AES_XCBC_MAC", CKM_AES_XCBC_MAC }, + { "CKM_AES_XCBC_MAC_96", CKM_AES_XCBC_MAC_96 }, + { "CKM_AES_GMAC", CKM_AES_GMAC }, { "CKM_BLOWFISH_KEY_GEN", CKM_BLOWFISH_KEY_GEN }, { "CKM_BLOWFISH_CBC", CKM_BLOWFISH_CBC }, { "CKM_TWOFISH_KEY_GEN", CKM_TWOFISH_KEY_GEN }, { "CKM_TWOFISH_CBC", CKM_TWOFISH_CBC }, + { "CKM_BLOWFISH_CBC_PAD", CKM_BLOWFISH_CBC_PAD }, + { "CKM_TWOFISH_CBC_PAD", CKM_TWOFISH_CBC_PAD }, { "CKM_DES_ECB_ENCRYPT_DATA", CKM_DES_ECB_ENCRYPT_DATA }, { "CKM_DES_CBC_ENCRYPT_DATA", CKM_DES_CBC_ENCRYPT_DATA }, { "CKM_DES3_ECB_ENCRYPT_DATA", CKM_DES3_ECB_ENCRYPT_DATA }, { "CKM_DES3_CBC_ENCRYPT_DATA", CKM_DES3_CBC_ENCRYPT_DATA }, { "CKM_AES_ECB_ENCRYPT_DATA", CKM_AES_ECB_ENCRYPT_DATA }, { "CKM_AES_CBC_ENCRYPT_DATA", CKM_AES_CBC_ENCRYPT_DATA }, + { "CKM_GOSTR3410_KEY_PAIR_GEN", CKM_GOSTR3410_KEY_PAIR_GEN }, + { "CKM_GOSTR3410", CKM_GOSTR3410 }, + { "CKM_GOSTR3410_WITH_GOSTR3411", CKM_GOSTR3410_WITH_GOSTR3411 }, + { "CKM_GOSTR3410_KEY_WRAP", CKM_GOSTR3410_KEY_WRAP }, + { "CKM_GOSTR3410_DERIVE", CKM_GOSTR3410_DERIVE }, + { "CKM_GOSTR3411", CKM_GOSTR3411 }, + { "CKM_GOSTR3411_HMAC", CKM_GOSTR3411_HMAC }, + { "CKM_GOST28147_KEY_GEN", CKM_GOST28147_KEY_GEN }, + { "CKM_GOST28147_ECB", CKM_GOST28147_ECB }, + { "CKM_GOST28147", CKM_GOST28147 }, + { "CKM_GOST28147_MAC", CKM_GOST28147_MAC }, + { "CKM_GOST28147_KEY_WRAP", CKM_GOST28147_KEY_WRAP }, { "CKM_DSA_PARAMETER_GEN", CKM_DSA_PARAMETER_GEN }, { "CKM_DH_PKCS_PARAMETER_GEN", CKM_DH_PKCS_PARAMETER_GEN }, { "CKM_X9_42_DH_PARAMETER_GEN", CKM_X9_42_DH_PARAMETER_GEN }, + { "CKM_DSA_PROBABLISTIC_PARAMETER_GEN", + CKM_DSA_PROBABLISTIC_PARAMETER_GEN }, + { "CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN", + CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN }, + { "CKM_AES_OFB", CKM_AES_OFB }, + { "CKM_AES_CFB64", CKM_AES_CFB64 }, + { "CKM_AES_CFB8", CKM_AES_CFB8 }, + { "CKM_AES_CFB128", CKM_AES_CFB128 }, + { "CKM_AES_CFB1", CKM_AES_CFB1 }, + { "CKM_AES_KEY_WRAP", CKM_AES_KEY_WRAP }, + { "CKM_AES_KEY_WRAP_PAD", CKM_AES_KEY_WRAP_PAD }, + { "CKM_RSA_PKCS_TPM_1_1", CKM_RSA_PKCS_TPM_1_1 }, + { "CKM_RSA_PKCS_OAEP_TPM_1_1", CKM_RSA_PKCS_OAEP_TPM_1_1 }, /* * Values >= 0x8000000 (CKM_VENDOR_DEFINED) are represented * as strings with hexadecimal numbers (e.g., "0x8123456"). @@ -323,9 +403,10 @@ static const pkcs11_mapping_t mapping[] = { * For use with bsearch(3C) in pkcs11_mech2str(). */ static int -pkcs11_mech_comp(const void *mapping1, const void *mapping2) { +pkcs11_mech_comp(const void *mapping1, const void *mapping2) +{ return (((pkcs11_mapping_t *)mapping1)->mech - - ((pkcs11_mapping_t *)mapping2)->mech); + ((pkcs11_mapping_t *)mapping2)->mech); } |
