Skip to content
Snippets Groups Projects
Commit 3922334c authored by Fredrik Thulin's avatar Fredrik Thulin
Browse files

Check pkcs11_initialized "everywhere".

Since PKCS#11 module initialization is done globally on the server side,
the real PKCS#11 modules check for initialization is made a no-op. The
only place it is possible to check for proper initialization by the
application is here - on the client side.
parent 095eff3e
No related branches found
No related tags found
No related merge requests found
...@@ -1426,6 +1426,8 @@ static CK_RV ...@@ -1426,6 +1426,8 @@ static CK_RV
rpc_C_InitToken(CK_SLOT_ID id, CK_UTF8CHAR_PTR pin, CK_ULONG pin_len, rpc_C_InitToken(CK_SLOT_ID id, CK_UTF8CHAR_PTR pin, CK_ULONG pin_len,
CK_UTF8CHAR_PTR label) CK_UTF8CHAR_PTR label)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_InitToken); BEGIN_CALL(C_InitToken);
IN_ULONG(id); IN_ULONG(id);
IN_BYTE_ARRAY(pin, pin_len); IN_BYTE_ARRAY(pin, pin_len);
...@@ -1466,6 +1468,8 @@ rpc_C_OpenSession(CK_SLOT_ID id, CK_FLAGS flags, CK_VOID_PTR user_data, ...@@ -1466,6 +1468,8 @@ rpc_C_OpenSession(CK_SLOT_ID id, CK_FLAGS flags, CK_VOID_PTR user_data,
static CK_RV rpc_C_CloseSession(CK_SESSION_HANDLE session) static CK_RV rpc_C_CloseSession(CK_SESSION_HANDLE session)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_CloseSession); BEGIN_CALL(C_CloseSession);
IN_ULONG(session); IN_ULONG(session);
PROCESS_CALL; PROCESS_CALL;
...@@ -1474,6 +1478,8 @@ static CK_RV rpc_C_CloseSession(CK_SESSION_HANDLE session) ...@@ -1474,6 +1478,8 @@ static CK_RV rpc_C_CloseSession(CK_SESSION_HANDLE session)
static CK_RV rpc_C_CloseAllSessions(CK_SLOT_ID id) static CK_RV rpc_C_CloseAllSessions(CK_SLOT_ID id)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_CloseAllSessions); BEGIN_CALL(C_CloseAllSessions);
IN_ULONG(id); IN_ULONG(id);
PROCESS_CALL; PROCESS_CALL;
...@@ -1482,6 +1488,8 @@ static CK_RV rpc_C_CloseAllSessions(CK_SLOT_ID id) ...@@ -1482,6 +1488,8 @@ static CK_RV rpc_C_CloseAllSessions(CK_SLOT_ID id)
static CK_RV rpc_C_GetFunctionStatus(CK_SESSION_HANDLE session) static CK_RV rpc_C_GetFunctionStatus(CK_SESSION_HANDLE session)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_GetFunctionStatus); BEGIN_CALL(C_GetFunctionStatus);
IN_ULONG(session); IN_ULONG(session);
PROCESS_CALL; PROCESS_CALL;
...@@ -1490,6 +1498,8 @@ static CK_RV rpc_C_GetFunctionStatus(CK_SESSION_HANDLE session) ...@@ -1490,6 +1498,8 @@ static CK_RV rpc_C_GetFunctionStatus(CK_SESSION_HANDLE session)
static CK_RV rpc_C_CancelFunction(CK_SESSION_HANDLE session) static CK_RV rpc_C_CancelFunction(CK_SESSION_HANDLE session)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_CancelFunction); BEGIN_CALL(C_CancelFunction);
IN_ULONG(session); IN_ULONG(session);
PROCESS_CALL; PROCESS_CALL;
...@@ -1512,6 +1522,8 @@ rpc_C_GetSessionInfo(CK_SESSION_HANDLE session, CK_SESSION_INFO_PTR info) ...@@ -1512,6 +1522,8 @@ rpc_C_GetSessionInfo(CK_SESSION_HANDLE session, CK_SESSION_INFO_PTR info)
static CK_RV static CK_RV
rpc_C_InitPIN(CK_SESSION_HANDLE session, CK_UTF8CHAR_PTR pin, CK_ULONG pin_len) rpc_C_InitPIN(CK_SESSION_HANDLE session, CK_UTF8CHAR_PTR pin, CK_ULONG pin_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_InitPIN); BEGIN_CALL(C_InitPIN);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(pin, pin_len); IN_BYTE_ARRAY(pin, pin_len);
...@@ -1524,6 +1536,8 @@ rpc_C_SetPIN(CK_SESSION_HANDLE session, CK_UTF8CHAR_PTR old_pin, ...@@ -1524,6 +1536,8 @@ rpc_C_SetPIN(CK_SESSION_HANDLE session, CK_UTF8CHAR_PTR old_pin,
CK_ULONG old_pin_len, CK_UTF8CHAR_PTR new_pin, CK_ULONG old_pin_len, CK_UTF8CHAR_PTR new_pin,
CK_ULONG new_pin_len) CK_ULONG new_pin_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SetPIN); BEGIN_CALL(C_SetPIN);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(old_pin, old_pin_len); IN_BYTE_ARRAY(old_pin, old_pin_len);
...@@ -1537,6 +1551,7 @@ rpc_C_GetOperationState(CK_SESSION_HANDLE session, CK_BYTE_PTR operation_state, ...@@ -1537,6 +1551,7 @@ rpc_C_GetOperationState(CK_SESSION_HANDLE session, CK_BYTE_PTR operation_state,
CK_ULONG_PTR operation_state_len) CK_ULONG_PTR operation_state_len)
{ {
return_val_if_fail(operation_state_len, CKR_ARGUMENTS_BAD); return_val_if_fail(operation_state_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_GetOperationState); BEGIN_CALL(C_GetOperationState);
IN_ULONG(session); IN_ULONG(session);
...@@ -1552,6 +1567,8 @@ rpc_C_SetOperationState(CK_SESSION_HANDLE session, CK_BYTE_PTR operation_state, ...@@ -1552,6 +1567,8 @@ rpc_C_SetOperationState(CK_SESSION_HANDLE session, CK_BYTE_PTR operation_state,
CK_OBJECT_HANDLE encryption_key, CK_OBJECT_HANDLE encryption_key,
CK_OBJECT_HANDLE authentication_key) CK_OBJECT_HANDLE authentication_key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SetOperationState); BEGIN_CALL(C_SetOperationState);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(operation_state, operation_state_len); IN_BYTE_ARRAY(operation_state, operation_state_len);
...@@ -1565,6 +1582,8 @@ static CK_RV ...@@ -1565,6 +1582,8 @@ static CK_RV
rpc_C_Login(CK_SESSION_HANDLE session, CK_USER_TYPE user_type, rpc_C_Login(CK_SESSION_HANDLE session, CK_USER_TYPE user_type,
CK_UTF8CHAR_PTR pin, CK_ULONG pin_len) CK_UTF8CHAR_PTR pin, CK_ULONG pin_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Login); BEGIN_CALL(C_Login);
IN_ULONG(session); IN_ULONG(session);
IN_ULONG(user_type); IN_ULONG(user_type);
...@@ -1575,6 +1594,8 @@ rpc_C_Login(CK_SESSION_HANDLE session, CK_USER_TYPE user_type, ...@@ -1575,6 +1594,8 @@ rpc_C_Login(CK_SESSION_HANDLE session, CK_USER_TYPE user_type,
static CK_RV rpc_C_Logout(CK_SESSION_HANDLE session) static CK_RV rpc_C_Logout(CK_SESSION_HANDLE session)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Logout); BEGIN_CALL(C_Logout);
IN_ULONG(session); IN_ULONG(session);
PROCESS_CALL; PROCESS_CALL;
...@@ -1603,6 +1624,7 @@ rpc_C_CopyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object, ...@@ -1603,6 +1624,7 @@ rpc_C_CopyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object,
CK_ATTRIBUTE_PTR template, CK_ULONG count, CK_ATTRIBUTE_PTR template, CK_ULONG count,
CK_OBJECT_HANDLE_PTR new_object) CK_OBJECT_HANDLE_PTR new_object)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
return_val_if_fail(new_object, CKR_ARGUMENTS_BAD); return_val_if_fail(new_object, CKR_ARGUMENTS_BAD);
BEGIN_CALL(C_CopyObject); BEGIN_CALL(C_CopyObject);
...@@ -1617,6 +1639,8 @@ rpc_C_CopyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object, ...@@ -1617,6 +1639,8 @@ rpc_C_CopyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object,
static CK_RV static CK_RV
rpc_C_DestroyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object) rpc_C_DestroyObject(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DestroyObject); BEGIN_CALL(C_DestroyObject);
IN_ULONG(session); IN_ULONG(session);
IN_ULONG(object); IN_ULONG(object);
...@@ -1628,6 +1652,7 @@ static CK_RV ...@@ -1628,6 +1652,7 @@ static CK_RV
rpc_C_GetObjectSize(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object, rpc_C_GetObjectSize(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object,
CK_ULONG_PTR size) CK_ULONG_PTR size)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
return_val_if_fail(size, CKR_ARGUMENTS_BAD); return_val_if_fail(size, CKR_ARGUMENTS_BAD);
BEGIN_CALL(C_GetObjectSize); BEGIN_CALL(C_GetObjectSize);
...@@ -1658,6 +1683,7 @@ static CK_RV ...@@ -1658,6 +1683,7 @@ static CK_RV
rpc_C_SetAttributeValue(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object, rpc_C_SetAttributeValue(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object,
CK_ATTRIBUTE_PTR template, CK_ULONG count) CK_ATTRIBUTE_PTR template, CK_ULONG count)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SetAttributeValue); BEGIN_CALL(C_SetAttributeValue);
IN_ULONG(session); IN_ULONG(session);
IN_ULONG(object); IN_ULONG(object);
...@@ -1670,6 +1696,8 @@ static CK_RV ...@@ -1670,6 +1696,8 @@ static CK_RV
rpc_C_FindObjectsInit(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR template, rpc_C_FindObjectsInit(CK_SESSION_HANDLE session, CK_ATTRIBUTE_PTR template,
CK_ULONG count) CK_ULONG count)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_FindObjectsInit); BEGIN_CALL(C_FindObjectsInit);
IN_ULONG(session); IN_ULONG(session);
IN_ATTRIBUTE_ARRAY(template, count); IN_ATTRIBUTE_ARRAY(template, count);
...@@ -1706,6 +1734,8 @@ static CK_RV ...@@ -1706,6 +1734,8 @@ static CK_RV
rpc_C_EncryptInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_EncryptInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_EncryptInit); BEGIN_CALL(C_EncryptInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1744,6 +1774,7 @@ rpc_C_EncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, ...@@ -1744,6 +1774,7 @@ rpc_C_EncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
CK_ULONG_PTR encrypted_part_len) CK_ULONG_PTR encrypted_part_len)
{ {
return_val_if_fail(encrypted_part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(encrypted_part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_EncryptUpdate); BEGIN_CALL(C_EncryptUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -1759,6 +1790,7 @@ rpc_C_EncryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part, ...@@ -1759,6 +1790,7 @@ rpc_C_EncryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part,
CK_ULONG_PTR last_part_len) CK_ULONG_PTR last_part_len)
{ {
return_val_if_fail(last_part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(last_part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_EncryptFinal); BEGIN_CALL(C_EncryptFinal);
IN_ULONG(session); IN_ULONG(session);
...@@ -1772,6 +1804,8 @@ static CK_RV ...@@ -1772,6 +1804,8 @@ static CK_RV
rpc_C_DecryptInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_DecryptInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DecryptInit); BEGIN_CALL(C_DecryptInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1785,6 +1819,7 @@ rpc_C_Decrypt(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_data, ...@@ -1785,6 +1819,7 @@ rpc_C_Decrypt(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_data,
CK_ULONG enc_data_len, CK_BYTE_PTR data, CK_ULONG_PTR data_len) CK_ULONG enc_data_len, CK_BYTE_PTR data, CK_ULONG_PTR data_len)
{ {
return_val_if_fail(data_len, CKR_ARGUMENTS_BAD); return_val_if_fail(data_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Decrypt); BEGIN_CALL(C_Decrypt);
IN_ULONG(session); IN_ULONG(session);
...@@ -1801,6 +1836,7 @@ rpc_C_DecryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part, ...@@ -1801,6 +1836,7 @@ rpc_C_DecryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part,
CK_ULONG_PTR part_len) CK_ULONG_PTR part_len)
{ {
return_val_if_fail(part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DecryptUpdate); BEGIN_CALL(C_DecryptUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -1816,6 +1852,7 @@ rpc_C_DecryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part, ...@@ -1816,6 +1852,7 @@ rpc_C_DecryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part,
CK_ULONG_PTR last_part_len) CK_ULONG_PTR last_part_len)
{ {
return_val_if_fail(last_part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(last_part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DecryptFinal); BEGIN_CALL(C_DecryptFinal);
IN_ULONG(session); IN_ULONG(session);
...@@ -1828,6 +1865,7 @@ rpc_C_DecryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part, ...@@ -1828,6 +1865,7 @@ rpc_C_DecryptFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR last_part,
static CK_RV static CK_RV
rpc_C_DigestInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism) rpc_C_DigestInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DigestInit); BEGIN_CALL(C_DigestInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1840,6 +1878,7 @@ rpc_C_Digest(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len, ...@@ -1840,6 +1878,7 @@ rpc_C_Digest(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len,
CK_BYTE_PTR digest, CK_ULONG_PTR digest_len) CK_BYTE_PTR digest, CK_ULONG_PTR digest_len)
{ {
return_val_if_fail(digest_len, CKR_ARGUMENTS_BAD); return_val_if_fail(digest_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Digest); BEGIN_CALL(C_Digest);
IN_ULONG(session); IN_ULONG(session);
...@@ -1854,6 +1893,8 @@ static CK_RV ...@@ -1854,6 +1893,8 @@ static CK_RV
rpc_C_DigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, rpc_C_DigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
CK_ULONG part_len) CK_ULONG part_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DigestUpdate); BEGIN_CALL(C_DigestUpdate);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(part, part_len); IN_BYTE_ARRAY(part, part_len);
...@@ -1863,6 +1904,8 @@ rpc_C_DigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, ...@@ -1863,6 +1904,8 @@ rpc_C_DigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
static CK_RV rpc_C_DigestKey(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key) static CK_RV rpc_C_DigestKey(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DigestKey); BEGIN_CALL(C_DigestKey);
IN_ULONG(session); IN_ULONG(session);
IN_ULONG(key); IN_ULONG(key);
...@@ -1875,6 +1918,7 @@ rpc_C_DigestFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR digest, ...@@ -1875,6 +1918,7 @@ rpc_C_DigestFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR digest,
CK_ULONG_PTR digest_len) CK_ULONG_PTR digest_len)
{ {
return_val_if_fail(digest_len, CKR_ARGUMENTS_BAD); return_val_if_fail(digest_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DigestFinal); BEGIN_CALL(C_DigestFinal);
IN_ULONG(session); IN_ULONG(session);
...@@ -1888,6 +1932,7 @@ static CK_RV ...@@ -1888,6 +1932,7 @@ static CK_RV
rpc_C_SignInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_SignInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SignInit); BEGIN_CALL(C_SignInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1901,6 +1946,7 @@ rpc_C_Sign(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len, ...@@ -1901,6 +1946,7 @@ rpc_C_Sign(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len,
CK_BYTE_PTR signature, CK_ULONG_PTR signature_len) CK_BYTE_PTR signature, CK_ULONG_PTR signature_len)
{ {
return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD); return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Sign); BEGIN_CALL(C_Sign);
IN_ULONG(session); IN_ULONG(session);
...@@ -1914,6 +1960,7 @@ rpc_C_Sign(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len, ...@@ -1914,6 +1960,7 @@ rpc_C_Sign(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len,
static CK_RV static CK_RV
rpc_C_SignUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, CK_ULONG part_len) rpc_C_SignUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, CK_ULONG part_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
return_val_if_fail(part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(part_len, CKR_ARGUMENTS_BAD);
BEGIN_CALL(C_SignUpdate); BEGIN_CALL(C_SignUpdate);
...@@ -1928,6 +1975,7 @@ rpc_C_SignFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR signature, ...@@ -1928,6 +1975,7 @@ rpc_C_SignFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR signature,
CK_ULONG_PTR signature_len) CK_ULONG_PTR signature_len)
{ {
return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD); return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SignFinal); BEGIN_CALL(C_SignFinal);
IN_ULONG(session); IN_ULONG(session);
...@@ -1941,6 +1989,8 @@ static CK_RV ...@@ -1941,6 +1989,8 @@ static CK_RV
rpc_C_SignRecoverInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_SignRecoverInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SignRecoverInit); BEGIN_CALL(C_SignRecoverInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1955,6 +2005,7 @@ rpc_C_SignRecover(CK_SESSION_HANDLE session, CK_BYTE_PTR data, ...@@ -1955,6 +2005,7 @@ rpc_C_SignRecover(CK_SESSION_HANDLE session, CK_BYTE_PTR data,
CK_ULONG_PTR signature_len) CK_ULONG_PTR signature_len)
{ {
return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD); return_val_if_fail(signature_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SignRecover); BEGIN_CALL(C_SignRecover);
IN_ULONG(session); IN_ULONG(session);
...@@ -1969,6 +2020,8 @@ static CK_RV ...@@ -1969,6 +2020,8 @@ static CK_RV
rpc_C_VerifyInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_VerifyInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_VerifyInit); BEGIN_CALL(C_VerifyInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -1981,6 +2034,8 @@ static CK_RV ...@@ -1981,6 +2034,8 @@ static CK_RV
rpc_C_Verify(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len, rpc_C_Verify(CK_SESSION_HANDLE session, CK_BYTE_PTR data, CK_ULONG data_len,
CK_BYTE_PTR signature, CK_ULONG signature_len) CK_BYTE_PTR signature, CK_ULONG signature_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_Verify); BEGIN_CALL(C_Verify);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(data, data_len); IN_BYTE_ARRAY(data, data_len);
...@@ -1993,6 +2048,8 @@ static CK_RV ...@@ -1993,6 +2048,8 @@ static CK_RV
rpc_C_VerifyUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, rpc_C_VerifyUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
CK_ULONG part_len) CK_ULONG part_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_VerifyUpdate); BEGIN_CALL(C_VerifyUpdate);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(part, part_len); IN_BYTE_ARRAY(part, part_len);
...@@ -2004,6 +2061,8 @@ static CK_RV ...@@ -2004,6 +2061,8 @@ static CK_RV
rpc_C_VerifyFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR signature, rpc_C_VerifyFinal(CK_SESSION_HANDLE session, CK_BYTE_PTR signature,
CK_ULONG signature_len) CK_ULONG signature_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_VerifyFinal); BEGIN_CALL(C_VerifyFinal);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(signature, signature_len); IN_BYTE_ARRAY(signature, signature_len);
...@@ -2015,6 +2074,8 @@ static CK_RV ...@@ -2015,6 +2074,8 @@ static CK_RV
rpc_C_VerifyRecoverInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, rpc_C_VerifyRecoverInit(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE key) CK_OBJECT_HANDLE key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_VerifyRecoverInit); BEGIN_CALL(C_VerifyRecoverInit);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -2029,6 +2090,7 @@ rpc_C_VerifyRecover(CK_SESSION_HANDLE session, CK_BYTE_PTR signature, ...@@ -2029,6 +2090,7 @@ rpc_C_VerifyRecover(CK_SESSION_HANDLE session, CK_BYTE_PTR signature,
CK_ULONG_PTR data_len) CK_ULONG_PTR data_len)
{ {
return_val_if_fail(data_len, CKR_ARGUMENTS_BAD); return_val_if_fail(data_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_VerifyRecover); BEGIN_CALL(C_VerifyRecover);
IN_ULONG(session); IN_ULONG(session);
...@@ -2045,6 +2107,7 @@ rpc_C_DigestEncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, ...@@ -2045,6 +2107,7 @@ rpc_C_DigestEncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
CK_ULONG_PTR enc_part_len) CK_ULONG_PTR enc_part_len)
{ {
return_val_if_fail(enc_part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(enc_part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DigestEncryptUpdate); BEGIN_CALL(C_DigestEncryptUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -2061,6 +2124,7 @@ rpc_C_DecryptDigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part, ...@@ -2061,6 +2124,7 @@ rpc_C_DecryptDigestUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part,
CK_ULONG_PTR part_len) CK_ULONG_PTR part_len)
{ {
return_val_if_fail(part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DecryptDigestUpdate); BEGIN_CALL(C_DecryptDigestUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -2077,6 +2141,7 @@ rpc_C_SignEncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part, ...@@ -2077,6 +2141,7 @@ rpc_C_SignEncryptUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR part,
CK_ULONG_PTR enc_part_len) CK_ULONG_PTR enc_part_len)
{ {
return_val_if_fail(enc_part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(enc_part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SignEncryptUpdate); BEGIN_CALL(C_SignEncryptUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -2093,6 +2158,7 @@ rpc_C_DecryptVerifyUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part, ...@@ -2093,6 +2158,7 @@ rpc_C_DecryptVerifyUpdate(CK_SESSION_HANDLE session, CK_BYTE_PTR enc_part,
CK_ULONG_PTR part_len) CK_ULONG_PTR part_len)
{ {
return_val_if_fail(part_len, CKR_ARGUMENTS_BAD); return_val_if_fail(part_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DecryptVerifyUpdate); BEGIN_CALL(C_DecryptVerifyUpdate);
IN_ULONG(session); IN_ULONG(session);
...@@ -2108,6 +2174,8 @@ rpc_C_GenerateKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, ...@@ -2108,6 +2174,8 @@ rpc_C_GenerateKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_ATTRIBUTE_PTR template, CK_ULONG count, CK_ATTRIBUTE_PTR template, CK_ULONG count,
CK_OBJECT_HANDLE_PTR key) CK_OBJECT_HANDLE_PTR key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_GenerateKey); BEGIN_CALL(C_GenerateKey);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -2150,6 +2218,7 @@ rpc_C_WrapKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, ...@@ -2150,6 +2218,7 @@ rpc_C_WrapKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_BYTE_PTR wrapped_key, CK_ULONG_PTR wrapped_key_len) CK_BYTE_PTR wrapped_key, CK_ULONG_PTR wrapped_key_len)
{ {
return_val_if_fail(wrapped_key_len, CKR_ARGUMENTS_BAD); return_val_if_fail(wrapped_key_len, CKR_ARGUMENTS_BAD);
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_WrapKey); BEGIN_CALL(C_WrapKey);
IN_ULONG(session); IN_ULONG(session);
...@@ -2168,6 +2237,8 @@ rpc_C_UnwrapKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, ...@@ -2168,6 +2237,8 @@ rpc_C_UnwrapKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_ULONG wrapped_key_len, CK_ATTRIBUTE_PTR template, CK_ULONG wrapped_key_len, CK_ATTRIBUTE_PTR template,
CK_ULONG count, CK_OBJECT_HANDLE_PTR key) CK_ULONG count, CK_OBJECT_HANDLE_PTR key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_UnwrapKey); BEGIN_CALL(C_UnwrapKey);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -2184,6 +2255,8 @@ rpc_C_DeriveKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, ...@@ -2184,6 +2255,8 @@ rpc_C_DeriveKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
CK_OBJECT_HANDLE base_key, CK_ATTRIBUTE_PTR template, CK_OBJECT_HANDLE base_key, CK_ATTRIBUTE_PTR template,
CK_ULONG count, CK_OBJECT_HANDLE_PTR key) CK_ULONG count, CK_OBJECT_HANDLE_PTR key)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_DeriveKey); BEGIN_CALL(C_DeriveKey);
IN_ULONG(session); IN_ULONG(session);
IN_MECHANISM(mechanism); IN_MECHANISM(mechanism);
...@@ -2197,6 +2270,8 @@ rpc_C_DeriveKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism, ...@@ -2197,6 +2270,8 @@ rpc_C_DeriveKey(CK_SESSION_HANDLE session, CK_MECHANISM_PTR mechanism,
static CK_RV static CK_RV
rpc_C_SeedRandom(CK_SESSION_HANDLE session, CK_BYTE_PTR seed, CK_ULONG seed_len) rpc_C_SeedRandom(CK_SESSION_HANDLE session, CK_BYTE_PTR seed, CK_ULONG seed_len)
{ {
return_val_if_fail(pkcs11_initialized, CKR_CRYPTOKI_NOT_INITIALIZED);
BEGIN_CALL(C_SeedRandom); BEGIN_CALL(C_SeedRandom);
IN_ULONG(session); IN_ULONG(session);
IN_BYTE_ARRAY(seed, seed_len); IN_BYTE_ARRAY(seed, seed_len);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment