formaty

cert extension desc
PEM .pem (Privacy Enhanced Mail) Base64 encoding of the DER certificate, with header and footer enclosed between „–—BEGIN CERTIFICATE–—” and „–—END CERTIFICATE–—”
DER .cer, .crt, .der binary DER form, but Base64-encoded certificates are common too (see .pem above)
PKCS#7 .p7b, .p7c SignedData structure without data, just certificate(s) or CRL(s)
PKCS#12 .p12 may contain certificate(s) (public) and private keys (password protected)
PFX .pfx predecessor of PKCS#12 (usually contains data in PKCS#12 format, e.g., with PFX files generated in IIS)

generowanie klucza prywatnego

  • openssl genrsa -des3 -out [output_key_file] 1024

generowanie samopodpisującego się certyfikatu bez klucza prywatnego

  • openssl req -new -newkey rsa:1024 -days 730 -nodes -x509 -keyout [output_key_file] -out [output_cert_file]

generowanie samopodpisującego się certyfiaktu z wykorzystaniem klucza prywatnego

  • openssl req -key [key_file] -new -days 730 -nodes -x509 -out [output_cert_file]

generowanie requesta

  • openssl req -new -key [key_file] -out [output_request_file] #z kluczem
  • openssl req -new -nodes -keyout [output_key_file] -out [output_cert_file] #bez klucza

wyświetlenie requesta

  • openssl req -in [request_file] -noout -text

weryfikacja requesta

  • openssl req -verify -in [request_file] -noout -text #verifikacja requesta
  • openssl req -verify -in [request_file] -key [key_file] -noout -text #weryfkikacja podpisu

własne centrum CA (wykorzystanie skryptów)

generowanie samopodpisującego CA center

  • etc/pki/tls/misc/CA.sh -newca – openssl req -new -keyout ..../CA/private/cakey.pem -out ../../CA/careq.pem
  • openssl ca -out ../../CA/cacert.pem $CADAYS -batch -keyfile ../../CA/private/cakey.pem -selfsign -infiles ../../CA/careq.pem

generowanie requesta do podpisu

  • /etc/pki/tls/misc/CA.sh -newreq
  • openssl req -new -keyout key.pem -out newreq.pem -days [days#] -config [config_file_path]
  • openssl req -new -key [key_file] -out [cert_file]

podpisanie requesta

  • /etc/pki/tls/misc/CA -sign
  • openssl ca -config /usr/lib/ssl/openssl.cnf -policy policy_anything -out [cert_file] -infiles [request_file]

generowanie samopodpisującej pary (key+cert)

  • /etc/pki/tls/misc/CA -newcert
  • openssl req -new -x509 -keyout [key_file] -out [cert_file] $DAYS

powiązanie klucza z podpisanym requestem

  • usunąć wszystkie linie z podpisanego requesta powyżej lini:
    • –—BEGIN CERTIFICATE—–
  • cat [key_file] [signed_request] > [output_file]

usunięcie hasła

  • openssl rsa -in [key_file_withpass] -out [key_file_nopass]

wyświetlenie certyfikatu x509

  • openssl x509 -in [cert_file] -noout -text

wyświetlenie certyfikatu pkcs7

  • openssl pkcs7 -in [cert_file] -print_certs

konwersja formatu z DER to PEM

konwersja certyfikatu

  • openssl X509 -in [der_cert_file] -inform DER -out [pem_cert_file].pem -outform PEM

konwersja klucza

  • openssl rsa -in [der_key_file] -inform DER -out [pem_key_file] -outform PEM

konwersja formatu z PEM do PFX

  • openssl pkcs12 -inkey [key_file] -in [cert_file] -export -out [output_file]