rsa: handle buffer length similarly in private and public key parsing

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/library/rsa.c b/library/rsa.c
index f4add91..b250e1d 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -109,6 +109,10 @@
 
     end = p + len;
 
+    if (end > (key + keylen)) {
+        return MBEDTLS_ERR_ASN1_LENGTH_MISMATCH;
+    }
+
     if ((ret = mbedtls_asn1_get_int(&p, end, &version)) != 0) {
         return ret;
     }
@@ -239,7 +243,9 @@
         return ret;
     }
 
-    if (p + len != end) {
+    end = p + len;
+
+    if (end > (key + keylen)) {
         return MBEDTLS_ERR_ASN1_LENGTH_MISMATCH;
     }