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.
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.
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.
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
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
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 .
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.