@@ -782,25 +782,17 @@ static int pk_parse_key_pkcs1_der( mbedtls_rsa_context *rsa,
782
782
*/
783
783
784
784
/* Import DP */
785
- if ( ( ret = mbedtls_asn1_get_tag ( & p , end , & len ,
786
- MBEDTLS_ASN1_INTEGER ) ) != 0 ||
787
- ( ret = mbedtls_mpi_read_binary ( & rsa -> DP , p , len ) ) != 0 )
788
- goto cleanup ;
789
- p += len ;
785
+ if ( ( ret = mbedtls_asn1_get_mpi ( & p , end , & rsa -> DP ) ) != 0 )
786
+ goto cleanup ;
790
787
791
788
/* Import DQ */
792
- if ( ( ret = mbedtls_asn1_get_tag ( & p , end , & len ,
793
- MBEDTLS_ASN1_INTEGER ) ) != 0 ||
794
- ( ret = mbedtls_mpi_read_binary ( & rsa -> DQ , p , len ) ) != 0 )
795
- goto cleanup ;
796
- p += len ;
789
+ if ( ( ret = mbedtls_asn1_get_mpi ( & p , end , & rsa -> DQ ) ) != 0 )
790
+ goto cleanup ;
797
791
798
792
/* Import QP */
799
- if ( ( ret = mbedtls_asn1_get_tag ( & p , end , & len ,
800
- MBEDTLS_ASN1_INTEGER ) ) != 0 ||
801
- ( ret = mbedtls_mpi_read_binary ( & rsa -> QP , p , len ) ) != 0 )
802
- goto cleanup ;
803
- p += len ;
793
+ if ( ( ret = mbedtls_asn1_get_mpi ( & p , end , & rsa -> QP ) ) != 0 )
794
+ goto cleanup ;
795
+
804
796
#else
805
797
/* Verify existance of the CRT params */
806
798
if ( ( ret = mbedtls_asn1_get_mpi ( & p , end , & T ) ) != 0 ||
0 commit comments