CK_RV md2_hash( SESSION * sess, CK_BBOOL length_only, DIGEST_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len ) { CK_RV rc; if (!sess || !ctx || !out_data_len) { OCK_LOG_ERR(ERR_FUNCTION_FAILED); return CKR_FUNCTION_FAILED; } if (length_only == TRUE) { *out_data_len = MD2_HASH_SIZE; return CKR_OK; } rc = md2_hash_update( sess, ctx, in_data, in_data_len ); if (rc != CKR_OK) { OCK_LOG_ERR(ERR_FUNCTION_FAILED); return CKR_FUNCTION_FAILED; } return md2_hash_final( sess, FALSE, ctx, out_data, out_data_len ); }
CK_RV md2_hash( STDLL_TokData_t * tokdata, SESSION * sess, CK_BBOOL length_only, DIGEST_CONTEXT * ctx, CK_BYTE * in_data, CK_ULONG in_data_len, CK_BYTE * out_data, CK_ULONG * out_data_len ) { CK_RV rc; if (!sess || !ctx || !out_data_len){ TRACE_ERROR("%s received bad argument(s)\n", __FUNCTION__); return CKR_FUNCTION_FAILED; } if (length_only == TRUE) { *out_data_len = MD2_HASH_SIZE; return CKR_OK; } rc = md2_hash_update( tokdata, sess, ctx, in_data, in_data_len ); if (rc != CKR_OK){ TRACE_DEVEL("md2_hash_update failed.\n"); return CKR_FUNCTION_FAILED; } return md2_hash_final( tokdata, sess, FALSE, ctx, out_data, out_data_len ); }