Some more EC pubkey parsing refactoring
Fix a bug in pk_rsa() and pk_ec() along the way
diff --git a/library/asn1parse.c b/library/asn1parse.c
index 5b86aa6..f6b79ef 100644
--- a/library/asn1parse.c
+++ b/library/asn1parse.c
@@ -209,6 +209,24 @@
return 0;
}
+/*
+ * Get a bit string without unused bits
+ */
+int asn1_get_bitstring_null( unsigned char **p, const unsigned char *end,
+ size_t *len )
+{
+ int ret;
+
+ if( ( ret = asn1_get_tag( p, end, len, ASN1_BIT_STRING ) ) != 0 )
+ return( ret );
+
+ if( --*len < 1 || *(*p)++ != 0 )
+ return( POLARSSL_ERR_ASN1_INVALID_DATA );
+
+ return( 0 );
+}
+
+
/*
* Parses and splits an ASN.1 "SEQUENCE OF <tag>"