Generowanie certyfikatu S/MIME (Email-ID) - RSA

W jaki sposób wygenerować certyfikat S/MIME w sklepie Certum ?

Oczywiście, możemy skorzystać z oferowanych nam przez Asseco narzędzi webowych ale "tryb paranoiczny" wyklucza korzystanie z zewnętrznych aplikacji a już na pewno umieszczonych na "obcym" serwerze.

Zaczynamy od wygenerowania pliku CSR oraz klucza prywatnego, naszego certyfikatu.

CSR (ang. Certificate Signing Request; pol. Żądanie Podpisania Certyfikatu) plik generowany przez Administratora systemu zawierający dane użytkownika certyfikatu
Klucz prywatny (ang. Private Key) - Jeden z dwóch kluczy należących do pary kluczy asymetrycznych, znany tylko jego właścicielowi. W systemie podpisu asymetrycznego klucz prywatny służy do podpisywania. W systemie szyfrowania asymetrycznego klucz prywatny służy do deszyfrowania. Klucz prywatny musi być wyjątkowo starannie chroniony, aby uniknąć jego ujawnienia. Ujawnienie klucza może umożliwić jego użycie (wykonanie podpisu lub odszyfrowanie danych) przez niepowołane osoby.

Najwygodniej jest utworzyć nowy folder.

mkdir -p sslFirmaX
cd sslFirmaX

Generujemy CSR i klucz prywatny.

openssl req -utf8 -sha256 -nodes -newkey rsa:4096 -keyout pkfirmax.key -out firmax.csr -subj "/C=PL/ST=mazowieckie/L=Warszawa/O=Firma X/OU=Firma X/CN=Jan Kowalski/emailAddress=biuro@firmax.pl"

req - ten argument oznacza, że żądamy nowego certyfikatu,

utf8 - umieszczamy w pliku informację o systemie kodowania. Dzięki temu w naszym certyfikacie, wszystkie polskie znaki diakrytyczne będą wyświetlały się prawidłowo,

sha256 - wskazujemy funkcję haszującą,

nodes - zapobiega szyfrowaniu klucza prywatnego

newkey - argument który wywołuje wygenerowanie pliku CSR i klucza prywatnego

Po tej czynności w folderze znajdują się dwa pliki, plik żądania certyfikaty z rozszerzeniem csr oraz klucz prywatny certyfikatu z rozszerzeniem key.

Otwieramy plik crt i jego treść w całości kopiujemy i wklejamy w odpowiednie pole na stronie Certum.

Po uwierzytelnieniu przez Certum naszej firmy, zostaje wygenerowany nowy certyfikat podpisany przez CA (ang. Certification Authority).

Pozostaje nam scalenie pliku certyfikatu z naszym kluczem prywatnym.

openssl pkcs12 -export -out certyfikatfirmax.pfx -inkey pkfirmax.key -in 9e25bah7cfwwfb05t7i368b746952a2.crt

Program zapyta nas o hasło chroniące nasz klucz prywatny. Wprowadzamy je dwukrotnie. Tak przygotowany certyfikat instalujemy w programie pocztowym. Jest gotowy do podpisywania i szyfrowania wiadomości email.

Generowanie certyfikatu S/MIME (Email-ID) - ECC

Generujemy plik .pem

openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve:P-384 -out Firma.pem

Wyodrębniamy z pliku .pem plik rządania .csr oraz klucz prywatny .key

openssl req -newkey ec:Firma.pem -keyout privatkey.key -out publickey.csr -subj "/C=PL/ST=mazowieckie/L=Warszawa/O=Firma-X/OU=Firma-X/CN=Jan Kowalski/emailAddress=biuro@firma-x.pl"

W tym wypadku należy podać hasło.

Po otrzymaniu pliku certyfikatu z Certum.pl scalamy pliki klucza prywatnego z certyfikatem.

openssl pkcs12 -export -out Firma-x.pfx -inkey privatkey.key -in 1f1da808028adaae5d5ced0679e04657.cer

Wprowadzamy hasło zabezpieczające klucz prywatny. Utworzony w ten sposób certyfikat dołączmy do programu pocztowego.