rsa: reject buffers with data outside main SEQUENCE when parsing keys

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/library/rsa.c b/library/rsa.c
index f4c0862..2c33869 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -108,7 +108,10 @@
         return ret;
     }
 
-    /* mbedtls_asn1_get_tag() already ensures that len is valid (i.e. p+len <= end)*/
+    if (end != p + len) {
+        return MBEDTLS_ERR_RSA_BAD_INPUT_DATA;
+    }
+
     end = p + len;
 
     if ((ret = mbedtls_asn1_get_int(&p, end, &version)) != 0) {
@@ -241,7 +244,10 @@
         return ret;
     }
 
-    /* mbedtls_asn1_get_tag() already ensures that len is valid (i.e. p+len <= end)*/
+    if (end != p + len) {
+        return MBEDTLS_ERR_RSA_BAD_INPUT_DATA;
+    }
+
     end = p + len;
 
     /* Import N */