diff --git a/library/pkparse.c b/library/pkparse.c
index ac631d9..7df30fe 100644
--- a/library/pkparse.c
+++ b/library/pkparse.c
@@ -782,25 +782,17 @@
     */
 
     /* Import DP */
-    if( ( ret = mbedtls_asn1_get_tag( &p, end, &len,
-                                      MBEDTLS_ASN1_INTEGER ) ) != 0 ||
-        ( ret = mbedtls_mpi_read_binary( &rsa->DP, p, len ) ) != 0 )
-        goto cleanup;
-    p += len;
+    if( ( ret = mbedtls_asn1_get_mpi( &p, end, &rsa->DP ) ) != 0)
+       goto cleanup;
 
     /* Import DQ */
-    if( ( ret = mbedtls_asn1_get_tag( &p, end, &len,
-                                      MBEDTLS_ASN1_INTEGER ) ) != 0 ||
-        ( ret = mbedtls_mpi_read_binary( &rsa->DQ, p, len ) ) != 0 )
-        goto cleanup;
-    p += len;
+    if( ( ret = mbedtls_asn1_get_mpi( &p, end, &rsa->DQ ) ) != 0)
+       goto cleanup;
 
     /* Import QP */
-    if( ( ret = mbedtls_asn1_get_tag( &p, end, &len,
-                                      MBEDTLS_ASN1_INTEGER ) ) != 0 ||
-        ( ret = mbedtls_mpi_read_binary( &rsa->QP, p, len ) ) != 0 )
-        goto cleanup;
-    p += len;
+    if( ( ret = mbedtls_asn1_get_mpi( &p, end, &rsa->QP ) ) != 0)
+       goto cleanup;
+
 #else
     /* Verify existance of the CRT params */
     if( ( ret = mbedtls_asn1_get_mpi( &p, end, &T ) ) != 0 ||
