| OLD | NEW |
| 1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
| 2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
| 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| 4 /* | 4 /* |
| 5 * This file maps various PKCS #11 Mechanisms to related mechanisms, key | 5 * This file maps various PKCS #11 Mechanisms to related mechanisms, key |
| 6 * types, and ASN.1 encodings. | 6 * types, and ASN.1 encodings. |
| 7 */ | 7 */ |
| 8 #include "seccomon.h" | 8 #include "seccomon.h" |
| 9 #include "secmod.h" | 9 #include "secmod.h" |
| 10 #include "secmodi.h" | 10 #include "secmodi.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 newt[entry].iv = ivLen; | 135 newt[entry].iv = ivLen; |
| 136 newt[entry].blockSize = blockSize; | 136 newt[entry].blockSize = blockSize; |
| 137 | 137 |
| 138 pk11_MechanismTable = newt; | 138 pk11_MechanismTable = newt; |
| 139 pk11_MechTableSize = tableSize; | 139 pk11_MechTableSize = tableSize; |
| 140 pk11_MechEntrySize = size; | 140 pk11_MechEntrySize = size; |
| 141 if (old) PORT_Free(old); | 141 if (old) PORT_Free(old); |
| 142 } | 142 } |
| 143 | 143 |
| 144 /* | 144 /* |
| 145 * Get the key type needed for the given mechanism | 145 * Get the mechanism needed for the given key type |
| 146 */ | 146 */ |
| 147 CK_MECHANISM_TYPE | 147 CK_MECHANISM_TYPE |
| 148 PK11_GetKeyMechanism(CK_KEY_TYPE type) | 148 PK11_GetKeyMechanism(CK_KEY_TYPE type) |
| 149 { | 149 { |
| 150 switch (type) { | 150 switch (type) { |
| 151 case CKK_SEED: | 151 case CKK_SEED: |
| 152 return CKM_SEED_CBC; | 152 return CKM_SEED_CBC; |
| 153 case CKK_CAMELLIA: | 153 case CKK_CAMELLIA: |
| 154 return CKM_CAMELLIA_CBC; | 154 return CKM_CAMELLIA_CBC; |
| 155 case CKK_AES: | 155 case CKK_AES: |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 return CKM_ECDSA; | 194 return CKM_ECDSA; |
| 195 case CKK_GENERIC_SECRET: | 195 case CKK_GENERIC_SECRET: |
| 196 default: | 196 default: |
| 197 return CKM_SHA_1_HMAC; | 197 return CKM_SHA_1_HMAC; |
| 198 } | 198 } |
| 199 } | 199 } |
| 200 | 200 |
| 201 /* | 201 /* |
| 202 * Get the key type needed for the given mechanism | 202 * Get the key type needed for the given mechanism |
| 203 */ | 203 */ |
| 204 CK_MECHANISM_TYPE | 204 CK_KEY_TYPE |
| 205 PK11_GetKeyType(CK_MECHANISM_TYPE type,unsigned long len) | 205 PK11_GetKeyType(CK_MECHANISM_TYPE type,unsigned long len) |
| 206 { | 206 { |
| 207 switch (type) { | 207 switch (type) { |
| 208 case CKM_SEED_ECB: | 208 case CKM_SEED_ECB: |
| 209 case CKM_SEED_CBC: | 209 case CKM_SEED_CBC: |
| 210 case CKM_SEED_MAC: | 210 case CKM_SEED_MAC: |
| 211 case CKM_SEED_MAC_GENERAL: | 211 case CKM_SEED_MAC_GENERAL: |
| 212 case CKM_SEED_CBC_PAD: | 212 case CKM_SEED_CBC_PAD: |
| 213 case CKM_SEED_KEY_GEN: | 213 case CKM_SEED_KEY_GEN: |
| 214 return CKK_SEED; | 214 return CKK_SEED; |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 case CKM_ECDH1_DERIVE: | 367 case CKM_ECDH1_DERIVE: |
| 368 return CKK_EC; /* CKK_ECDSA is deprecated */ | 368 return CKK_EC; /* CKK_ECDSA is deprecated */ |
| 369 case CKM_SSL3_PRE_MASTER_KEY_GEN: | 369 case CKM_SSL3_PRE_MASTER_KEY_GEN: |
| 370 case CKM_GENERIC_SECRET_KEY_GEN: | 370 case CKM_GENERIC_SECRET_KEY_GEN: |
| 371 case CKM_SSL3_MASTER_KEY_DERIVE: | 371 case CKM_SSL3_MASTER_KEY_DERIVE: |
| 372 case CKM_SSL3_MASTER_KEY_DERIVE_DH: | 372 case CKM_SSL3_MASTER_KEY_DERIVE_DH: |
| 373 case CKM_SSL3_KEY_AND_MAC_DERIVE: | 373 case CKM_SSL3_KEY_AND_MAC_DERIVE: |
| 374 case CKM_SSL3_SHA1_MAC: | 374 case CKM_SSL3_SHA1_MAC: |
| 375 case CKM_SSL3_MD5_MAC: | 375 case CKM_SSL3_MD5_MAC: |
| 376 case CKM_TLS_MASTER_KEY_DERIVE: | 376 case CKM_TLS_MASTER_KEY_DERIVE: |
| 377 case CKM_NSS_TLS_MASTER_KEY_DERIVE_SHA256: |
| 377 case CKM_TLS_MASTER_KEY_DERIVE_DH: | 378 case CKM_TLS_MASTER_KEY_DERIVE_DH: |
| 379 case CKM_NSS_TLS_MASTER_KEY_DERIVE_DH_SHA256: |
| 378 case CKM_TLS_KEY_AND_MAC_DERIVE: | 380 case CKM_TLS_KEY_AND_MAC_DERIVE: |
| 381 case CKM_NSS_TLS_KEY_AND_MAC_DERIVE_SHA256: |
| 379 case CKM_SHA_1_HMAC: | 382 case CKM_SHA_1_HMAC: |
| 380 case CKM_SHA_1_HMAC_GENERAL: | 383 case CKM_SHA_1_HMAC_GENERAL: |
| 381 case CKM_SHA224_HMAC: | 384 case CKM_SHA224_HMAC: |
| 382 case CKM_SHA224_HMAC_GENERAL: | 385 case CKM_SHA224_HMAC_GENERAL: |
| 383 case CKM_SHA256_HMAC: | 386 case CKM_SHA256_HMAC: |
| 384 case CKM_SHA256_HMAC_GENERAL: | 387 case CKM_SHA256_HMAC_GENERAL: |
| 385 case CKM_SHA384_HMAC: | 388 case CKM_SHA384_HMAC: |
| 386 case CKM_SHA384_HMAC_GENERAL: | 389 case CKM_SHA384_HMAC_GENERAL: |
| 387 case CKM_SHA512_HMAC: | 390 case CKM_SHA512_HMAC: |
| 388 case CKM_SHA512_HMAC_GENERAL: | 391 case CKM_SHA512_HMAC_GENERAL: |
| 389 case CKM_MD2_HMAC: | 392 case CKM_MD2_HMAC: |
| 390 case CKM_MD2_HMAC_GENERAL: | 393 case CKM_MD2_HMAC_GENERAL: |
| 391 case CKM_MD5_HMAC: | 394 case CKM_MD5_HMAC: |
| 392 case CKM_MD5_HMAC_GENERAL: | 395 case CKM_MD5_HMAC_GENERAL: |
| 393 case CKM_TLS_PRF_GENERAL: | 396 case CKM_TLS_PRF_GENERAL: |
| 397 case CKM_NSS_TLS_PRF_GENERAL_SHA256: |
| 394 return CKK_GENERIC_SECRET; | 398 return CKK_GENERIC_SECRET; |
| 395 default: | 399 default: |
| 396 return pk11_lookup(type)->keyType; | 400 return pk11_lookup(type)->keyType; |
| 397 } | 401 } |
| 398 } | 402 } |
| 399 | 403 |
| 400 /* | 404 /* |
| 401 * Get the Key Gen Mechanism needed for the given | 405 * Get the Key Gen Mechanism needed for the given |
| 402 * crypto mechanism | 406 * crypto mechanism |
| 403 */ | 407 */ |
| (...skipping 16 matching lines...) Expand all Loading... |
| 420 return CKM_SEED_KEY_GEN; | 424 return CKM_SEED_KEY_GEN; |
| 421 case CKM_CAMELLIA_ECB: | 425 case CKM_CAMELLIA_ECB: |
| 422 case CKM_CAMELLIA_CBC: | 426 case CKM_CAMELLIA_CBC: |
| 423 case CKM_CAMELLIA_MAC: | 427 case CKM_CAMELLIA_MAC: |
| 424 case CKM_CAMELLIA_MAC_GENERAL: | 428 case CKM_CAMELLIA_MAC_GENERAL: |
| 425 case CKM_CAMELLIA_CBC_PAD: | 429 case CKM_CAMELLIA_CBC_PAD: |
| 426 case CKM_CAMELLIA_KEY_GEN: | 430 case CKM_CAMELLIA_KEY_GEN: |
| 427 return CKM_CAMELLIA_KEY_GEN; | 431 return CKM_CAMELLIA_KEY_GEN; |
| 428 case CKM_AES_ECB: | 432 case CKM_AES_ECB: |
| 429 case CKM_AES_CBC: | 433 case CKM_AES_CBC: |
| 434 case CKM_AES_CCM: |
| 435 case CKM_AES_CTR: |
| 436 case CKM_AES_CTS: |
| 437 case CKM_AES_GCM: |
| 430 case CKM_AES_MAC: | 438 case CKM_AES_MAC: |
| 431 case CKM_AES_MAC_GENERAL: | 439 case CKM_AES_MAC_GENERAL: |
| 432 case CKM_AES_CBC_PAD: | 440 case CKM_AES_CBC_PAD: |
| 433 case CKM_AES_KEY_GEN: | 441 case CKM_AES_KEY_GEN: |
| 434 return CKM_AES_KEY_GEN; | 442 return CKM_AES_KEY_GEN; |
| 435 case CKM_DES_ECB: | 443 case CKM_DES_ECB: |
| 436 case CKM_DES_CBC: | 444 case CKM_DES_CBC: |
| 437 case CKM_DES_MAC: | 445 case CKM_DES_MAC: |
| 438 case CKM_DES_MAC_GENERAL: | 446 case CKM_DES_MAC_GENERAL: |
| 439 case CKM_KEY_WRAP_LYNKS: | 447 case CKM_KEY_WRAP_LYNKS: |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 case CKM_EC_KEY_PAIR_GEN: /* aka CKM_ECDSA_KEY_PAIR_GEN */ | 565 case CKM_EC_KEY_PAIR_GEN: /* aka CKM_ECDSA_KEY_PAIR_GEN */ |
| 558 case CKM_ECDH1_DERIVE: | 566 case CKM_ECDH1_DERIVE: |
| 559 return CKM_EC_KEY_PAIR_GEN; | 567 return CKM_EC_KEY_PAIR_GEN; |
| 560 case CKM_SSL3_PRE_MASTER_KEY_GEN: | 568 case CKM_SSL3_PRE_MASTER_KEY_GEN: |
| 561 case CKM_SSL3_MASTER_KEY_DERIVE: | 569 case CKM_SSL3_MASTER_KEY_DERIVE: |
| 562 case CKM_SSL3_KEY_AND_MAC_DERIVE: | 570 case CKM_SSL3_KEY_AND_MAC_DERIVE: |
| 563 case CKM_SSL3_SHA1_MAC: | 571 case CKM_SSL3_SHA1_MAC: |
| 564 case CKM_SSL3_MD5_MAC: | 572 case CKM_SSL3_MD5_MAC: |
| 565 case CKM_TLS_MASTER_KEY_DERIVE: | 573 case CKM_TLS_MASTER_KEY_DERIVE: |
| 566 case CKM_TLS_KEY_AND_MAC_DERIVE: | 574 case CKM_TLS_KEY_AND_MAC_DERIVE: |
| 575 case CKM_NSS_TLS_KEY_AND_MAC_DERIVE_SHA256: |
| 567 return CKM_SSL3_PRE_MASTER_KEY_GEN; | 576 return CKM_SSL3_PRE_MASTER_KEY_GEN; |
| 568 case CKM_SHA_1_HMAC: | 577 case CKM_SHA_1_HMAC: |
| 569 case CKM_SHA_1_HMAC_GENERAL: | 578 case CKM_SHA_1_HMAC_GENERAL: |
| 570 case CKM_SHA224_HMAC: | 579 case CKM_SHA224_HMAC: |
| 571 case CKM_SHA224_HMAC_GENERAL: | 580 case CKM_SHA224_HMAC_GENERAL: |
| 572 case CKM_SHA256_HMAC: | 581 case CKM_SHA256_HMAC: |
| 573 case CKM_SHA256_HMAC_GENERAL: | 582 case CKM_SHA256_HMAC_GENERAL: |
| 574 case CKM_SHA384_HMAC: | 583 case CKM_SHA384_HMAC: |
| 575 case CKM_SHA384_HMAC_GENERAL: | 584 case CKM_SHA384_HMAC_GENERAL: |
| 576 case CKM_SHA512_HMAC: | 585 case CKM_SHA512_HMAC: |
| 577 case CKM_SHA512_HMAC_GENERAL: | 586 case CKM_SHA512_HMAC_GENERAL: |
| 578 case CKM_MD2_HMAC: | 587 case CKM_MD2_HMAC: |
| 579 case CKM_MD2_HMAC_GENERAL: | 588 case CKM_MD2_HMAC_GENERAL: |
| 580 case CKM_MD5_HMAC: | 589 case CKM_MD5_HMAC: |
| 581 case CKM_MD5_HMAC_GENERAL: | 590 case CKM_MD5_HMAC_GENERAL: |
| 582 case CKM_TLS_PRF_GENERAL: | 591 case CKM_TLS_PRF_GENERAL: |
| 592 case CKM_NSS_TLS_PRF_GENERAL_SHA256: |
| 583 case CKM_GENERIC_SECRET_KEY_GEN: | 593 case CKM_GENERIC_SECRET_KEY_GEN: |
| 584 return CKM_GENERIC_SECRET_KEY_GEN; | 594 return CKM_GENERIC_SECRET_KEY_GEN; |
| 585 case CKM_PBE_MD2_DES_CBC: | 595 case CKM_PBE_MD2_DES_CBC: |
| 586 case CKM_PBE_MD5_DES_CBC: | 596 case CKM_PBE_MD5_DES_CBC: |
| 587 case CKM_PBA_SHA1_WITH_SHA1_HMAC: | 597 case CKM_PBA_SHA1_WITH_SHA1_HMAC: |
| 588 case CKM_NETSCAPE_PBE_SHA1_HMAC_KEY_GEN: | 598 case CKM_NETSCAPE_PBE_SHA1_HMAC_KEY_GEN: |
| 589 case CKM_NETSCAPE_PBE_MD5_HMAC_KEY_GEN: | 599 case CKM_NETSCAPE_PBE_MD5_HMAC_KEY_GEN: |
| 590 case CKM_NETSCAPE_PBE_MD2_HMAC_KEY_GEN: | 600 case CKM_NETSCAPE_PBE_MD2_HMAC_KEY_GEN: |
| 591 case CKM_NETSCAPE_PBE_SHA1_DES_CBC: | 601 case CKM_NETSCAPE_PBE_SHA1_DES_CBC: |
| 592 case CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC: | 602 case CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC: |
| (...skipping 1274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1867 case SEC_OID_MISSI_DSS: | 1877 case SEC_OID_MISSI_DSS: |
| 1868 case SEC_OID_MISSI_DSS_OLD: | 1878 case SEC_OID_MISSI_DSS_OLD: |
| 1869 case SEC_OID_MISSI_KEA_DSS_OLD: | 1879 case SEC_OID_MISSI_KEA_DSS_OLD: |
| 1870 case SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST: | 1880 case SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST: |
| 1871 return SEC_OID_ANSIX9_DSA_SIGNATURE; | 1881 return SEC_OID_ANSIX9_DSA_SIGNATURE; |
| 1872 default: | 1882 default: |
| 1873 break; | 1883 break; |
| 1874 } | 1884 } |
| 1875 return algTag; | 1885 return algTag; |
| 1876 } | 1886 } |
| OLD | NEW |