Získání klíče PGP podepsaného CAcert

Chcete-li, můžete získat klíč PGP/GPG podepsaný CAcert. Tyto stránky Vám řeknou, jak na to.

Předpoklady

Proč je dobré mít PGP klíč podepsaný CAcert?

Podpis CAcert na Vašem PGP kroužku klíčů značí, že Vaše totožnost byla ověřena (zaručena) alespoň dvěma dalšími osobami (to je totiž jediný způsob, jak získat 50 bodů zaručení). To dodává identifikaci ve Vašem PGP klíči důvěryhodnost. Jako příklad, proč to může být potřebné, uvažujme o kroužku klíčů, který držím, abych ilustroval tuto věc, když uvádím nováčky do PGP:

Mám klíč pojmenovaný "Brad Pitt". Má na sobě podpisy "Jennifer Aniston", "George W. Bush", "Madonna" a řadu jiných známých jmen. A fakt, že mám tajná hesla a mohu je použít k podpisu e-mailů a poslat je Vám, nemůže Vás automaticky přesvědčit, že skutečně jsou od osob, od nichž si myslíte, že jsou! Správně?

Takže: mít vysoce důvěryhodný podpis CAcert na Vašem PGP klíči mu propůjčuje důvěryhodnost. Znáte-li zásady CAcert (nebo Thawte, nebo kohokoli jiného v této záležitosti) ohledně podepisování klíčů a víte-li, že jsou dostatečně důvěryhodné (jedna z koncepcí důvěry PGP), pak můžete věřit, když vidíte klíč s takovým připojeným podpisem, že osoba je tou, za kterou se prohlašuje a ne nějaký podvodník, který Vás chce ošidit při transakci nebo očernit Vaše jméno v nějakém fóru.

Co potřebuji předložit CAcert

NIKDY neexportujte ani nepředkládejte svůj privátní klíč!

Prosím, předložte svůj veřejný klíč zápisem do formuláře, který najdete na CAcert, GPG/PGP, Add (Přidat nebo Nový). Vypadá takto:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGP Key Server 0.9.6
mQEMBEKCKzQBCADJ+FrXcdN9/t7ZWtPPuDpURCHSQmiyzaqRqK1SJAUZv1KmNiBx
ojT893x26r+wcZSVEU02U06FHDUV/KWLWmUkxTqBenAh+L1qWEiZNv2SH4WArFjc
3Isv9TYTR28dGEthPlkyFgfWNIwkd2GRdi4ozmQlzORpape+JzuCpCgHbPwkhCaF
[...]
-----END PGP PUBLIC KEY BLOCK-----

Svůj klíč najdete na serverech klíčů (např. https://pgp.surfnet.nl/ - hledejte svoje jméno), pokud jste ho zaslali do sítě serverů klíčů. Jinak by ve Vašem PGP/GPG software měla být funkce "Export Public Key" (exportovat veřejný klíč).

Pro použití v gnupg:

gpg --export --armor KEYID

kde KEYID může být rovněž Vaše jméno. Ujistěte se pouze, že se našel přesně jeden klíč (zkuste napřed --list-key).

Jak získáte svůj PGP klíč podepsaný CAcert

Nejdůležitější při podepisování Vašeho GPG klíče autoritou CAcert je PŘESNÁ shoda jména na klíči se jménem ve Vašem certifikátu. Neshodují-li se, bude Vám klíč vrácen nepodepsaný.

Při podpisu klíče postupujte takto:

  1. Přihlaste se k webu CAcert a předložte svůj veřejný klíč (pole pro vložení klíče se objeví, pouze máte-li aspoň 50 bodů zaručení).

  2. Počkejte na e-mail s Vaším podepsaným veřejným klíčem.
  3. Importujte klíč z e-mailu do svého kroužku klíčů. (GPG ohlásí změnu klíče)
  4. Importujte klíč CAcert do svého kroužku klíčů.
    • Klíč CACert GPG je zde.

    • Jeho ID a kryptografický otisk je 65D0FD58 / A31D 4F81 EF4E BD07 B456 FA04 D2BB 0D01 65D0 FD58
  5. Odešlete změněný klíč do serverů klíčů: gpg --send-keys ID_KLÍČE

Chcete-li ověřit podpis, použijte gpg --list-sig a ujistíte se, že Váš klíč je podepsán klíčem CAcert. Takto mohou CAcertem podepsané klíče kontrolovat třetí strany.

Když se jméno ve Vašem klíči liší od jména ve Vašem certifikátu

Liší-li se jméno ve Vašem GPG klíči od jména ve Vašem certifikátu jen málo, lze to obejít fungujícím, i když ne zcela čistým postupem, který se dá použít jen jednou:

  1. Zálohujte si bezpečně svůj kroužek klíčů (keyring)!
  2. Odstraňte všechny identifikátory klíčů (keyids), jejichž e-mailové adresy nemáte 'ověřeny' systémem.
  3. Přidejte keyid správného klíče. Například má-li Váš certifikát jméno "Josef Suk", ale Váš klíč GPG má "Jos. Suk", pak přidejte keyid pojmenovaný "Josef Suk" a smažte keyid "Jos. Suk". (Bez obav - to je jen dočasné!)
  4. Nechte si klíč podepsat CAcertem.
  5. Jakmile je Váš klíč podepsán, importujte znovu svoje předtím smazané identifikátory klíčů (keyids) ze své zálohy kroužku klíčů (keyring), kterou jste si pořídili v kroku 1.

Proč dostanu pouze "sig" svého klíče a ne "sig3"?

Viz příkaz nápovědy "man gpg".

0 znamená, že nevydáváte žádné zvláštní prohlášení o tom, jak důkladně jste ověřili klíč.

To neznamená nejnižší úroveň důvěry - to pouze znamená, že nyní nejsou dostupné žádné údaje o tom, jak důkladně byl Váš ID kontrolován.

Hlavní problém je, že CAcert osobně neověřil Váš klíč ani kryptografický otisk ("otisk prstu", fingerprint). Kdokoli s přístupem k Vašemu účtu v CAcert by mohl předložit svůj klíč a získat podpis od CAcert.

Klíče RSA

Může nastat tento problém:

Máte problém s podpisem klíčů RSA? Zkusil jsem to a systém cosi udělá (protože vrácený klíč se liší), ale jak GPG, tak PGP nemají žádný podpis od CAcert. Zkusil jsem to se svým klíčem DSA/El Gamal a funguje to.

Získat podpis svých PGP RSA klíčů autoritou CAcert mi funguje dobře. Používám PGP 7.0 a pouze klíče RSA (2048 bitů). Může Vám pomoci toto, zkuste: Při exportu klíče PGP odstraňte možnost "Include PGP extensions" (včetně rozšíření PGP), takže exportovaný klíč je "čistý" standardní klíč.

Vložení certifikátu CAcert do Vašeho kroužku klíčů (keyring ) OpenPGP

/!\ POZNÁMKA: Toto funguje pouze u PGP; nefunguje u GnuPG (GPG)

Pro import páru klíčů X.509 prostě přetáhněte myší svůj soubor certifikátu typu PKCS#12 (<název_souboru>.PFX nebo <název_souboru>.P12) do PGP klíčů nebo importujte z Keys - Import (Klíče - Import).

Nevíte-li, jak zálohovat svůj X.509 certifikát s privátním klíčem, udělejte to z Internet Exploreru (nebo Ovládacích panelů) -> Možnosti Internetu (Internet Options) - Obsah (Content) / Certifikáty / Osobní, vyberte tam svůj certifikát a exportujte ho s privátním klíčem do certifikátového souboru formátu PKCS#12. Z Netscape zadejte Edit - Preferences - Privacy and Security - Certificates / Manage Certificates / My Certificates, a proveďte "Backup" (zálohu) vybraného certifikátu.

(Viz http://www.minstrel.org.uk/wot-faq/q1.html pro více informací.)

Převod certifikátu na PGP

Problém: můj klíč je připojen k několika e-mailům... jak ověřit

(zasláno 18. července 2005)

>Zpráva:
>> Zkusil jsem odeslat svůj PGP klíč, ale vyskytla se následující chyba, kde vím, proč to selhalo, když to odseklo konec mojí e-mailové adresy:
>>
>> No suitable emails could be matched from your PGP/GPG keys to what we have in the database.
>> (Žádná e-mailová adresa z PGP/GPG klíčů se nenašla v naší databázi.) ('lan@rdrop.co')
>>
>> Dotyčný klíč:
>>
>> -----BEGIN PGP PUBLIC KEY BLOCK-----
>> Version: GnuPG v1.2.3 (FreeBSD)
>>
>> mQCNAzEW55MAAAEEANU5C0ZbqoGRph6hjiUPquyZpXAtjNgZICMjbotsOeXuKOlp
>> UgOh06jrcdORhsLyd1m3cTUkifTfwqQUWQjoU/WP4lVpbaEsRMNtc8a/rDjA2FLU
[...]
>> -----END PGP PUBLIC KEY BLOCK-----

Mám stejný problém. ID odvolaného uživatele byl stále označen v mém klíči jako primární. Místo abych cokoli mazal, zkusil jsem toto:
$ gpg --edit-key 0x89074FAD
[...]
[základní] (1). Michael Alexander Kallas<valid@address.org>
[odvolaný] (2). Michael Kallas <revoked@address.net>
command> 1
command> primary
[Mantra - nutno zadat]
command> save
$ gpg --armor --export-options export-minimal --export 0x89074fad
Tento exportovaný klíč byl bez problémů akceptován.
(Pozor při kopii a vložení až do konce --- protože vložení celého posledního řádku i s neviditelnými mezerami nebude fungovat, alespoň ne v současnosti).

Milý Alane,
importoval jsem Tvůj přiložený klíč do svého kroužku (keyring), je vidět, že tento klíč vlastní
alan(zavináč)batie.org, batie(zavináč)rdrop.com, batie(zavináč)agora.rdrop.com, alan(zavináč)rdrop.com
Dostávám tutéž chybu, když můj klíč obsahuje více než jednu e-mailovou adresu.
Obejde se to takto:
1.) uschovej svůj keyring (privátní a veřejný), např. exportem
2.) edituj svůj keyring
     např: gpg --edit alan(zavináč)batie.org
3.) přidej nový uživatelský id: lan(zavináč)rdrop.co
4.) odstraň neregistrované uživ. identifikátory (adresy) (bez obav, je to jen dočasné)
5.) ulož změny
6.) exportuj svůj veřejný klíč, např.: gpg --armor --export alan(zavináč)batie.co
7.) odešli výsledek
8.) importuj odstraněné uživatelské identifikátory
Doufám, že to pomůže.
S úctou,
Tamas alias TamsA

Ahoj Petere a Guillaume,
už několik lidí psalo, že narazili na tento problém. Jsem jeden z nich.
V mém případě se zdá, že důvodem je moje skutečné jméno v GPG uživ. ID, 
což je "Jeff Keys", kdežto pro CAcert je to "Jeffrey Keys". Zkusil jsem 
to znovu podle návodu: napřed exportovat mé klíče do souboru, potom 
je editovat - přidat nový uživatelský ID se skutečným a odpovídajícím 
jménem, a pak odstranit uživ. ID(y), které nemají [registraci]. Pak uložit,
exportovat kopii v ascii a vložit ji do textového pole "Nového" klíče 
GPG/PGP. Opět jsem dostal tentýž výsledek: "No emails found on your key" 
(ve Vašem klíči se nenašel žádný e-mail). Pak jsem přidal znak "nový řádek"
(line feed) na konec textového pole (stiskl jsem klávesu Enter) a 
zkusil jsem to znovu. ZAFUNGOVALO to. To nasvědčuje chybě v PHP - 
zdá se mi, že jsem to viděl už v Mantis. To snad dopomůže k opravě.
Po úspěšném pokusu, Petere, jsem obdržel e-mail s odkazem na podepsaný 
klíč a po vytvoření textového souboru obsahujícího jej (bez přidaných znaků 
LF!) jsem ho úspěšně importoval zpět do svého kroužku (keyring)... a pak 
ovšem znovu importoval původní klíč s ostatními podepsanými uživatelskými ID.
V úctě,
Jeff Keys
25.05.2006 Peter Vitt <petervitt(zavináč)web.de> napsal:
> Jak jsem napsal ve své žádosti, hlášení chyby zní: "No emails found on your
> key" (ve Vašem klíči není žádná e-mailová adresa). Tuto chybu hlásí domovská 
> stránka CACert, když chci zaslat certifikát k podpisu.
>
> Guillaume ROMAGNY píše:
> > Ahoj Pete,
> >
> > bohužel podpis je poskytován okamžitě
> >
> > Musíš opakovat proces a říci nám, jaké chybové hlášení dostaneš
> >
> > S úctou,
> >
> > Guillaume, který používá klávesnici "dvorak" [verze anglické klávesnice]
> >
> > CAcert-Website písemně:
> >> Od: Peter Vitt
> >> E-mail: petervitt(zavináč)web.de
> >> Předmět: Problémy s certifikáty
> >>
> >> Zpráva:
> >> Nazdar,
> >>
> >> Poté, co mě zaručilo několik lidí, jsem se pokusil získat certifikát
> >> podepsaný kořenovým certifikátem CACert. Vložil jsem svůj certifikát 
> >> pod GPG/PGP klíče. Až potud šlo všechno dobře. Pak jsem čekal několik
> >> dní na svůj podepsaný certifikát. Nepřišel. Posílal jsem svůj keyring
> >> skoro 12krát denně. Pak jsem to zkusil znovu. Snad jsem něco dělal
> >> špatně. Ale svůj podepsaný certifikát jsem zase nedostal. Myslel jsem  
> >> si, že to může být algoritmem klíče. Zkusil jsem to s RSA. Neúspěšně.
> >> Snad je to délkou klíče? 1024? 2048? 4096? Další neúspěchy.
> >> Před několika dny mi spolužák řekl, že musím znovu importovat
> >> certifikát, kterým se hlásím jako člen CACert, pod "view PGP/PGP Keys", 
> >> když tam kliknu na jednu z e-mailových adres. Problém však je, že mi
> >> nezůstal žádný funkční certifikát. Zkusil jsem jich už dát podepsat
> >> tolik, že jsem pak raději vyprázdnil svůj keyring a odvolal každý
> >> certifikát, který jsem vytvořil během toho testování. Když jsem dnes
> >> vytvořil nový certifikát a pokusil se ho poslat na stránku CAcert,
> >> aby ho podepsal, dostávám hlášení "No emails found on your key" (ve
> >> Vašem klíči není žádná e-mailová adresa) po kliknutí na tlačítko "Submit". 
> >> Zkusil jsem to znovu s několika certifikáty, ale se žádným to nejde.
> >>
> >> 1) Proč nemohu předložit další certifikát?
> >>
> >> 2) Jsem schopen získat pouze deset certifikátů podepsaných CACert? 
> >> Protože vidím na stránce CAcert deset (odvolaných) certifikátů).
> >>
> >> 3) Jak mám odvolat tyto certifikáty?
> >>
> >> Doufám, že odpovíte brzy
> >>

Problém: CAcert podepisuje PGP klíč s připojeným obrázkem

Může nastat problém:

Vyvstal problém s podepsáním PGP, který měl připojený obrázek.
Návod, jak vyřešit problém tak, že ho obejdeme:
1) Z klíče odstraňte obrázek
2) Pro klíč [bez obrázku] získejte podpis CACert
3) Ke klíči znovu připojte obrázek
Tato procedura vyřešila problém aspoň jednou...

Různé

Máte-li potíže s podepisováním klíče GPG, zkuste ho exportovat s parametrem "--export-minimal" a zkuste každý user-id v klíči samostatně, abyste byli schopni dát svůj klíč podepsat, je-li správně připraven ("oholen").

Problém: CAcert nepodepíše klíče s více než jedním uživatelským ID (uid)

CAcert nepodepíše klíče s více než jedním uid, místo toho vrátí Váš klíč nepodepsaný.

Jestliže Váš klíč vypadá jako tento můj (e-mailové adresy byly zmnoženy), nebude funkční.

$ gpg --list-keys foo@bar.com
pub   1024D/DA23A600 2006-11-30
uid                  Foo Bar <foo@bar.com>
uid                  Foo Bar <foo@bar.net>
uid                  Foo Bar <foo@bar.org>
sub   2048g/1C8F17DD 2006-11-30

budete je muset rozdělit, pak nechat podepsat jednu po druhé, takže musíte exportovat svůj privátní klíč do souboru...

$ gpg --export-secret-key foo@bar.com > signing-key-foo@bar.com.seckey
$ chmod 600 signing-key-foo@bar.com.seckey

a pro každý UID importovat do dočasného domovského adresáře, pak odstranit "ostatní" UIDy, exportovat a nechat podepsat.

$ mkdir test
$ chmod 700 ./test
$ gpg --homedir ./test --import signing-key-foo@bar.com.seckey
gpg: keyring `./test/secring.gpg' created [vytvořen - privátní]
gpg: keyring `./test/pubring.gpg' created [vytvořen - veřejný]
gpg: key DA23A600: secret key imported [tajný, tj. privátní klíč importován]
gpg: ./test/trustdb.gpg: trustdb created [databáze důvěry]
gpg: key DA23A600: public key "Foo Bar <foo@bar.com>" imported [veřejný klíč "..." importován]
gpg: Total number processed: 1 [celkem zpracovaných: 1]
gpg:               imported: 1 [importovaných: 1]
gpg:       secret keys read: 1 [tajných klíčů přečtených: 1]
gpg:   secret keys imported: 1 [tajných klíčů importovaných: 1]
$ gpg --homedir ./test --list-keys [výpis klíčů]
./test/pubring.gpg
------------------
pub   1024D/DA23A600 2006-11-30
uid                  Foo Bar <foo@bar.com>
uid                  Foo Bar <foo@bar.net>
uid                  Foo Bar <foo@bar.org>
sub   2048g/1C8F17DD 2006-11-30
$ gpg --homedir ./test --edit-key foo@bar.com
Secret key is available. [Tajný klíč je dostupný.]
pub  1024D/DA23A600  created: 2006-11-30  expires: never       usage: SC
                     trust: unknown       validity: unknown
sub  2048g/1C8F17DD  created: 2006-11-30  expires: never       usage: E
[ unknown] (1). Foo Bar <foo@bar.com>
[ unknown] (2)  Foo Bar <foo@bar.net>
[ unknown] (3)  Foo Bar <foo@bar.org>
[Označíme uid 1 a 2]
Command> uid 2
pub  1024D/DA23A600  created: 2006-11-30  expires: never       usage: SC
                     trust: unknown       validity: unknown
sub  2048g/1C8F17DD  created: 2006-11-30  expires: never       usage: E
[ unknown] (1). Foo Bar <foo@bar.com>
[ unknown] (2)* Foo Bar <foo@bar.net>
[ unknown] (3)  Foo Bar <foo@bar.org>
Command> uid 1
pub  1024D/DA23A600  created: 2006-11-30  expires: never       usage: SC
                     trust: unknown       validity: unknown
sub  2048g/1C8F17DD  created: 2006-11-30  expires: never       usage: E
[ unknown] (1)* Foo Bar <foo@bar.com>
[ unknown] (2)* Foo Bar <foo@bar.net>
[ unknown] (3)  Foo Bar <foo@bar.org>
[Označené uid smažeme.]
Command> deluid
Really remove this user ID? (y/N) y
pub  1024D/DA23A600  created: 2006-11-30  expires: never       usage: SC
                     trust: unknown       validity: unknown
sub  2048g/1C8F17DD  created: 2006-11-30  expires: never       usage: E
[ unknown] (1)  Foo Bar <foo@bar.org>
Command> save [výsledek obsahující jednu adresu uložíme a otestujeme]
$ gpg --homedir ./test --armor --export foo@bar.org
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)
mQGiBEVvaR8RBADBDFM51H1uLNQlMeRhASDAr5s+K60+J67S2wvuhRySydqYDLLc
...
KAIbDAAKCRD+RGcX2iOmAPS+AKCnyTqlxxtri3uVl0o77Cx/YdI5UQCeJjuX35e0
EemNxcAwR3x3fvpEBD4=
=WoWh
-----END PGP PUBLIC KEY BLOCK-----

a tento klíč bude (konečně!) podepsán robotem CAcert. Importujte podepsaný klíč a opakujte postup pro ostatní dva.

$ vi signed.asc
$ gpg --import signed.asc
gpg: key DA23A600: "Foo Bar <foo@bar.org>" 1 new signature
gpg: Total number processed: 1
gpg:         new signatures: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   3  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   3  signed:   0  trust: 0-, 0q, 0n, 0m, 3f, 0u
gpg: next trustdb check due at 2033-07-03
$ gpg --list-sigs foo@bar.org
pub   1024D/DA23A600 2006-11-30
uid                  Foo Bar <foo@bar.com>
sig 3        DA23A600 2006-12-01  Foo Bar <foo@bar.com>
uid                  Foo Bar <foo@bar.net>
sig 3        DA23A600 2006-12-01  Foo Bar <foo@bar.com>
uid                  Foo Bar <foo@bar.org>
sig 3        DA23A600 2006-12-01  Foo Bar <foo@bar.com>
sig     P    65D0FD58 2007-01-07  CA Cert Signing Authority (Root CA) <gpg@cacert.org>
sub   2048g/1C8F17DD 2006-11-30
sig          DA23A600 2006-11-30  Foo Bar <foo@bar.com>

a další UID :) ...chcete-li mít pěkný diagram svých podpisů, zkuste:

$ sims -t1e1i1 | dot -Tpng > trust.png
$ display trust.png