|
@@ -249,6 +249,15 @@ int x509_note_signature(void *context, size_t hdrlen,
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (strcmp(ctx->cert->sig->pkey_algo, "rsa") == 0) {
|
|
|
|
+ /* Discard the BIT STRING metadata */
|
|
|
|
+ if (vlen < 1 || *(const u8 *)value != 0)
|
|
|
|
+ return -EBADMSG;
|
|
|
|
+
|
|
|
|
+ value++;
|
|
|
|
+ vlen--;
|
|
|
|
+ }
|
|
|
|
+
|
|
ctx->cert->raw_sig = value;
|
|
ctx->cert->raw_sig = value;
|
|
ctx->cert->raw_sig_size = vlen;
|
|
ctx->cert->raw_sig_size = vlen;
|
|
return 0;
|
|
return 0;
|