lib: rsa: check algo match in rsa_verify_with_keynode
[platform/kernel/u-boot.git] / lib / rsa / rsa-verify.c
index 2057f68..b9c800c 100644 (file)
@@ -439,12 +439,17 @@ static int rsa_verify_with_keynode(struct image_sign_info *info,
        struct key_prop prop;
        int length;
        int ret = 0;
+       const char *algo;
 
        if (node < 0) {
                debug("%s: Skipping invalid node", __func__);
                return -EBADF;
        }
 
+       algo = fdt_getprop(blob, node, "algo", NULL);
+       if (strcmp(info->name, algo))
+               return -EFAULT;
+
        prop.num_bits = fdtdec_get_int(blob, node, "rsa,num-bits", 0);
 
        prop.n0inv = fdtdec_get_int(blob, node, "rsa,n0-inverse", 0);