/illumos-gate/usr/src/lib/pkcs11/pkcs11_softtoken/common/ |
H A D | softDigestUtil.c | 59 soft_digest_init(soft_session_t *session_p, CK_MECHANISM_PTR pMechanism) in soft_digest_init() argument 65 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_digest_init() 67 session_p->digest.context = malloc(sizeof (MD5_CTX)); in soft_digest_init() 69 if (session_p->digest.context == NULL) { in soft_digest_init() 70 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_digest_init() 74 session_p->digest.mech.mechanism = CKM_MD5; in soft_digest_init() 75 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_digest_init() 77 MD5Init((MD5_CTX *)session_p->digest.context); in soft_digest_init() 83 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_digest_init() 85 session_p->digest.context = malloc(sizeof (SHA1_CTX)); in soft_digest_init() [all …]
|
H A D | softDigest.c | 39 soft_session_t *session_p; in C_DigestInit() local 49 rv = handle2session(hSession, &session_p); in C_DigestInit() 59 (void) pthread_mutex_lock(&session_p->session_mutex); in C_DigestInit() 62 if (session_p->digest.flags & CRYPTO_OPERATION_ACTIVE) { in C_DigestInit() 67 soft_digest_cleanup(session_p, lock_held); in C_DigestInit() 75 session_p->digest.flags = CRYPTO_OPERATION_ACTIVE; in C_DigestInit() 77 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_DigestInit() 79 rv = soft_digest_init(session_p, pMechanism); in C_DigestInit() 82 (void) pthread_mutex_lock(&session_p->session_mutex); in C_DigestInit() 83 session_p->digest.flags &= ~CRYPTO_OPERATION_ACTIVE; in C_DigestInit() [all …]
|
H A D | softSessionUtil.c | 61 soft_session_t *session_p; in soft_delete_all_sessions() local 67 session_p = soft_session_list; in soft_delete_all_sessions() 70 while (session_p) { in soft_delete_all_sessions() 71 session_p1 = session_p->next; in soft_delete_all_sessions() 80 rv1 = soft_delete_session(session_p, force, B_TRUE); in soft_delete_all_sessions() 87 session_p = session_p1; in soft_delete_all_sessions() 249 soft_delete_session(soft_session_t *session_p, in soft_delete_session() argument 266 if (soft_session_list == session_p) { in soft_delete_session() 268 if (session_p->next) { in soft_delete_session() 269 soft_session_list = session_p->next; in soft_delete_session() [all …]
|
H A D | softVerify.c | 40 soft_session_t *session_p; in C_VerifyInit() local 48 rv = handle2session(hSession, &session_p); in C_VerifyInit() 69 (void) pthread_mutex_lock(&session_p->session_mutex); in C_VerifyInit() 73 if (session_p->verify.flags & CRYPTO_OPERATION_ACTIVE) { in C_VerifyInit() 75 soft_sign_verify_cleanup(session_p, B_FALSE, B_TRUE); in C_VerifyInit() 82 session_p->verify.flags = CRYPTO_OPERATION_ACTIVE; in C_VerifyInit() 84 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_VerifyInit() 87 rv = soft_verify_init(session_p, pMechanism, key_p); in C_VerifyInit() 90 (void) pthread_mutex_lock(&session_p->session_mutex); in C_VerifyInit() 91 session_p->verify.flags &= ~CRYPTO_OPERATION_ACTIVE; in C_VerifyInit() [all …]
|
H A D | softSign.c | 40 soft_session_t *session_p; in C_SignInit() local 48 rv = handle2session(hSession, &session_p); in C_SignInit() 69 (void) pthread_mutex_lock(&session_p->session_mutex); in C_SignInit() 73 if (session_p->sign.flags & CRYPTO_OPERATION_ACTIVE) { in C_SignInit() 75 soft_sign_verify_cleanup(session_p, B_TRUE, B_TRUE); in C_SignInit() 82 session_p->sign.flags = CRYPTO_OPERATION_ACTIVE; in C_SignInit() 84 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_SignInit() 87 rv = soft_sign_init(session_p, pMechanism, key_p); in C_SignInit() 90 (void) pthread_mutex_lock(&session_p->session_mutex); in C_SignInit() 91 session_p->sign.flags &= ~CRYPTO_OPERATION_ACTIVE; in C_SignInit() [all …]
|
H A D | softDecrypt.c | 40 soft_session_t *session_p; in C_DecryptInit() local 48 rv = handle2session(hSession, &session_p); in C_DecryptInit() 68 (void) pthread_mutex_lock(&session_p->session_mutex); in C_DecryptInit() 72 if (session_p->decrypt.flags & CRYPTO_OPERATION_ACTIVE) { in C_DecryptInit() 74 soft_crypt_cleanup(session_p, B_FALSE, lock_held); in C_DecryptInit() 82 session_p->decrypt.flags = CRYPTO_OPERATION_ACTIVE; in C_DecryptInit() 84 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_DecryptInit() 87 rv = soft_decrypt_init(session_p, pMechanism, key_p); in C_DecryptInit() 90 (void) pthread_mutex_lock(&session_p->session_mutex); in C_DecryptInit() 91 session_p->decrypt.flags &= ~CRYPTO_OPERATION_ACTIVE; in C_DecryptInit() [all …]
|
H A D | softEncrypt.c | 42 soft_session_t *session_p; in C_EncryptInit() local 50 rv = handle2session(hSession, &session_p); in C_EncryptInit() 70 (void) pthread_mutex_lock(&session_p->session_mutex); in C_EncryptInit() 74 if (session_p->encrypt.flags & CRYPTO_OPERATION_ACTIVE) { in C_EncryptInit() 76 soft_crypt_cleanup(session_p, B_TRUE, lock_held); in C_EncryptInit() 84 session_p->encrypt.flags = CRYPTO_OPERATION_ACTIVE; in C_EncryptInit() 86 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_EncryptInit() 89 rv = soft_encrypt_init(session_p, pMechanism, key_p); in C_EncryptInit() 92 (void) pthread_mutex_lock(&session_p->session_mutex); in C_EncryptInit() 93 session_p->encrypt.flags &= ~CRYPTO_OPERATION_ACTIVE; in C_EncryptInit() [all …]
|
H A D | softSignUtil.c | 55 soft_sign_init(soft_session_t *session_p, CK_MECHANISM_PTR pMechanism, in soft_sign_init() argument 74 return (soft_hmac_sign_verify_init_common(session_p, in soft_sign_init() 85 return (soft_rsa_sign_verify_init_common(session_p, pMechanism, in soft_sign_init() 91 return (soft_dsa_sign_verify_init_common(session_p, pMechanism, in soft_sign_init() 97 return (soft_ecc_sign_verify_init_common(session_p, pMechanism, in soft_sign_init() 103 return (soft_des_sign_verify_init_common(session_p, pMechanism, in soft_sign_init() 109 return (soft_aes_sign_verify_init_common(session_p, pMechanism, in soft_sign_init() 135 soft_sign(soft_session_t *session_p, CK_BYTE_PTR pData, in soft_sign() argument 140 CK_MECHANISM_TYPE mechanism = session_p->sign.mech.mechanism; in soft_sign() 162 rv = soft_hmac_sign_verify_common(session_p, pData, in soft_sign() [all …]
|
H A D | softObject.c | 46 soft_session_t *session_p; in C_CreateObject() local 56 rv = handle2session(hSession, &session_p); in C_CreateObject() 67 rv = soft_add_object(pTemplate, ulCount, phObject, session_p); in C_CreateObject() 74 SES_REFRELE(session_p, lock_held); in C_CreateObject() 85 soft_session_t *session_p; in C_CopyObject() local 97 rv = handle2session(hSession, &session_p); in C_CopyObject() 123 session_p); in C_CopyObject() 151 rv = soft_object_write_access_check(session_p, new_object); in C_CopyObject() 177 SES_REFRELE(session_p, lock_held); in C_CopyObject() 186 soft_add_object_to_session(new_object, session_p); in C_CopyObject() [all …]
|
H A D | softEncryptUtil.c | 60 soft_encrypt_init_internal(soft_session_t *session_p, CK_MECHANISM_PTR in soft_encrypt_init_internal() argument 65 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_encrypt_init_internal() 68 if (session_p->encrypt.flags & CRYPTO_OPERATION_ACTIVE) { in soft_encrypt_init_internal() 69 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_encrypt_init_internal() 73 session_p->encrypt.flags = CRYPTO_OPERATION_ACTIVE; in soft_encrypt_init_internal() 75 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_encrypt_init_internal() 77 rv = soft_encrypt_init(session_p, pMechanism, key_p); in soft_encrypt_init_internal() 80 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_encrypt_init_internal() 81 session_p->encrypt.flags &= ~CRYPTO_OPERATION_ACTIVE; in soft_encrypt_init_internal() 82 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_encrypt_init_internal() [all …]
|
H A D | softSession.c | 76 soft_session_t *session_p; in C_CloseSession() local 86 rv = handle2session(hSession, &session_p); in C_CloseSession() 90 (void) pthread_mutex_lock(&session_p->session_mutex); in C_CloseSession() 95 if (session_p->ses_close_sync & SESSION_IS_CLOSING) { in C_CloseSession() 96 SES_REFRELE(session_p, lock_held); in C_CloseSession() 99 session_p->ses_close_sync |= SESSION_IS_CLOSING; in C_CloseSession() 106 SES_REFRELE(session_p, lock_held); in C_CloseSession() 118 rv = soft_delete_session(session_p, B_FALSE, B_FALSE); in C_CloseSession() 185 soft_session_t *session_p; in C_GetSessionInfo() local 196 rv = handle2session(hSession, &session_p); in C_GetSessionInfo() [all …]
|
H A D | softVerifyUtil.c | 56 soft_verify_init(soft_session_t *session_p, CK_MECHANISM_PTR pMechanism, in soft_verify_init() argument 75 return (soft_hmac_sign_verify_init_common(session_p, in soft_verify_init() 86 return (soft_rsa_sign_verify_init_common(session_p, pMechanism, in soft_verify_init() 92 return (soft_dsa_sign_verify_init_common(session_p, pMechanism, in soft_verify_init() 98 return (soft_ecc_sign_verify_init_common(session_p, pMechanism, in soft_verify_init() 104 return (soft_des_sign_verify_init_common(session_p, pMechanism, in soft_verify_init() 110 return (soft_aes_sign_verify_init_common(session_p, pMechanism, in soft_verify_init() 136 soft_verify(soft_session_t *session_p, CK_BYTE_PTR pData, in soft_verify() argument 141 CK_MECHANISM_TYPE mechanism = session_p->verify.mech.mechanism; in soft_verify() 163 hmac_ctx = (soft_hmac_ctx_t *)session_p->verify.context; in soft_verify() [all …]
|
H A D | softDecryptUtil.c | 84 soft_decrypt_init(soft_session_t *session_p, CK_MECHANISM_PTR pMechanism, in soft_decrypt_init() argument 109 return (soft_des_crypt_init_common(session_p, pMechanism, in soft_decrypt_init() 137 rv = soft_des_crypt_init_common(session_p, pMechanism, in soft_decrypt_init() 143 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_decrypt_init() 145 soft_des_ctx = (soft_des_ctx_t *)session_p->decrypt.context; in soft_decrypt_init() 158 freezero(session_p->decrypt.context, in soft_decrypt_init() 160 session_p->decrypt.context = NULL; in soft_decrypt_init() 161 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_decrypt_init() 165 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_decrypt_init() 175 return (soft_aes_crypt_init_common(session_p, pMechanism, in soft_decrypt_init() [all …]
|
H A D | softKeys.c | 39 soft_session_t *session_p; in C_GenerateKey() local 46 rv = handle2session(hSession, &session_p); in C_GenerateKey() 60 rv = soft_genkey(session_p, pMechanism, pTemplate, in C_GenerateKey() 64 SES_REFRELE(session_p, lock_held); in C_GenerateKey() 78 soft_session_t *session_p; in C_GenerateKeyPair() local 85 rv = handle2session(hSession, &session_p); in C_GenerateKeyPair() 107 rv = soft_genkey_pair(session_p, pMechanism, pPublicKeyTemplate, in C_GenerateKeyPair() 112 SES_REFRELE(session_p, lock_held); in C_GenerateKeyPair() 122 soft_session_t *session_p; in C_WrapKey() local 131 rv = handle2session(hSession, &session_p); in C_WrapKey() [all …]
|
H A D | softRSA.c | 189 soft_rsa_crypt_init_common(soft_session_t *session_p, in soft_rsa_crypt_init_common() argument 224 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_rsa_crypt_init_common() 227 session_p->encrypt.context = rsa_ctx; in soft_rsa_crypt_init_common() 228 session_p->encrypt.mech.mechanism = pMechanism->mechanism; in soft_rsa_crypt_init_common() 231 session_p->decrypt.context = rsa_ctx; in soft_rsa_crypt_init_common() 232 session_p->decrypt.mech.mechanism = pMechanism->mechanism; in soft_rsa_crypt_init_common() 234 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_rsa_crypt_init_common() 240 soft_rsa_encrypt_common(soft_session_t *session_p, CK_BYTE_PTR pData, in soft_rsa_encrypt_common() argument 245 soft_rsa_ctx_t *rsa_ctx = session_p->encrypt.context; in soft_rsa_encrypt_common() 318 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_rsa_encrypt_common() [all …]
|
H A D | softEC.c | 330 soft_ecc_sign_verify_init_common(soft_session_t *session_p, in soft_ecc_sign_verify_init_common() argument 348 rv = soft_digest_init_internal(session_p, &digest_mech); in soft_ecc_sign_verify_init_common() 402 (void) pthread_mutex_lock(&session_p->session_mutex); in soft_ecc_sign_verify_init_common() 405 session_p->sign.context = ecc_ctx; in soft_ecc_sign_verify_init_common() 406 session_p->sign.mech.mechanism = pMechanism->mechanism; in soft_ecc_sign_verify_init_common() 408 session_p->verify.context = ecc_ctx; in soft_ecc_sign_verify_init_common() 409 session_p->verify.mech.mechanism = pMechanism->mechanism; in soft_ecc_sign_verify_init_common() 412 (void) pthread_mutex_unlock(&session_p->session_mutex); in soft_ecc_sign_verify_init_common() 424 soft_ecc_digest_sign_common(soft_session_t *session_p, CK_BYTE_PTR pData, in soft_ecc_digest_sign_common() argument 434 rv = soft_digest_final(session_p, hash, &hash_len); in soft_ecc_digest_sign_common() [all …]
|
/illumos-gate/usr/src/lib/pkcs11/pkcs11_kernel/common/ |
H A D | kernelDigest.c | 41 kernel_session_t *session_p; in common_digest_init() local 64 rv = handle2session(hSession, &session_p); in common_digest_init() 69 (void) pthread_mutex_lock(&session_p->session_mutex); in common_digest_init() 77 session_p->digest.flags |= CRYPTO_OPERATION_ACTIVE; in common_digest_init() 79 if (SLOT_HAS_LIMITED_HASH(session_p) && is_external_caller) { in common_digest_init() 80 session_p->digest.mech.mechanism = pMechanism->mechanism; in common_digest_init() 81 session_p->digest.mech.pParameter = NULL; in common_digest_init() 82 session_p->digest.mech.ulParameterLen = 0; in common_digest_init() 83 session_p->digest.flags |= CRYPTO_EMULATE; in common_digest_init() 84 rv = emulate_buf_init(session_p, EDIGEST_LENGTH, OP_DIGEST); in common_digest_init() [all …]
|
H A D | kernelSessionUtil.c | 52 kernel_session_t *session_p; in kernel_delete_all_sessions() local 69 session_p = pslot->sl_sess_list; in kernel_delete_all_sessions() 74 (void) pthread_mutex_lock(&session_p->session_mutex); in kernel_delete_all_sessions() 75 if (session_p->ses_close_sync & SESSION_IS_CLOSING) { in kernel_delete_all_sessions() 76 (void) pthread_mutex_unlock(&session_p->session_mutex); in kernel_delete_all_sessions() 79 session_p->ses_close_sync |= SESSION_IS_CLOSING; in kernel_delete_all_sessions() 80 (void) pthread_mutex_unlock(&session_p->session_mutex); in kernel_delete_all_sessions() 83 kernel_delete_session(slotID, session_p, B_FALSE, wrapper_only); in kernel_delete_all_sessions() 180 kernel_delete_session(CK_SLOT_ID slotID, kernel_session_t *session_p, in kernel_delete_session() argument 203 if (pslot->sl_sess_list == session_p) { in kernel_delete_session() [all …]
|
H A D | kernelVerify.c | 41 kernel_session_t *session_p; in C_VerifyInit() local 61 rv = handle2session(hSession, &session_p); in C_VerifyInit() 68 REFRELE(session_p, ses_lock_held); in C_VerifyInit() 78 (void) pthread_mutex_lock(&session_p->session_mutex); in C_VerifyInit() 85 session_p->verify.flags = CRYPTO_OPERATION_ACTIVE; in C_VerifyInit() 126 verify_init.vi_session = session_p->k_session; in C_VerifyInit() 127 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_VerifyInit() 143 if (rv == CKR_OK && SLOT_HAS_LIMITED_HMAC(session_p) && in C_VerifyInit() 146 (void) pthread_mutex_lock(&session_p->session_mutex); in C_VerifyInit() 147 session_p->verify.flags |= CRYPTO_EMULATE; in C_VerifyInit() [all …]
|
H A D | kernelSign.c | 40 kernel_session_t *session_p; in C_SignInit() local 61 rv = handle2session(hSession, &session_p); in C_SignInit() 68 REFRELE(session_p, ses_lock_held); in C_SignInit() 78 (void) pthread_mutex_lock(&session_p->session_mutex); in C_SignInit() 85 session_p->sign.flags = CRYPTO_OPERATION_ACTIVE; in C_SignInit() 86 sign_init.si_session = session_p->k_session; in C_SignInit() 87 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_SignInit() 140 if (rv == CKR_OK && SLOT_HAS_LIMITED_HMAC(session_p) && in C_SignInit() 143 (void) pthread_mutex_lock(&session_p->session_mutex); in C_SignInit() 144 session_p->sign.flags |= CRYPTO_EMULATE; in C_SignInit() [all …]
|
H A D | kernelSoftCommon.c | 49 soft_session_t *session_p; in do_soft_digest() local 52 session_p = *((soft_session_t **)s); in do_soft_digest() 53 if (session_p == NULL) { in do_soft_digest() 58 session_p = calloc(1, sizeof (soft_session_t)); in do_soft_digest() 64 if (pthread_mutex_init(&session_p->session_mutex, NULL) != 0) { in do_soft_digest() 65 free(session_p); in do_soft_digest() 69 *s = session_p; in do_soft_digest() 71 free_soft_ctx(session_p, OP_DIGEST); in do_soft_digest() 75 rv = soft_digest_init(session_p, pMechanism); in do_soft_digest() 81 rv = soft_digest(session_p, pData, ulDataLen, in do_soft_digest() [all …]
|
H A D | kernelDecrypt.c | 41 kernel_decrypt_init(kernel_session_t *session_p, kernel_object_t *key_p, in kernel_decrypt_init() argument 61 (void) pthread_mutex_lock(&session_p->session_mutex); in kernel_decrypt_init() 69 session_p->decrypt.flags = CRYPTO_OPERATION_ACTIVE; in kernel_decrypt_init() 100 decrypt_init.di_session = session_p->k_session; in kernel_decrypt_init() 101 session_p->decrypt.mech = *pMechanism; in kernel_decrypt_init() 104 if (INPLACE_MECHANISM(session_p->decrypt.mech.mechanism)) { in kernel_decrypt_init() 105 session_p->decrypt.flags |= CRYPTO_OPERATION_INPLACE_OK; in kernel_decrypt_init() 107 (void) pthread_mutex_unlock(&session_p->session_mutex); in kernel_decrypt_init() 121 if (session_p->decrypt.mech.mechanism == CKM_AES_CCM) { in kernel_decrypt_init() 156 (void) pthread_mutex_lock(&session_p->session_mutex); in kernel_decrypt_init() [all …]
|
H A D | kernelSession.c | 85 kernel_session_t *session_p; in C_CloseSession() local 95 rv = handle2session(hSession, &session_p); in C_CloseSession() 99 (void) pthread_mutex_lock(&session_p->session_mutex); in C_CloseSession() 106 if (session_p->ses_close_sync & SESSION_IS_CLOSING) { in C_CloseSession() 107 REFRELE(session_p, ses_lock_held); in C_CloseSession() 110 session_p->ses_close_sync |= SESSION_IS_CLOSING; in C_CloseSession() 117 REFRELE(session_p, ses_lock_held); in C_CloseSession() 129 kernel_delete_session(session_p->ses_slotid, session_p, B_FALSE, in C_CloseSession() 152 get_ses_state(kernel_session_t *session_p) in get_ses_state() argument 157 pslot = slot_table[session_p->ses_slotid]; in get_ses_state() [all …]
|
H A D | kernelObject.c | 46 kernel_session_t *session_p; in C_CreateObject() local 61 rv = handle2session(hSession, &session_p); in C_CreateObject() 66 rv = kernel_add_object(pTemplate, ulCount, phObject, session_p); in C_CreateObject() 72 REFRELE(session_p, ses_lock_held); in C_CreateObject() 85 kernel_session_t *session_p; in C_CopyObject() local 108 rv = handle2session(hSession, &session_p); in C_CopyObject() 119 REFRELE(session_p, ses_lock_held); in C_CopyObject() 132 session_p); in C_CopyObject() 141 REFRELE(session_p, ses_lock_held); in C_CopyObject() 151 B_TRUE, session_p); in C_CopyObject() [all …]
|
H A D | kernelEncrypt.c | 43 kernel_session_t *session_p; in C_EncryptInit() local 64 rv = handle2session(hSession, &session_p); in C_EncryptInit() 71 REFRELE(session_p, ses_lock_held); in C_EncryptInit() 81 (void) pthread_mutex_lock(&session_p->session_mutex); in C_EncryptInit() 89 session_p->encrypt.flags = CRYPTO_OPERATION_ACTIVE; in C_EncryptInit() 119 encrypt_init.ei_session = session_p->k_session; in C_EncryptInit() 120 session_p->encrypt.mech = *pMechanism; in C_EncryptInit() 123 if (INPLACE_MECHANISM(session_p->encrypt.mech.mechanism)) { in C_EncryptInit() 124 session_p->encrypt.flags |= CRYPTO_OPERATION_INPLACE_OK; in C_EncryptInit() 126 (void) pthread_mutex_unlock(&session_p->session_mutex); in C_EncryptInit() [all …]
|