Use shared function for error translation
diff --git a/library/pk_wrap.c b/library/pk_wrap.c
index 5e83602..301d226 100644
--- a/library/pk_wrap.c
+++ b/library/pk_wrap.c
@@ -761,30 +761,6 @@
             type == MBEDTLS_PK_ECDSA );
 }
 
-/* translate PSA errors to best PK approximation */
-static int pk_err_from_psa( psa_status_t status )
-{
-    switch( status )
-    {
-        case PSA_SUCCESS:
-            return( 0 );
-        case PSA_ERROR_NOT_SUPPORTED:
-            return( MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE );
-        case PSA_ERROR_INSUFFICIENT_MEMORY:
-            return( MBEDTLS_ERR_PK_ALLOC_FAILED );
-        case PSA_ERROR_COMMUNICATION_FAILURE:
-        case PSA_ERROR_HARDWARE_FAILURE:
-        case PSA_ERROR_TAMPERING_DETECTED:
-            return( MBEDTLS_ERR_PK_HW_ACCEL_FAILED );
-        case PSA_ERROR_INSUFFICIENT_ENTROPY:
-            return( MBEDTLS_ERR_ECP_RANDOM_FAILED );
-        case PSA_ERROR_BAD_STATE:
-            return( MBEDTLS_ERR_PK_BAD_INPUT_DATA );
-        default: /* should never happen */
-            return( MBEDTLS_ERR_PK_HW_ACCEL_FAILED );
-    }
-}
-
 /*
  * Simultaneously convert and move raw MPI from the beginning of a buffer
  * to an ASN.1 MPI at the end of the buffer.
@@ -882,7 +858,7 @@
      * buggy anyway). */
     status = psa_get_key_information( *key, NULL, &bits );
     if( status != PSA_SUCCESS )
-        return( pk_err_from_psa( status ) );
+        return( mbedtls_psa_err_translate_pk( status ) );
 
     buf_len = MBEDTLS_ECDSA_MAX_SIG_LEN( bits );
 
@@ -890,7 +866,7 @@
     status = psa_asymmetric_sign( *key, alg, hash, hash_len,
                                         sig, buf_len, sig_len );
     if( status != PSA_SUCCESS )
-        return( pk_err_from_psa( status ) );
+        return( mbedtls_psa_err_translate_pk( status ) );
 
     /* transcode it to ASN.1 sequence */
     return( pk_ecdsa_sig_asn1_from_psa( sig, sig_len, buf_len ) );