Jak vytvoříte nový certifikát X.509 z páru klíčů PGP

Tato stránka doplňuje stránku Konverze certifikátu na PGP popisem opačného postupu.

Jsou potřebné tyto nástroje: GnuPG, openpgp2ssh z projektu monkeysphere a openssl.

/!\ Popisované kroky byly ověřeny na virtuálním stroji v systému Linux Ubuntu.


  1. Vytvořil jste pár RSA PGP klíčů. Údaj o privátním klíči tohoto páru vypadá takto:

    sec   2048R/059B4809 2011-10-29 [valid to: 2013-12-31]

    ID PGP klíče je $KEYID (v tomto příkladu 059B4809).


  1. openpgp2ssh pracuje, jen když privátní klíč není chráněn heslem. Je třeba ochranu odstranit. Příkazem

    gpg --edit-key $KEYID

    a podřízeným příkazem passwd heslo odstraníte.


  1. Nyní exportujte privátní klíč PGP a předejte ho openpgp2ssh:

    gpg --export-secret-key $KEYID | openpgp2ssh $KEYID > id_rsa

    Obsah id_rsa by měl vypadat takto:

    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEA0s2wNIWuUzuBYU9U0cK/mGa4LMtsWTEZEFTQhHj2eg4ZHmdt[...]
    -----END RSA PRIVATE KEY-----


  1. Vygenerujte žádost o podpis certifikátu (Certificate Signing Request, CSR):

    openssl req -new -key id_rsa -out id_rsa.csr

    Obsah id_rsa.csr by měl vypadat takto:

    -----BEGIN CERTIFICATE REQUEST-----
    MIIC9jCCAd4CAQAwgZkxCzAJBgNVBAYTAkRFMRMwEQYDVQQIEwpTb21lLVN0YXRl[...]
    -----END CERTIFICATE REQUEST-----


  1. Máte tedy CSR. Přihlaste se ke svému účtu CAcert a jděte na webovou stránku -> "Klientské certifikáty" -> "Nový" -> zvolte registrovanou e-mailovou adresu, označte "Zobraz rozšířené volby", zkopírujte obsah z id_rsa.csr do textového pole "Volitelná klientská žádost o podpis certifikátu (CSR) - žádné informace z certifikátu nebudou použity" a stiskněte "Další".


  1. CAcert Vás upozorní, že certifikát je připraven ke stažení.


  1. Zkopírujte obsah certifikátu a souboru id_rsa do jednoho souboru email@address.pem. Jeho obsah bude vypadat podobně jako toto:

    -----BEGIN CERTIFICATE-----
    MIIFRjCCAy6gAwIBAgIDCuP8MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv[...]
    -----END CERTIFICATE-----
    -----BEGIN RSA PRIVATE KEY-----
    MIIEowIBAAKCAQEA0s2wNIWuUzuBYU9U0cK/mGa4LMtsWTEZEFTQhHj2eg4ZHmdt[...]
    -----END RSA PRIVATE KEY-----


  1. Nakonec vytvořte kontejnerový soubor PKCS#12:

    openssl pkcs12 -export -in email@address.pem -out email@address.pem.p12


Nyní importujte klíče z vytvořeného souboru do svého e-mailového klienta (použitím funkcí toho klienta).


ConvertingPgpKeyToCertificate/CZ (last edited 2016-05-05 09:14:07 by AlesKastner)