Ostatnio opisałem jak zmusić Kmail do akceptacji prawidłowych certyfikatów na przykładzie mBanku. Teraz zapragnąłem czegoś więcej – własnego certyfikatu.
Jest wiele opisów jak utworzyć certyfikat podpisany przez samego siebie. Jednak takie certyfikaty są złe ponieważ nie będą oznaczane automatycznie jako zaufane. Niewiele osób wie, że można uzyskać darmowy certyfikat podpisany przez zaufanego wystawcę. W dalszej części opiszę jak można go uzyskać.
Tag Archives: certyfikat
Oznaczanie certyfikatu mBanku jako zaufanego
Jestem… hmmm… powiedzmy, że szczęśliwym użytkownikiem mBanku. Niestety od zawsze kmail nie potrafił poprawnie zweryfikować ich podpisu. I co jak co, ale trochę dziwnie wyglądają maile od Twojego banku, które mają błędny certyfikat… Po kilku latach męczenia się z tym i paroma niemrawymi próbami w końcu wymyśliłem jak to rozwiązać.
Najpierw trzeba zainstalować wymagane pakiety:
apt-get install pinentry-qt4 kleopatra
Kleopatra nie jest konieczna do działania, ale przyda się, do podglądu, co się dzieje z certyfikatami.
Następnie w katalogu ~/.gnupg tworzymy pliki konfiguracyjne:
gpg-agent.conf:
pinentry-program /usr/bin/pinentry-qt default-cache-ttl 86400 # be aware that the passphrases will be cached for 86400 seconds! set accordingly to your needs max-cache-ttl 86400 disable-scdaemon write-env-file ~/.gnupg/.gpg-agent-info allow-mark-trusted keep-display display :0.0 verbose debug-level advanced log-file socket:///home/cyryl/.gnupg/log-socket
gpgsm.conf:
auto-issuer-key-retrieve include-certs -1 # this will include all certificates in the chain up to the root debug-level basic disable-policy-checks auto-issuer-key-retrieve prefer-system-dirmngr debug-level advanced log-file socket:///home/cyryl/.gnupg/log-socket
Teraz importujemy certyfikaty najwyższego rzędu:
gpgsm --import /etc/pki/tls/certs/ca-bundle.pem
I oznaczenie je jako zaufane. Najprościej to zrobić automatycznie poleceniem:
gpgsm --list-keys 2>/dev/null | grep fingerprint | awk '{print $2 " S"}' >> ~/.gnupg/trustlist.txt
Po tej akcji Kleopatra będzie już widziała większość root certyfikatów jako zaufane.
Teraz wystarczy ponownie wyświetlić naszą podpisaną wiadomość, a jej certyfikat zostanie automatycznie zaimportowany.
I niestety, ale root certyfikat dla mBanku nie jest jeszcze widoczny jako zaufany mimo, że występuje już w pliku trustlist.txt. Na liście certyfikatów odnajdujemy certyfikat mBanku i wchodzimy w szczegóły certyfikatu najwyższego poziomu. Sprawdzamy odcisk palca.
W pliku ~/.gnupg.trustlist.txt odnajdujemy odcisk palca tego certyfikatu i na końcu linii dopisujemy słowo relax. Cała linia powinna wyglądać tak:
61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11 S relax
Teraz wszystko powinno już działać. Jeśli Po odświeżeniu wiadomość nie jest zielona, można ubić proces pgp-agent dla odświeżenia konfiguracji.