|
@@ -633,6 +633,39 @@ authority_cert_dl_failed(const char *id_digest,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static const char *BAD_SIGNING_KEYS[] = {
|
|
|
+ "09CD84F751FD6E955E0F8ADB497D5401470D697E",
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ "87326329007AF781F587AF5B594E540B2B6C7630",
|
|
|
+ "98CC82342DE8D298CF99D3F1A396475901E0D38E",
|
|
|
+ "9904B52336713A5ADCB13E4FB14DC919E0D45571",
|
|
|
+ "9DCD8E3F1DD1597E2AD476BBA28A1A89F3095227",
|
|
|
+ "A61682F34B9BB9694AC98491FE1ABBFE61923941",
|
|
|
+ "B59F6E99C575113650C99F1C425BA7B20A8C071D",
|
|
|
+ "D27178388FA75B96D37FA36E0B015227DDDBDA51",
|
|
|
+ NULL,
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
+int
|
|
|
+authority_cert_is_blacklisted(const authority_cert_t *cert)
|
|
|
+{
|
|
|
+ char hex_digest[HEX_DIGEST_LEN+1];
|
|
|
+ int i;
|
|
|
+ base16_encode(hex_digest, sizeof(hex_digest),
|
|
|
+ cert->signing_key_digest, sizeof(cert->signing_key_digest));
|
|
|
+
|
|
|
+ for (i = 0; BAD_SIGNING_KEYS[i]; ++i) {
|
|
|
+ if (!strcasecmp(hex_digest, BAD_SIGNING_KEYS[i])) {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
* download the certificate with ID digest <b>id_digest</b> that we're willing
|
|
|
* to start bugging the user about it. */
|