Hur man skapar ett självsignerat certifikat med OpenSSL

Hur man skapar ett självsignerat certifikat med OpenSSL
Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

SSL/TLS-certifikat är viktiga för att säkra din webbapplikation eller server. Medan flera pålitliga certifikatutfärdare tillhandahåller SSL/TLS-certifikat för en kostnad, är det också möjligt att generera ett självsignerat certifikat med OpenSSL. Även om självsignerade certifikat saknar stöd från en betrodd myndighet, kan de fortfarande kryptera din webbtrafik. Så hur kan du använda OpenSSL för att generera ett självsignerat certifikat för din webbplats eller server?





MAKEUSE AV DAGENS VIDEO SCROLL FÖR ATT FORTSÄTTA MED INNEHÅLL

Hur man installerar OpenSSL

OpenSSL är programvara med öppen källkod. Men om du inte har en programmeringsbakgrund och är orolig för byggprocesser har det lite tekniskt setup. För att undvika detta kan du ladda ner den senaste versionen av OpenSSL:s kod, helt kompilerad och klar att installera, från slprowebs webbplats .





Välj här MSI-tillägget för den senaste OpenSSL-versionen som passar ditt system.





  Skärmdump från slproweb webbplats för nedladdning av OpenSSL

Som ett exempel, överväg OpenSSL på D:\OpenSSL-Win64 . Du kan ändra detta. Om installationen är klar, öppna PowerShell som admin och navigera till undermappen som heter bin i mappen där du installerade OpenSSL. För att göra detta, använd följande kommando:

 cd 'D:\OpenSSL-Win64\bin' 

Du har nu tillgång till openssl.exe och kan köra det hur du vill.



  Kör versionskommandot för att se om openssl är installerat

Generera din privata nyckel med OpenSSL

Du behöver en privat nyckel för att skapa ett självsignerat certifikat. I samma bin-mapp kan du skapa den här privata nyckeln genom att ange följande kommando i PowerShell när du har öppnat som admin.

 openssl.exe genrsa -des3 -out myPrivateKey.key 2048 

Detta kommando genererar en 2048-bitars lång, 3DES-krypterad RSA privat nyckel via OpenSSL. OpenSSL kommer att be dig ange ett lösenord. Du bör använda en starkt och minnesvärt lösenord . Efter att ha angett samma lösenord två gånger har du skapat din privata RSA-nyckel.





  Utdata från kommandot som används för att generera RSA-nyckeln

Du kan hitta din privata RSA-nyckel med namnet myPrivateKey.key .

Hur man skapar en CSR-fil med OpenSSL

Den privata nyckeln du skapar kommer inte att räcka ensam. Dessutom behöver du en CSR-fil för att göra ett självsignerat certifikat. För att skapa den här CSR-filen måste du ange ett nytt kommando i PowerShell:





 openssl.exe req -new -key myPrivateKey.key -out myCertRequest.csr 

OpenSSL kommer också att fråga efter lösenordet du angav för att generera den privata nyckeln här. Den kommer vidare att begära din juridiska och personliga information. Var noga med att du anger denna information korrekt.

hur man ändrar vilket Google -konto som är standard
  Utdata från kommandot som används för att generera CSR-filen

Dessutom är det möjligt att göra alla operationer hittills med en enda kommandorad. Om du använder kommandot nedan kan du generera både din privata RSA-nyckel och CSR-filen på en gång:

 openssl.exe req -new -newkey rsa:2048 -nodes -keyout myPrivateKey2.key -out myCertRequest2.csr 
  Utdata av kommando som används för att skapa RSA- och CSR-filer på en gång

Du kommer nu att kunna se filen med namnet myCertRequest.csr i relevant katalog. Den här CSR-filen du skapar innehåller lite information om:

  • Den institution som begär intyget.
  • Common Name (dvs. domännamn).
  • Public Key (för krypteringsändamål).

CSR-filerna du skapar måste granskas och godkännas av vissa myndigheter. För detta måste du skicka CSR-filen direkt till certifikatutfärdaren eller andra förmedlande institutioner.

Dessa myndigheter och mäklarhus undersöker om uppgifterna du lämnar är korrekta, beroende på vilken typ av intyg du vill ha. Du kan också behöva skicka vissa dokument offline (fax, post, etc.) för att bevisa om informationen stämmer.

Utarbetande av certifikat av en certifikatutfärdare

När du skickar CSR-filen du skapade till en giltig certifikatutfärdare, signerar certifikatutfärdaren filen och skickar certifikatet till den begärande institutionen eller personen. Genom att göra det skapar certifieringsmyndigheten (även känd som en CA) också en PEM-fil från CSR- och RSA-filerna. PEM-filen är den sista filen som krävs för ett självsignerat certifikat. Dessa stadier säkerställer det SSL-certifikat förblir organiserade, pålitliga och säkra .

felkorrigering av minneshantering i Windows 10

Du kan också skapa PEM-fil själv med OpenSSL. Detta kan dock utgöra en potentiell risk för ditt certifikats säkerhet eftersom äktheten eller giltigheten av det senare inte är tydlig. Dessutom kan det faktum att ditt certifikat inte kan verifieras göra att det inte fungerar i vissa applikationer och miljöer. Så för detta exempel på ett självsignerat certifikat kan vi använda en falsk PEM-fil, men det är naturligtvis inte möjligt i verklig användning.

För nu, föreställ dig en PEM-fil som heter myPemKey.pem kommer från en officiell certifikatutfärdare. Du kan använda följande kommando för att skapa en PEM-fil för dig själv:

 openssl x509 -req -sha256 -days 365 -in myCertRequest.csr -signkey myPrivateKey.key -out myPemKey.pem 

Om du hade en sådan fil skulle kommandot du bör använda för ditt självsignerade certifikat vara:

 openssl.exe x509 -req -days 365 -in myCertRequest.csr -signkey myPemKey.pem -out mySelfSignedCert.cer 

Detta kommando betyder att CSR-filen är signerad med en privat nyckel som heter myPemKey.pem , giltig i 365 dagar. Som ett resultat skapar du en certifikatfil med namnet mySelfSignedCert.cer .

  Bild som självsignerat certifikat finns i mappen

Självsignerat certifikatinformation

Du kan använda följande kommando för att kontrollera informationen på det självsignerade certifikatet som du har skapat:

 openssl.exe x509 -noout -text -in mySelfSignedCert.cer 

Detta kommer att visa dig all information som finns i certifikatet. Det är möjligt att se mycket information som företaget eller personlig information, och algoritmer som används i certifikatet.

Vad händer om självsignerade certifikat inte är undertecknade av certifikatutfärdaren?

Det är viktigt att granska de självsignerade certifikaten du skapar och bekräfta att dessa är säkra. En tredje parts certifikatleverantör (dvs en CA) gör vanligtvis detta. Om du inte har ett certifikat som är signerat och godkänt av en tredjepartscertifikatutfärdare och du använder detta icke godkända certifikat, kommer du att stöta på vissa säkerhetsproblem.

Hackare kan använda ditt självsignerade certifikat för att skapa en falsk kopia av en webbplats, till exempel. Detta gör att en angripare kan stjäla användarnas information. De kan också få tag på dina användares användarnamn, lösenord eller annan känslig information.

För att säkerställa användarnas säkerhet behöver webbplatser och andra tjänster vanligtvis använda certifikat som faktiskt är certifierade av en CA. Detta ger en garanti för att användarens data är krypterad och ansluter till rätt server.

Skapa självsignerade certifikat på Windows

Som du kan se är det ganska enkelt att skapa ett självsignerat certifikat på Windows med OpenSSL. Men tänk på att du också behöver godkännande från certifieringsmyndigheter.

Att göra ett sådant certifikat visar ändå att du tar användarnas säkerhet på allvar, vilket betyder att de kommer att lita mer på dig, din webbplats och ditt övergripande varumärke.