För att kryptera en PFX-fil (även kallad PKCS#12) som används i TLS med OpenSSL används Triple DES (3DES) eller AES som krypteringsalgoritmer. OpenSSL väljer automatiskt en lämplig algoritm baserat på den angivna nyckelstorleken och säkerhetskraven. PFX-filer är containerformat som innehåller det privata nyckeln och motsvarande certifikat, och de används för att säkert överföra dessa data. 

När du skapar en PFX-fil med OpenSSL används PKCS#12-standarden, som specificerar hur certifikat och nycklar ska paketeras och krypteras. OpenSSL använder standardkrypteringar som 3DES eller AES för att skydda PFX-filen. 

Här är ett exempel på hur man skapar en PFX-fil med OpenSSL:

Kod

openssl pkcs12 -export -out mitt_certifikat.pfx -inkey privat_nyckel.key -in certifikat.crt -certfile ytterligare_certifikat.pem

I detta kommando: 

  • privat_nyckel.key är din privata nyckel.
  • certifikat.crt är ditt certifikat.
  • ytterligare_certifikat.pem är eventuella kedjecertifikat.
  • mitt_certifikat.pfx är namnet på den genererade PFX-filen.

Du kommer att bli ombedd att ange ett lösenord för att skydda den privata nyckeln i PFX-filen. 

Även om PFX-filer är krypterade, är det viktigt att komma ihåg att de innehåller den privata nyckeln, vilket är en kritisk säkerhetskomponent. Det är därför viktigt att skydda PFX-filen med ett starkt lösenord och att inte dela den med obehöriga parter. 

För TLS-kryptering med en PFX-certifikatfil i OpenSSL används vanligtvis TLS 1.2 eller TLS 1.3. TLS 1.3 är den nyare och säkrare standarden, men TLS 1.2 är fortfarande vanligt förekommande och erbjuder bra säkerhet. PFX-filer, även kända som PKCS#12-filer, innehåller både det publika certifikatet och den privata nyckeln, och kan användas för att säkra kommunikation. 

TLS-protokoll:

  • TLS 1.3: Den senaste och rekommenderade versionen för högsta säkerhet och prestanda.
  • TLS 1.2: Fortfarande ett säkert alternativ och vanligt förekommande. 

PFX-certifikat:

  • PFX-filer (Personal Information Exchange) lagrar certifikat och privata nycklar i en krypterad behållare.
  • De används ofta för att säkra kommunikation och digitala signaturer.
  • PFX-filer är i PKCS#12-format. 

Användning i OpenSSL:

När du använder OpenSSL för att hantera PFX-certifikat, kan du ange vilket TLS-protokoll du vill använda i konfigurationsfilen för OpenSSL eller direkt i kommandoraden. För bästa säkerhet, rekommenderas att använda TLS 1.3 om möjligt. 

OpenSSL version

OpenSSL använder sig av olika standardkrypteringsalgoritmer, inklusive AES och 3DES, men RC2-40-CBC är en äldre och mindre säker algoritm som inte längre rekommenderas och i nyare versioner av OpenSSL har tagits bort. AES-256 är en av de säkraste krypteringsstandarderna. 

OpenSSL använder symmetrisk kryptering för att skydda data under överföring, där både avsändaren och mottagaren använder samma nyckel för att kryptera och dekryptera. När man hanterar äldre PKCS#12-filer som använder RC2-40-CBC kan man behöva använda flaggor som ”-legacy” eller ”-provider-path” för att få OpenSSL att fungera korrekt. 

Här är några punkter att tänka på:

  • AES är standard:AES-256 är den rekommenderade krypteringsalgoritmen för OpenSSL. 
  • RC2-40-CBC är föråldrad:Denna algoritm anses nu vara osäker och bör inte användas om det inte är nödvändigt för att hantera äldre filer. 
  • PKCS#12-filer:Om du stöter på problem med att importera äldre PKCS#12-filer som använder RC2-40-CBC, kan du prova att använda ”-legacy”-alternativet. 
  • Nyckelderivering:OpenSSL använder PBKDF2 för att härleda nycklar från lösenord, vilket är en säker metod. 

The current latest stable release of OpenSSL is 3.0.16, released on 11 februari 2025. OpenSSL 1.1.1 reached its end-of-life on 11 september 2023. 

To determine the OpenSSL version installed on a system, you can use the command openssl version in the terminal. This command will output the version information, such as ”OpenSSL 3.0.16 (0x3000010f)”, according to the GitHub release page

OpenSSL 3.0 introduces significant changes, including a new provider model, according to the OpenSSL documentation. This allows for more flexible and modular algorithm implementations. If you are using older versions of OpenSSL, such as 1.1.1 or 1.0.2, it’s important to be aware of their respective end-of-life dates and potential security implications. OpenSSL 1.0.2 reached its end-of-life on 31 december 2019, according to SafeLogic