Example #1
0
CK_RV
md2_hash_final( SESSION         * sess,
                CK_BYTE           length_only,
                DIGEST_CONTEXT  * ctx,
                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 = ckm_md2_final( (MD2_CONTEXT *)ctx->context,
                        out_data, MD2_HASH_SIZE );

    if (rc == CKR_OK) {
        *out_data_len = MD2_HASH_SIZE;
        return rc;
    }

    return rc;
}
Example #2
0
CK_RV
md2_hash_final( STDLL_TokData_t * tokdata,
		SESSION         * sess,
                CK_BYTE           length_only,
                DIGEST_CONTEXT  * ctx,
                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 = ckm_md2_final( tokdata, (MD2_CONTEXT *)ctx->context,
                       out_data, MD2_HASH_SIZE );

   if (rc == CKR_OK) {
      *out_data_len = MD2_HASH_SIZE;
      return rc;
   }

   return rc;
}