In dit artikel beschrijft Matthew McPherrin hoe hij oude 512-bit RSA-sleutels van de inmiddels opgeheven Canadese Certificate Authority (CA) E-Certify heeft gefactoreerd. Door gebruik te maken van archieven van oude browsers (Netscape en Internet Explorer) en de tool CADO-NFS op een Ryzen 9 5950X, wist hij de privésleutels te reconstrueren.
Om de aanval te bewijzen, bouwde hij een aangepaste TLS-server in Go en richtte hij een virtuele machine met Netscape 4.51 in. Hiermee demonstreert hij dat men met deze sleutels certificaten kan uitgeven die door oude software nog als vertrouwd worden gezien. Daarnaast factoriseerde hij als bonus een test-sleutel van VeriSign uit Internet Explorer 3.02. De resultaten en tools zijn gedeeld in een publieke GitHub-repository.
Ik heb de RSA-sleutels van een Certificate Authority gefactoreerd
Ik heb de RSA-sleutels van een Certificate Authority gefactoreerd... uit de jaren 90.
Ik heb de laatste tijd nagedacht over de veiligheid van RSA. De cryptografie van RSA is gebaseerd op de moeilijkheid van het factoriseren van een groot semiprimgetal, maar wat "groot" precies betekent, is een interessante vraag. De Web PKI heeft RSA met 1024-bit meer dan tien jaar geleden afgeschreven. Hoewel ik niemand ken die een sleutel van die omvang heeft gefactoreerd, is het binnen het bereik van een overheid of andere organisatie met een groot aantal computers. Slechts enkele dagen geleden heeft iemand de 862-bit RSA-260 sleutel uit de RSA-factoring challenge gefactoreerd. Dat is de grootste factorisatie die ik ken. Tegenwoordig gebruikt de wereld RSA van minstens 2048 bits, maar zelfs dat zal binnenkort worden afgeschreven vanwege het risico van quantumcomputers in de toekomst.
Dit leidde mij tot de vraag: kleine RSA-sleutels kunnen worden gefactoreerd op zelfs een bescheiden desktopcomputer. In de beginjaren van de Web PKI waren er geen standaarden en geen minimumeisen. Netscape introduceerde SSL-ondersteuning in 1994, en Internet Explorer kort daarna. Dit was nog het tijdperk van exportrestricties op cryptografie. Zijn er sleutels die klein genoeg zijn voor mij om te factoriseren? Ik heb geen dringende reden om dat te doen, maar het leek me leuk.
Het antwoord is natuurlijk ja, maar eerst moeten we een sleutel vinden om te kraken.
Gelukkig werden root-certificaten meegeleverd met browserinstallaties, en er zijn archieven van zowel Internet Explorer als Netscape op archive.org. De archieven zijn niet volledig, maar ze zouden een goede dekking moeten bieden van oude root-CA's. Ik heb beide collecties gedownload en Claude Code ingezet om alle roots te extraheren. Ik heb een door Claude gegenereerde webpagina gehost met al die oude, antieke roots. Hoewel ik niet heb geverifieerd of deze LLM-output volledig betrouwbaar is, ziet het er plausibel uit.
Met behulp van de filters op die site kunnen we vinden welke kleine sleutels worden vertrouwd voor SSL. En voilà! We hebben een doelwit. In maart 1999 leverde Netscape 4.51 een 512-bit RSA-certificaatautoriteit die werd vertrouwd voor SSL, en een andere voor S/MIME. Deze twee roots waren beide afkomstig van de inmiddels opgeheven Canadese certificaatautoriteit genaamd E-Certify.
Later dat jaar werd de 512-bit RSA-155 gefactoreerd, dus zelfs in die tijd was dit te zwak en had het waarschijnlijk nooit uitgebracht mogen worden. De 512-bit roots van E-Certify werden in 2002 door Netscape verwijderd. Helaas lijkt Internet Explorer nooit 512-bit roots voor SSL te hebben geleverd, dus ons plezier zal beperkt blijven tot Netscape binnen een relatief kort tijdsbestek.
Het factoriseren van de publieke sleutels in de root-certificaten levert mij de twee priemgetallen op die ik nodig heb om de privésleutel te reconstrueren. Ik heb CADO-NFS gedraaid op mijn Ryzen 9 5950X desktop; het duurde 32 uur om de E-Certify RSA 512 Gold Server voor SSL te factoriseren, en nog eens 29 uur voor de E-Certify RSA 512 Gold Client voor S/MIME. De resulterende privésleutels vind je hieronder.
Stel dat je op någon manier Netscape 4.51 draait met een klok die is ingesteld op een datum vóórdat de E-Certify roots op 16-10-2003 verliepen, dan kun je deze privésleutels gebruiken om certificaten uit te geven. Dit beschrijft nul mensen op deze planeet... behalve voor deze VM die ik heb opgezet.
Het verifiëren of de uitgegeven certificaten zouden werken in Netscape 4.51 was een avontuur op zich, aangezien er geen enkele overlap is in TLS-mogelijkheden tussen Netscape 4.51 en elke moderne TLS-stack. Dus ging ik terug naar Claude Code om een aangepaste, ouderwetse TLS-server in Go te maken. Deze site is publiekelijk gehost op e-certify.fly.dev, waar je welkom bent om het uit te proberen met je eigen kopie van Netscape, maar hij zal niet laden in een moderne browser.
Als je je eigen website wilt hosten met deze oude sleutels, dan staan de sleutels en tools allemaal in de repo op: https://github.com/mcpherrinm/ancientroots.
Of doe iets erger, zoals het uitvoeren van een MitM-aanval op de SSL van al die Netscape 4.51-gebruikers die hun klok op 25 jaar geleden hebben staan...
E-Certify RSA 512 Gold Server (SSL)
C=CA, O=E-Certify, OU=RSA Gold Server, CN=E-Certify RSA 512 Gold Server
-----BEGIN CERTIFICATE-----
MIIByjCCAXSgAwIBAgIBATANBgkqhkiG9w0BAQQFADBjMQswCQYDVQQGEwJDQTES
MBAGA1UEChMJRS1DZXJ0aWZ5MRgwFgYDVQQLEw9SU0EgR29sZCBTZXJ2ZXIxJjAk
BgNVBAMTHUUtQ2VydGlmeSBSU0EgNTEyIEdvbGQgU2VydmVyMB4XDTk4MTAxNjEz
Mzc1M1oXDTAzMTAxNjEzMzc1M1owYzELMAkGA1UEBhMCQ0ExEjAQBgNVBAoTCUUt
Q2VydGlmeTEYMBYGA1UECxMPUlNBIEdvbGQgU2VydmVyMSYwJAYDVQQDEx1FLUNl
cnRpZnkgUlNBIDUxMiBHb2xkIFNlcnZlcjBcMA0GCSqGSIb3DQEBAQUAA0sAMEgC
QQDNVQ93Ev7zgNaJAR1Z7gCydU6mky1e/B4EbY1NsdtfsitU9cELqg5uRJDPA40n
CDPeOyil1lJ5N8hekcqJAkkXAgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
KoZIhvcNAQEEBQADQQB09SV6OeeDEP8Je3DOLNZ24U98NHqIBTDyB4sRpDmNdHum
+3rm4AYtznBxG5hEShO89bcWi3yJtBITGuTRDnMq
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBAM1VD3cS/vOA1okBHVnuALJ1TqaTLV78HgRtjU2x21+yK1T1wQuq
Dm5EkM8DjScIM947KKXWUnk3yF6RyokCSRcCAwEAAQJAWZ2FOWf+A9K4T2VAJS69
+SU/pW3YwHrysuYJZN56K0Iz+Hqd1hBhCeJ3/T+/cvXq+ctD0x3uOxU1rDSeCoMO
KQIhAPdbc1wTm3twWDYi1iXmRBXz97MYxRFld/KFr8x5+tK9AiEA1IG09a+oVg6j
NMDj6GD7spaD4q9t1wk/Nyq/MTLPkmMCIEzzYjvuzZvlI0wUIlLAA8Zgk1pgBk6X
Jm2IMVyHRgRxAiEAjZKgCTHuVu7HgiSjcTPzW0X1NTckWSc66zjaSR+Ns/sCICxT
yXoTXWQCWL6BMpf2no7IlvoEnBIrED2Frq3PxlEA
-----END RSA PRIVATE KEY-----
E-Certify RSA 512 Gold Client (S/MIME)
C=CA, O=E-Certify, OU=RSA Gold Client, CN=E-Certify RSA 512 Gold Client
-----BEGIN CERTIFICATE-----
MIIByjCCAXSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADBjMQswCQYDVQQGEwJDQTES
MBAGA1UEChMJRS1DZXJ0aWZ5MRgwFgYDVQQLEw9SU0EgR29sZCBDbGllbnQxJjAk
BgNVBAMTHUUtQ2VydGlmeSBSU0EgNTEyIEdvbGQgQ2xpZW50MB4XDTk4MTAxNjEz
MzQwOFoXDTAzMTAxNjEzMzQwOFowYzELMAkGA1UEBhMCQ0ExEjAQBgNVBAoTCUUt
Q2VydGlmeTEYMBYGA1UECxMPUlNBIEdvbGQgQ2xpZW50MSYwJAYDVQQDEx1FLUNl
cnRpZnkgUlNBIDUxMiBHb2xkIENsaWVudDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgC
QQBwCcT1iYlNyKPywB/kffD8esiCzGYJxSnTXQjU6ej/XxnA+9yqjzAMPtqFd094
wM89Vsmz9YOWSO6Qn6wOAs45AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
KoZIhvcNAQEEBQADQQAdktdM5AzW+0o96eHCHwD3UfzxPvjKxPEjiI/QTn+njHt/
BEJb9yZatONRckglVc9v8P8Dy8HZGQD0+Pn0uxhW
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOQIBAAJAcAnE9YmJTcij8sAf5H3w/HrIgsxmCcUp010I1Ono/18ZwPvcqo8w
DD7ahXdPeMDPPVbJs/WDlkjukJ+sDgLOOQIDAQABAkASXZeaxFPsm0I8zb+snfR9
/saVolnrqhVEH5EODdXy3nSm6fpdrsDwQDDg52biXjIUizQYdd3OourOn0/PyyiB
AiEAyW4gFFgM0dJ+Y//vrIyQutLeH/5c/Vq3Lbcxv7R908kCIQCOZAAv8OCG/2oH
yKaYj/EoxcFZ9csVh/kjicO/JIX+8QIhAMEzAkvhBDLALYAmvDCJBkxa8rhHFdPf
jbCodGwGZ2WZAiB//XmBnlZkYl/PoVfGmNRgHun+0AZ9UxzqCeJvBQiBMQIgHWlr
0Sh1a8K2pQP2ktgmL3RH5+1Qd2wLx/hhGWtwPvU=
-----END RSA PRIVATE KEY-----
Bonus: VeriSign Code Signing CA
Als bonus leverde Internet Explorer 3.02 een code signing CA mee genaamd OU=Test VeriSign Commercial Software Publisher CA. Ik weet niet precies waar dat voor diende, maar deze was net zo eenvoudig te factoriseren. Er staan nog een paar andere test-achtige 512-bit RSA-sleutels in de ancient roots repo, dus je zou kunnen proberen er nog meer te factoriseren of uitzoeken waar ze voor gebruikt konden worden!
L=Internet, O=VeriSign, Inc., OU=Test VeriSign Commercial Software Publisher CA
-----BEGIN CERTIFICATE-----
MIIByDCCAXKgAwIBAgIQIsTi2AgEp+1OkpqVLROnazANBgkqhkiG9w0BAQQFADBl
MREwDwYDVQQHEwhSbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1
BgNVBAsTLlRlc3QgVmVyaVNpZ24gQ29tbWVyY2lhbCBTb2Z0d2FyZSBQdWJsaXNo
ZXIgQ0EwHhcNOTYwNTAyMTcwMTUyWhcNOTcwNTAyMTcwMTUyWjBlMREwDwYDVQQH
EwhSbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLlRl
c3QgVmVyaVNpZ24gQ29tbWVyY2lhbCBTb2Z0d2FyZSBQdWJsaXNoZXIgQ0EwXDAN
BgkqhkiG9w0BAQEFAANLADBIAkEA1XqTpg1hQWq6IKvBXLor12GBTH6y4BHyOJjy
MJISn0ZWBqkbZiEfoWgaWXhEwrvxMWonLA2vYFHijofFG4YIjwIDAQABMA0GCSqG
SIb3DQEBBAUAA0EAKxuR/KPJPDNJgw0ORqqM7SlvIeqnVP71OEFytqPaZw/3TPEi
9oK6PzBvPdLBZlnjRd/hf58FW2+/PXxsFl78Mg==
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBANV6k6YNYUFquiCrwVy6K9dhgUx+suAR8jiY8jCSEp9GVgapG2Yh
H6FoGll4RMK78TFqJywNr2BR4o6HxRuGCI8CAwEAAQJAYM8tlegLarcToS1CiuKC
bzHwiNgMFkENL01sx0n21/MhmA6pBiSwVn3Pu6yvx6EMB1zbCsaBHs/VTyofMbRW
QQIhAOqdAX3bVZwAlZ5FDWyfGwgE0FXEIQ85kjcihrFeDs49AiEA6PBfC0YuNMSa
M135mH+MEY1GEmQe9xHcXpiYAPazCrsCIQDDtuw6oJEfDYHCwRn8xhGXs+RT18Q4
Xi9yXRP9vFgfhQIhAIYUTfD0XYZcIBIvJosj56D2u328iaJXcow0s1Hirp4fAiAG
bza0Qcc27d/0OzKOqep3JrDl/L5HidTj2XEqEXmnXw==
-----END RSA PRIVATE KEY-----
En tot slot: SSL Labs vindt mijn testsite geweldig.
Ik heb de RSA-sleutels van een Certificate Authority gefactoreerd
Ik heb de RSA-sleutels van een Certificate Authority gefactoreerd... uit de jaren 90.
Ik heb de laatste tijd nagedacht over de veiligheid van RSA. De cryptografie van RSA is gebaseerd op de moeilijkheid van het factoriseren van een groot semiprimgetal, maar wat "groot" precies betekent, is een interessante vraag. De Web PKI heeft RSA met 1024-bit meer dan tien jaar geleden afgeschreven. Hoewel ik niemand ken die een sleutel van die omvang heeft gefactoreerd, is het binnen het bereik van een overheid of andere organisatie met een groot aantal computers. Slechts enkele dagen geleden heeft iemand de 862-bit RSA-260 sleutel uit de RSA-factoring challenge gefactoreerd. Dat is de grootste factorisatie die ik ken. Tegenwoordig gebruikt de wereld RSA van minstens 2048 bits, maar zelfs dat zal binnenkort worden afgeschreven vanwege het risico van quantumcomputers in de toekomst.
Dit leidde mij tot de vraag: kleine RSA-sleutels kunnen worden gefactoreerd op zelfs een bescheiden desktopcomputer. In de beginjaren van de Web PKI waren er geen standaarden en geen minimumeisen. Netscape introduceerde SSL-ondersteuning in 1994, en Internet Explorer kort daarna. Dit was nog het tijdperk van exportrestricties op cryptografie. Zijn er sleutels die klein genoeg zijn voor mij om te factoriseren? Ik heb geen dringende reden om dat te doen, maar het leek me leuk.
Het antwoord is natuurlijk ja, maar eerst moeten we een sleutel vinden om te kraken.
Gelukkig werden root-certificaten meegeleverd met browserinstallaties, en er zijn archieven van zowel Internet Explorer als Netscape op archive.org. De archieven zijn niet volledig, maar ze zouden een goede dekking moeten bieden van oude root-CA's. Ik heb beide collecties gedownload en Claude Code ingezet om alle roots te extraheren. Ik heb een door Claude gegenereerde webpagina gehost met al die oude, antieke roots. Hoewel ik niet heb geverifieerd of deze LLM-output volledig betrouwbaar is, ziet het er plausibel uit.
Met behulp van de filters op die site kunnen we vinden welke kleine sleutels worden vertrouwd voor SSL. En voilà! We hebben een doelwit. In maart 1999 leverde Netscape 4.51 een 512-bit RSA-certificaatautoriteit die werd vertrouwd voor SSL, en een andere voor S/MIME. Deze twee roots waren beide afkomstig van de inmiddels opgeheven Canadese certificaatautoriteit genaamd E-Certify.
Later dat jaar werd de 512-bit RSA-155 gefactoreerd, dus zelfs in die tijd was dit te zwak en had het waarschijnlijk nooit uitgebracht mogen worden. De 512-bit roots van E-Certify werden in 2002 door Netscape verwijderd. Helaas lijkt Internet Explorer nooit 512-bit roots voor SSL te hebben geleverd, dus ons plezier zal beperkt blijven tot Netscape binnen een relatief kort tijdsbestek.
Het factoriseren van de publieke sleutels in de root-certificaten levert mij de twee priemgetallen op die ik nodig heb om de privésleutel te reconstrueren. Ik heb CADO-NFS gedraaid op mijn Ryzen 9 5950X desktop; het duurde 32 uur om de E-Certify RSA 512 Gold Server voor SSL te factoriseren, en nog eens 29 uur voor de E-Certify RSA 512 Gold Client voor S/MIME. De resulterende privésleutels vind je hieronder.
Stel dat je op någon manier Netscape 4.51 draait met een klok die is ingesteld op een datum vóórdat de E-Certify roots op 16-10-2003 verliepen, dan kun je deze privésleutels gebruiken om certificaten uit te geven. Dit beschrijft nul mensen op deze planeet... behalve voor deze VM die ik heb opgezet.
Het verifiëren of de uitgegeven certificaten zouden werken in Netscape 4.51 was een avontuur op zich, aangezien er geen enkele overlap is in TLS-mogelijkheden tussen Netscape 4.51 en elke moderne TLS-stack. Dus ging ik terug naar Claude Code om een aangepaste, ouderwetse TLS-server in Go te maken. Deze site is publiekelijk gehost op e-certify.fly.dev, waar je welkom bent om het uit te proberen met je eigen kopie van Netscape, maar hij zal niet laden in een moderne browser.
Als je je eigen website wilt hosten met deze oude sleutels, dan staan de sleutels en tools allemaal in de repo op: https://github.com/mcpherrinm/ancientroots.
Of doe iets erger, zoals het uitvoeren van een MitM-aanval op de SSL van al die Netscape 4.51-gebruikers die hun klok op 25 jaar geleden hebben staan...
E-Certify RSA 512 Gold Server (SSL)
C=CA, O=E-Certify, OU=RSA Gold Server, CN=E-Certify RSA 512 Gold Server
-----BEGIN CERTIFICATE-----
MIIByjCCAXSgAwIBAgIBATANBgkqhkiG9w0BAQQFADBjMQswCQYDVQQGEwJDQTES
MBAGA1UEChMJRS1DZXJ0aWZ5MRgwFgYDVQQLEw9SU0EgR29sZCBTZXJ2ZXIxJjAk
BgNVBAMTHUUtQ2VydGlmeSBSU0EgNTEyIEdvbGQgU2VydmVyMB4XDTk4MTAxNjEz
Mzc1M1oXDTAzMTAxNjEzMzc1M1owYzELMAkGA1UEBhMCQ0ExEjAQBgNVBAoTCUUt
Q2VydGlmeTEYMBYGA1UECxMPUlNBIEdvbGQgU2VydmVyMSYwJAYDVQQDEx1FLUNl
cnRpZnkgUlNBIDUxMiBHb2xkIFNlcnZlcjBcMA0GCSqGSIb3DQEBAQUAA0sAMEgC
QQDNVQ93Ev7zgNaJAR1Z7gCydU6mky1e/B4EbY1NsdtfsitU9cELqg5uRJDPA40n
CDPeOyil1lJ5N8hekcqJAkkXAgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
KoZIhvcNAQEEBQADQQB09SV6OeeDEP8Je3DOLNZ24U98NHqIBTDyB4sRpDmNdHum
+3rm4AYtznBxG5hEShO89bcWi3yJtBITGuTRDnMq
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBAM1VD3cS/vOA1okBHVnuALJ1TqaTLV78HgRtjU2x21+yK1T1wQuq
Dm5EkM8DjScIM947KKXWUnk3yF6RyokCSRcCAwEAAQJAWZ2FOWf+A9K4T2VAJS69
+SU/pW3YwHrysuYJZN56K0Iz+Hqd1hBhCeJ3/T+/cvXq+ctD0x3uOxU1rDSeCoMO
KQIhAPdbc1wTm3twWDYi1iXmRBXz97MYxRFld/KFr8x5+tK9AiEA1IG09a+oVg6j
NMDj6GD7spaD4q9t1wk/Nyq/MTLPkmMCIEzzYjvuzZvlI0wUIlLAA8Zgk1pgBk6X
Jm2IMVyHRgRxAiEAjZKgCTHuVu7HgiSjcTPzW0X1NTckWSc66zjaSR+Ns/sCICxT
yXoTXWQCWL6BMpf2no7IlvoEnBIrED2Frq3PxlEA
-----END RSA PRIVATE KEY-----
E-Certify RSA 512 Gold Client (S/MIME)
C=CA, O=E-Certify, OU=RSA Gold Client, CN=E-Certify RSA 512 Gold Client
-----BEGIN CERTIFICATE-----
MIIByjCCAXSgAwIBAgIBAjANBgkqhkiG9w0BAQQFADBjMQswCQYDVQQGEwJDQTES
MBAGA1UEChMJRS1DZXJ0aWZ5MRgwFgYDVQQLEw9SU0EgR29sZCBDbGllbnQxJjAk
BgNVBAMTHUUtQ2VydGlmeSBSU0EgNTEyIEdvbGQgQ2xpZW50MB4XDTk4MTAxNjEz
MzQwOFoXDTAzMTAxNjEzMzQwOFowYzELMAkGA1UEBhMCQ0ExEjAQBgNVBAoTCUUt
Q2VydGlmeTEYMBYGA1UECxMPUlNBIEdvbGQgQ2xpZW50MSYwJAYDVQQDEx1FLUNl
cnRpZnkgUlNBIDUxMiBHb2xkIENsaWVudDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgC
QQBwCcT1iYlNyKPywB/kffD8esiCzGYJxSnTXQjU6ej/XxnA+9yqjzAMPtqFd094
wM89Vsmz9YOWSO6Qn6wOAs45AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
KoZIhvcNAQEEBQADQQAdktdM5AzW+0o96eHCHwD3UfzxPvjKxPEjiI/QTn+njHt/
BEJb9yZatONRckglVc9v8P8Dy8HZGQD0+Pn0uxhW
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOQIBAAJAcAnE9YmJTcij8sAf5H3w/HrIgsxmCcUp010I1Ono/18ZwPvcqo8w
DD7ahXdPeMDPPVbJs/WDlkjukJ+sDgLOOQIDAQABAkASXZeaxFPsm0I8zb+snfR9
/saVolnrqhVEH5EODdXy3nSm6fpdrsDwQDDg52biXjIUizQYdd3OourOn0/PyyiB
AiEAyW4gFFgM0dJ+Y//vrIyQutLeH/5c/Vq3Lbcxv7R908kCIQCOZAAv8OCG/2oH
yKaYj/EoxcFZ9csVh/kjicO/JIX+8QIhAMEzAkvhBDLALYAmvDCJBkxa8rhHFdPf
jbCodGwGZ2WZAiB//XmBnlZkYl/PoVfGmNRgHun+0AZ9UxzqCeJvBQiBMQIgHWlr
0Sh1a8K2pQP2ktgmL3RH5+1Qd2wLx/hhGWtwPvU=
-----END RSA PRIVATE KEY-----
Bonus: VeriSign Code Signing CA
Als bonus leverde Internet Explorer 3.02 een code signing CA mee genaamd OU=Test VeriSign Commercial Software Publisher CA. Ik weet niet precies waar dat voor diende, maar deze was net zo eenvoudig te factoriseren. Er staan nog een paar andere test-achtige 512-bit RSA-sleutels in de ancient roots repo, dus je zou kunnen proberen er nog meer te factoriseren of uitzoeken waar ze voor gebruikt konden worden!
L=Internet, O=VeriSign, Inc., OU=Test VeriSign Commercial Software Publisher CA
-----BEGIN CERTIFICATE-----
MIIByDCCAXKgAwIBAgIQIsTi2AgEp+1OkpqVLROnazANBgkqhkiG9w0BAQQFADBl
MREwDwYDVQQHEwhSbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1
BgNVBAsTLlRlc3QgVmVyaVNpZ24gQ29tbWVyY2lhbCBTb2Z0d2FyZSBQdWJsaXNo
ZXIgQ0EwHhcNOTYwNTAyMTcwMTUyWhcNOTcwNTAyMTcwMTUyWjBlMREwDwYDVQQH
EwhSbnRlcm5ldDEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLlRl
c3QgVmVyaVNpZ24gQ29tbWVyY2lhbCBTb2Z0d2FyZSBQdWJsaXNoZXIgQ0EwXDAN
BgkqhkiG9w0BAQEFAANLADBIAkEA1XqTpg1hQWq6IKvBXLor12GBTH6y4BHyOJjy
MJISn0ZWBqkbZiEfoWgaWXhEwrvxMWonLA2vYFHijofFG4YIjwIDAQABMA0GCSqG
SIb3DQEBBAUAA0EAKxuR/KPJPDNJgw0ORqqM7SlvIeqnVP71OEFytqPaZw/3TPEi
9oK6PzBvPdLBZlnjRd/hf58FW2+/PXxsFl78Mg==
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBANV6k6YNYUFquiCrwVy6K9dhgUx+suAR8jiY8jCSEp9GVgapG2Yh
H6FoGll4RMK78TFqJywNr2BR4o6HxRuGCI8CAwEAAQJAYM8tlegLarcToS1CiuKC
bzHwiNgMFkENL01sx0n21/MhmA6pBiSwVn3Pu6yvx6EMB1zbCsaBHs/VTyofMbRW
QQIhAOqdAX3bVZwAlZ5FDWyfGwgE0FXEIQ85kjcihrFeDs49AiEA6PBfC0YuNMSa
M135mH+MEY1GEmQe9xHcXpiYAPazCrsCIQDDtuw6oJEfDYHCwRn8xhGXs+RT18Q4
Xi9yXRP9vFgfhQIhAIYUTfD0XYZcIBIvJosj56D2u328iaJXcow0s1Hirp4fAiAG
bza0Qcc27d/0OzKOqep3JrDl/L5HidTj2XEqEXmnXw==
-----END RSA PRIVATE KEY-----
En tot slot: SSL Labs vindt mijn testsite geweldig.