Rex Dieter b83b6ab
From 59eb561989f7a7b65c3e9b11d0ac062479013bf2 Mon Sep 17 00:00:00 2001
Rex Dieter b83b6ab
From: Peter Hartmann <phartmann@blackberry.com>
Rex Dieter b83b6ab
Date: Wed, 9 Jul 2014 16:22:44 +0200
Rex Dieter b83b6ab
Subject: [PATCH 47/74] QSslCertificate: blacklist NIC certificates from India
Rex Dieter b83b6ab
Rex Dieter b83b6ab
Those intermediate certificates were used to issue "unauthorized"
Rex Dieter b83b6ab
certificates according to
Rex Dieter b83b6ab
http://googleonlinesecurity.blogspot.de/2014/07/maintaining-digital-certificate-security.html
Rex Dieter b83b6ab
, and are by default trusted on Windows, so to be safe we blacklist
Rex Dieter b83b6ab
them here.
Rex Dieter b83b6ab
Rex Dieter b83b6ab
(backport of commit 916c9d469bd0df227dc3be97fcca27e3cf58144f)
Rex Dieter b83b6ab
Change-Id: I22c6637895dcd21b1f7af73fdd5ca39d4747cf9e
Rex Dieter b83b6ab
Reviewed-by: Richard J. Moore <rich@kde.org>
Rex Dieter b83b6ab
---
Rex Dieter b83b6ab
 src/network/ssl/qsslcertificate.cpp                |  4 ++++
Rex Dieter b83b6ab
 .../blacklisted-nic-india-2007.pem                 | 25 +++++++++++++++++++++
Rex Dieter b83b6ab
 .../blacklisted-nic-india-2011.pem                 | 26 ++++++++++++++++++++++
Rex Dieter b83b6ab
 .../blacklisted-nic-india-2014.pem                 | 26 ++++++++++++++++++++++
Rex Dieter b83b6ab
 4 files changed, 81 insertions(+)
Rex Dieter b83b6ab
 create mode 100644 tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2007.pem
Rex Dieter b83b6ab
 create mode 100644 tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2011.pem
Rex Dieter b83b6ab
 create mode 100644 tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2014.pem
Rex Dieter b83b6ab
Rex Dieter b83b6ab
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
Rex Dieter b83b6ab
index 254f45b..a015880 100644
Rex Dieter b83b6ab
--- a/src/network/ssl/qsslcertificate.cpp
Rex Dieter b83b6ab
+++ b/src/network/ssl/qsslcertificate.cpp
Rex Dieter b83b6ab
@@ -832,6 +832,10 @@ static const char *certificate_blacklist[] = {
Rex Dieter b83b6ab
     "2148",                                            "e-islem.kktcmerkezbankasi.org", // Turktrust mis-issued intermediate certificate
Rex Dieter b83b6ab
 
Rex Dieter b83b6ab
     "204199",                                        "AC DG Tr\xC3\xA9sor SSL", // intermediate certificate linking back to ANSSI French National Security Agency
Rex Dieter b83b6ab
+
Rex Dieter b83b6ab
+    "10115",                                         "NIC Certifying Authority", // intermediate certificate from NIC India (2007)
Rex Dieter b83b6ab
+    "10130",                                         "NIC CA 2011", // intermediate certificate from NIC India (2011)
Rex Dieter b83b6ab
+    "10161",                                         "NIC CA 2014", // intermediate certificate from NIC India (2014)
Rex Dieter b83b6ab
     0
Rex Dieter b83b6ab
 };
Rex Dieter b83b6ab
 
Rex Dieter b83b6ab
diff --git a/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2007.pem b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2007.pem
Rex Dieter b83b6ab
new file mode 100644
Rex Dieter b83b6ab
index 0000000..2106f66
Rex Dieter b83b6ab
--- /dev/null
Rex Dieter b83b6ab
+++ b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2007.pem
Rex Dieter b83b6ab
@@ -0,0 +1,25 @@
Rex Dieter b83b6ab
+-----BEGIN CERTIFICATE-----
Rex Dieter b83b6ab
+MIIENjCCAx6gAwIBAgICJ4MwDQYJKoZIhvcNAQEFBQAwOjELMAkGA1UEBhMCSU4x
Rex Dieter b83b6ab
+EjAQBgNVBAoTCUluZGlhIFBLSTEXMBUGA1UEAxMOQ0NBIEluZGlhIDIwMDcwHhcN
Rex Dieter b83b6ab
+MDcwNzAyMDY0MTU5WhcNMTUwNzA0MDYzMDAwWjCBsDELMAkGA1UEBhMCSU4xJDAi
Rex Dieter b83b6ab
+BgNVBAoTG05hdGlvbmFsIEluZm9ybWF0aWNzIENlbnRyZTEOMAwGA1UECxMFTklD
Rex Dieter b83b6ab
+Q0ExITAfBgNVBAMTGE5JQyBDZXJ0aWZ5aW5nIEF1dGhvcml0eTESMBAGA1UEBxMJ
Rex Dieter b83b6ab
+TmV3IERlbGhpMSQwIgYJKoZIhvcNAQkBFhVzdXBwb3J0QGNhbWFpbC5uaWMuaW4x
Rex Dieter b83b6ab
+DjAMBgNVBAgTBURlbGhpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
Rex Dieter b83b6ab
+wLRKDEWWC1iWcxpVgA7GJEjQVjGIMx9XPLoaMKXiEQdajHgmjKdOhlFkSWiHgiCS
Rex Dieter b83b6ab
+Uo39U0/UoC4rAYzBCcfHWdAGjXNs7dt/cz+muK2aMoPoAgXWLF2A48CJMrTcyNFE
Rex Dieter b83b6ab
+HryIYJeCiK8DTlEhBxL8II9VBx8qKSquizh4MQTmpqvfjHNqd6qCHF6q8W439io5
Rex Dieter b83b6ab
+kVIFnGNd/p0V5HFv0OpWeF/IpKJA1m1lb729FwfsVpqipf7DLVQUKtSjK/32RDtB
Rex Dieter b83b6ab
+hnAmkDlW6IZRPs2F896A5COPSDjJlAeUX8JqDnBOr64bPRgUy0VDnW/soRB3knkn
Rex Dieter b83b6ab
+5w5ueXj3DrgONtjGcBSwVwIDAQABo4HOMIHLMA8GA1UdEwEB/wQFMAMBAf8wEQYD
Rex Dieter b83b6ab
+VR0OBAoECEwne24Nsv9UMBMGA1UdIwQMMAqACE8ewFgn2LjkMAsGA1UdDwQEAwIB
Rex Dieter b83b6ab
+BjCBggYDVR0fBHsweTB3oHWgc4ZxbGRhcDovL25yZGMuY2NhLmdvdi5pbjozODkv
Rex Dieter b83b6ab
+Y249Q0NBIEluZGlhIDIwMDcsb3U9Q0NBIEluZGlhIDIwMDcsbz1JbmRpYSBQS0ks
Rex Dieter b83b6ab
+Yz1JTj9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0O2JpbmFyeT8wDQYJKoZIhvcN
Rex Dieter b83b6ab
+AQEFBQADggEBAKx6RkVgMGQADgl4jTy3qBDq8nvkegDaDnviTUsGzsR6RpooT0xd
Rex Dieter b83b6ab
+wuKiRU0I7p2gAo6uBTMEZtS+XWJz+7xlfo4fao5XIU4e1fxkQuxddM23/J7M4+Uz
Rex Dieter b83b6ab
+3pL7ziK5RcVizhQqz3IjSH440/OoFhUBT5d5WWN0hliEcr7+6nLPAOcAX/qR509a
Rex Dieter b83b6ab
+Djd/aonfyQFCMyfiPpYLx5ElTuqUZeHApJ58+Iprwbu3EIux+C+mfS8QCMY+WYje
Rex Dieter b83b6ab
+aocCIwIutrmoxIXxGy9yV5OKIe2+4wsCT8aNin+6AV7qNTmFVhp+MF50v69ONTO7
Rex Dieter b83b6ab
+w2Sa+ire2N5FgklMW2WTCi8d8rwLzaWuse4=
Rex Dieter b83b6ab
+-----END CERTIFICATE-----
Rex Dieter b83b6ab
diff --git a/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2011.pem b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2011.pem
Rex Dieter b83b6ab
new file mode 100644
Rex Dieter b83b6ab
index 0000000..d3a8c10
Rex Dieter b83b6ab
--- /dev/null
Rex Dieter b83b6ab
+++ b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2011.pem
Rex Dieter b83b6ab
@@ -0,0 +1,26 @@
Rex Dieter b83b6ab
+-----BEGIN CERTIFICATE-----
Rex Dieter b83b6ab
+MIIEWzCCA0OgAwIBAgICJ5IwDQYJKoZIhvcNAQELBQAwOjELMAkGA1UEBhMCSU4x
Rex Dieter b83b6ab
+EjAQBgNVBAoTCUluZGlhIFBLSTEXMBUGA1UEAxMOQ0NBIEluZGlhIDIwMTEwHhcN
Rex Dieter b83b6ab
+MTEwMzExMDgxNTExWhcNMTYwMzExMDYzMDAwWjCByDELMAkGA1UEBhMCSU4xJDAi
Rex Dieter b83b6ab
+BgNVBAoTG05hdGlvbmFsIEluZm9ybWF0aWNzIENlbnRyZTEdMBsGA1UECxMUQ2Vy
Rex Dieter b83b6ab
+dGlmeWluZyBBdXRob3JpdHkxDzANBgNVBBETBjExMDAwMzEOMAwGA1UECBMFRGVs
Rex Dieter b83b6ab
+aGkxHjAcBgNVBAkTFUxvZGhpIFJvYWQsIE5ldyBEZWxoaTEdMBsGA1UEMwwUQS1C
Rex Dieter b83b6ab
+bG9jaywgQ0dPIENvbXBsZXgxFDASBgNVBAMTC05JQyBDQSAyMDExMIIBIjANBgkq
Rex Dieter b83b6ab
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7J/N88MoXcCHTz4A5DKF59+8kvSnriGr
Rex Dieter b83b6ab
+TEowLSa5NCvH+o89+Mf7V260kKZJ/hQox5RG/F8/gY7u9ziLeypbedeG8EIl88HC
Rex Dieter b83b6ab
+4x9hT0SNLsrj9qo90waDuGYB4/KQ8q5E6ivVxxV0epzQfFA5A5biKltPBbku/M4D
Rex Dieter b83b6ab
+iZ+TqBbHxo6nRUEZoukJi0+JLykGI4VpJlQBzow04omxQUZHzvCffo6QvN6FdzZ0
Rex Dieter b83b6ab
+MopwqaggyfHDFu9o4elCR9Kd/obYlgXAHLYwJlN0pybbe2WpKj81/pxDhKgxrVN+
Rex Dieter b83b6ab
+OZaI5OMBBkjDRQG+ZyEnQb8XYMNPJbOgQGYgsRdPPjIn7poTzxe7SQIDAQABo4Hb
Rex Dieter b83b6ab
+MIHYMBIGA1UdEwEB/wQIMAYBAf8CAQEwEQYDVR0OBAoECE5VT66z36FmMBIGA1Ud
Rex Dieter b83b6ab
+IAQLMAkwBwYFYIJkZAIwEwYDVR0jBAwwCoAITQeoY/LbHN8wLgYIKwYBBQUHAQEE
Rex Dieter b83b6ab
+IjAgMB4GCCsGAQUFBzABhhJodHRwOi8vb2N2cy5nb3YuaW4wDgYDVR0PAQH/BAQD
Rex Dieter b83b6ab
+AgEGMEYGA1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9jY2EuZ292LmluL3J3L3Jlc291
Rex Dieter b83b6ab
+cmNlcy9DQ0FJbmRpYTIwMTFMYXRlc3QuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQB5
Rex Dieter b83b6ab
+LCqtHbxfO72KRWJbW9dAHNh2xh8n7wstNgSPHLbjL5B0l7RZlCFauy4fjc2faMiB
Rex Dieter b83b6ab
+xnOq5oEXeIZBrT2NkuEymQ8f0Pzm3pcXrMkFrj78SiA07/cPQShBKKpw39t6puJV
Rex Dieter b83b6ab
+8ykiVZMZvSCjCzzZZlVO12b2ChADkf6wtseftx5O/zBsqP3Y2+3+KvEeDVtuseKu
Rex Dieter b83b6ab
+FV2OxSsqSfffJq7IYTwpRPOVzHGJnjV3Igtj3zAzZm8CWxRM/yhnkGyVc+xz/T7o
Rex Dieter b83b6ab
+WY0870eciR+bmLjZ9j0opudZR6e+lCsMHH2Lxc8C/0XRcCzcganxfWCb/fb0gx44
Rex Dieter b83b6ab
+iY0a+wWCVebjuyKU/BXk
Rex Dieter b83b6ab
+-----END CERTIFICATE-----
Rex Dieter b83b6ab
diff --git a/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2014.pem b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2014.pem
Rex Dieter b83b6ab
new file mode 100644
Rex Dieter b83b6ab
index 0000000..5467086
Rex Dieter b83b6ab
--- /dev/null
Rex Dieter b83b6ab
+++ b/tests/auto/qsslcertificate/more-certificates/blacklisted-nic-india-2014.pem
Rex Dieter b83b6ab
@@ -0,0 +1,26 @@
Rex Dieter b83b6ab
+-----BEGIN CERTIFICATE-----
Rex Dieter b83b6ab
+MIIEWzCCA0OgAwIBAgICJ7EwDQYJKoZIhvcNAQELBQAwOjELMAkGA1UEBhMCSU4x
Rex Dieter b83b6ab
+EjAQBgNVBAoTCUluZGlhIFBLSTEXMBUGA1UEAxMOQ0NBIEluZGlhIDIwMTQwHhcN
Rex Dieter b83b6ab
+MTQwMzA1MTExNTI0WhcNMjQwMzA1MDYzMDAwWjCByDELMAkGA1UEBhMCSU4xJDAi
Rex Dieter b83b6ab
+BgNVBAoTG05hdGlvbmFsIEluZm9ybWF0aWNzIENlbnRyZTEdMBsGA1UECxMUQ2Vy
Rex Dieter b83b6ab
+dGlmeWluZyBBdXRob3JpdHkxDzANBgNVBBETBjExMDAwMzEOMAwGA1UECBMFRGVs
Rex Dieter b83b6ab
+aGkxHjAcBgNVBAkTFUxvZGhpIFJvYWQsIE5ldyBEZWxoaTEdMBsGA1UEMxMUQS1C
Rex Dieter b83b6ab
+bG9jaywgQ0dPIENvbXBsZXgxFDASBgNVBAMTC05JQyBDQSAyMDE0MIIBIjANBgkq
Rex Dieter b83b6ab
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/OQ56Ge9MhJiBwtOlCJP4p5gjcCuqkQ2
Rex Dieter b83b6ab
+6BCSQgfAsxyNxAwtL1f0h3d5KNFIInIG2Y9PwBgUrgavOWy2cZICxgXIGaOzK5bI
Rex Dieter b83b6ab
+TyGhxYMPUzkazGppfj0ScW7Ed/kjeDnic3WlYkPwtNaV1qwTElr8zqPUtT27ZDqd
Rex Dieter b83b6ab
+6upor9MICngXAC1tHjhPuGrGtu4i6FMPrmkofwdh8dkuRzU/OPjf9lA+E9Qu0Nvq
Rex Dieter b83b6ab
+soI9grJA0etgRfn9juR4X3KTG21qHnza50PpMYC4+vh8jAnIT7Kcz8Ggr4eghkvP
Rex Dieter b83b6ab
++iz2yEtIcV9M1xeo98XU/jxuYS7LeWtO79jkiqCIqgI8T3x7LHuCaQIDAQABo4Hb
Rex Dieter b83b6ab
+MIHYMBIGA1UdEwEB/wQIMAYBAf8CAQEwEQYDVR0OBAoECEZwyi8lTsNHMBIGA1Ud
Rex Dieter b83b6ab
+IAQLMAkwBwYFYIJkZAIwEwYDVR0jBAwwCoAIQrjFz22zV+EwLgYIKwYBBQUHAQEE
Rex Dieter b83b6ab
+IjAgMB4GCCsGAQUFBzABhhJodHRwOi8vb2N2cy5nb3YuaW4wDgYDVR0PAQH/BAQD
Rex Dieter b83b6ab
+AgEGMEYGA1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9jY2EuZ292LmluL3J3L3Jlc291
Rex Dieter b83b6ab
+cmNlcy9DQ0FJbmRpYTIwMTRMYXRlc3QuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQCB
Rex Dieter b83b6ab
+i3iJeUlkfjY96HgfBIUEsLi+knO3VUrxDmwps1YyhgRSt22NQLZ4jksSWLI2EQbn
Rex Dieter b83b6ab
+9k5tH8rwSbsOWf+TZH7jpaKAVSYi1GhEbGR/C2ZeFiWATwtPWKoVGwx/ksUO9YPM
Rex Dieter b83b6ab
+zf0wh6fDIuyBJIs/nuN93+L2ib+TS5viNky+HrR3XyqE0z43W5bbzMbido3lbwgr
Rex Dieter b83b6ab
+drMWD6hCNSZs888L0Se4rn2ei0aPmHmxjDjbExF3NF6m2uYC/wAR4cVIzMvvptFY
Rex Dieter b83b6ab
+n+SAdG/pwkKHaMVncB/cxxEWiKzOxVpjBsM4N19lpxp2RU/n+x7xRK3WTQvNAZdU
Rex Dieter b83b6ab
+7pcAYmZIXPu/ES9qpK4f
Rex Dieter b83b6ab
+-----END CERTIFICATE-----
Rex Dieter b83b6ab
-- 
Rex Dieter b83b6ab
1.9.3
Rex Dieter b83b6ab