Generera CSR med stöd för SHA256 med OpenSSL

Microsoft har meddelat att de inte kommer att acceptera SHA1-certifikat efter 2016 och Google har redan nu börjat straffa SHA1-certifikat som löper ut efter den 31 december 2016 så de ser ut så här i Chrome version 39:
Certificate warning.
Från Chrome 41 så kommer det se ut så här istället:
Certificate error
Här kan ni läsa mer detaljerat från Google och hur de hanterar det i Google Chrome.
Kort och gott är det dags att börja använda SHA256 certifikat och för det behöver du generera ett CSR med stöd för SHA256, så här gör jag med OpenSSL.

openssl req -new -newkey rsa:2048 -nodes -sha256 -out www.example.org.sha256.csr -keyout www.example.org.key

Jag genererar både CSR och nyckel samtidigt och förutom sha256 så blir det en 2048 bitars RSA-nyckel.
Kom gärna med input om jag gör något helt fel.
Tänk på att det är utfärdaren som skapar certifikatet och kan då sätta om SHA256 ska användas eller ej, i vissa fall kan man sätta det via webgränsnitt, men det är inte fel att ha det i sitt CSR.

, , , , , , ,

  • När du använder -rand /dev/random så kan man skjuta sig själv i foten. Tror att OpenSSL väljer det som är bäst lämpat på din nuvarande plattform

  • Ok, tackar! Jag har uppdaterat inlägget.

  • janne j

    Jag är rätt skeptisk till att openssl kan göra bättre entropi än ditt OS, och ditt os presenterar ju rimligen sin bästa slump på /dev/random så om den inte funkar så har nog inte openssl på samma maskin tillfång till bättre slump.

  • Tänker exempelvis på plattformar såsom Windows där /dev/random inte finns. Så klart bör ju OpenSSL klaga om så är fallet. Annars är detta intressant läsning om random vs. urandom: http://www.2uo.de/myths-about-urandom/

Powered by WordPress. Designed by WooThemes