diff --git a/README.md b/README.md index a1be0146282d1180777336490e02f00ffd0d2699..81b80d34cf484c3acfa6c452c4385af1b1c15a15 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,8 @@ _443._tcp.example.com. IN TLSA 0 0 1 989a3aaa5862dede9b42d6f05eabd639a60f5d526c4 ## HTTPS Public Key Pinning (HPKP) +Apache-Config sollte irgendwie ungefaehr wie folgt aussehen: + ``` <VirtualHost _default_:443> Use SSLConfig @@ -90,16 +92,20 @@ _443._tcp.example.com. IN TLSA 0 0 1 989a3aaa5862dede9b42d6f05eabd639a60f5d526c4 Header add Public-Key-Pins "pin-sha256=\"Kifsh84a1clurPq6mVDx+O8gbeSPA3zCGXalMAfto6k=\"; max-age=3600" ... ``` + - includeSubDomains kann man angeben (mit `;` getrennt nach `max-age`), ist aber meistens eine schlechte Idee, da es hierarchisch weiter unten stehende Webseiten kaputtmacht. - max-age sollte eigentlich laenger 3600s sein. - Man sollte mehrere Pins angeben um Reserve-Zertifikate zu haben. Diese erzeugt man wie folgt: + ``` openssl genrsa -out ${TARGET}.key.reserve-rsa4096 4096 openssl rsa -in ${TARGET}.key.reserve-rsa4096 -outform der -pubout | openssl dgst -sha256 -binary | openssl enc -base64 ``` + Falls das eigentliche Zertifikat dann mal kompromittiert wird kann man den Reserve-Key um wie ganz oben beschrieben einen CSR zu erzeugen verwenden. - - Als Absicherung gegen diverse Versionen der kommenden Cryptocalypse kann + - Als Absicherung gegen diverse Versionen der kommenden Cryptocalypse kann man noch andere Typen dazuerzeugen: + ``` # langes RSA, leider atm noch zu lang fuer Apple-Produkte openssl genrsa -out ${TARGET}.key.reserve-rsa8192 8192