Michal Čihař - KMail, Kleopatra, gpgsm a kořenové certifikáty

KMail, Kleopatra, gpgsm a kořenové certifikáty

Hledáním způsobu, jak označit certifikát za důvěryhodný pro použití v KMailu jsem strávil poměrně dost času, tak se o něj podělím.

KDE používají na spravování X.509 certifikátů program Kleopatra. To ovšem není nic jiného než klikátko pro gpgsm. Kleopatra sama o sobě neumí nastavit certifikát jako důvěryhodný, to je potřeba řešit přímo v gpgsm. Důvěryhodné certifikáty (tedy jejich fingerprinty) si uživatel zapisuje do souboru ~/.gnupg/trustlist.txt ručně (je možné povolit spravovnání pomocí gpg-agenta, ale to není z bezpečnostních důvodů doporučováno, lidi moc často všechno odklikají :-).

Formát souboru je jednoduchý – kromě komentářů a prázdných řádek, každá obsahuje fingerprint klíče a za ním jeden znak (P, S nebo *), který asi určuje k čemu se certifikát může používat. Ve všech příkladech jsem našel jenom S a žádné vysvětlení a zdrojáky se mi zatím číst nechtělo :-)).

Nejdříve potřebujeme zjistit a ověřit fingerprint klíče. Pokud ho již máme naimportovaný, můžeme ho najít ve výpisu všech klíčů pomocí gpgsm --list-keys :

 Serial number: 00
       Issuer: /CN=CA Cert Signing Authority/OU=http:\x2f\x2fwww.cacert.org/O=Root CA/EMail=support@cacert.org
      Subject: /CN=CA Cert Signing Authority/OU=http:\x2f\x2fwww.cacert.org/O=Root CA/EMail=support@cacert.org
     validity: 2003-03-30 12:29:49 through 2033-03-29 12:29:49
     key type: 4096 bit RSA
 chain length: unlimited
  fingerprint: 13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33

Pak nějakou důvěryhodnou cestou ověříme jeho správnost a můžeme ho přidat do seznamu důvěryhodných:

 # /CN=CA Cert Signing Authority/OU=http:\x2f\x2fwww.cacert.org/O=Root CA/EMail=support@cacert.org
13:5C:EC:36:F4:9C:B8:E9:3B:1A:B2:70:CD:80:88:46:76:CE:8F:33 S

Nakonec je ještě potřeba dát vědět gpg-agentovi o této změne signálem HUP. A nyní by již maily podepsané certifikáty podepsanými touto autoritou měly být v KMailu zelené :-).