Monthly Archives: February 2011

Podpisywanie emaili ważnym certyfikatem

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ć.

Continue reading

Drukarka Samsung ML-1660 a Linux

Jako, że stara drukarka przeszła do historii, musiałem sobie sprawić nową. Wybór padł na Samsung ML-1660. Bo jest mała, tania i działa pod Linuksem bez problemów.

Niestety, jak zwykle, rzeczywistość nie jest tak piękna. Mała i owszem. Jednak złącza USB i zasilania są na tylnym panelu, podłączane prostopadle do obudowy. Dzięki temu, aby zmieścić wystające wtyczki drukarka musi stać jakieś 5cm od ściany.

To co Samsumg napisał w specyfikacji jest szczerą prawdą. Drukarka działa pod Linuksem. Jednak jej instalacja jest drogą przez mękę. Oto jak tego dokonać, na podstawie systemu PCLinuxOS.

Przede wszystkim trzeba odinstalować pakiet libtmp. Koliduje on z drukarką i podczas jej instalacji powoduje jej nieprawidłowe wykrywanie i zawieszanie.

apt-get remove libmtp8

Zapewne poprosi w tym momencie o usunięcie paru przydatnych programów, jak na przykład VLC, Amarok lub Clementine. Trudno, trzeba się zgodzić, ale to tylko na chwilę.
Ze strony Samsunga ściągamy Unified Driver i rozpakowujemy. Nie będziemy uruchamiali instalatora. Drukarka i tak nie zostanie wykryta przez instalator, a sam program do zarządzania drukarkami nie wygląda na jakiś specjalnie przydatny.

wget "http://org.downloadcenter.samsung.com/downloadfile/ContentsFile.aspx?CDSite=PL&CttFileID=2745812&CDCttType=DR&ModelType=N&ModelName=ML-1660&VPath=DR/201001/20100121132724343/UnifiedLinuxDriver_0.86.tar.gz"
tar -xzf UnifiedLinuxDriver_0.86.tar.gz
 
# Dla i386:
cp cdroot/Linux/i386/at_root/usr/lib/cups/filter/rastertosamsung* /usr/lib/cups/filter/
# dla i64
cp cdroot/Linux/x86_64/at_root/usr/lib64/cups/filter/rastertosamsung* /usr/lib/cups/filter/
 
chmod 755 /usr/lib/cups/filter/rastertosamsung*
chown root:root /usr/lib/cups/filter/rastertosamsung*

Teraz podłącz i włącz drukarkę.
Przejdź do Centrum Sterowania -> Sprzęt -> Set up printer… Jeśli masz szczęście – drukarka pojawi się sama. Jeśli nie – trzeba dodać ją samemu. W takim wypadku jako urządzenie wybieramy /dev/usb/lp0.

Następnie jako typ drukarki należy wybrać własny plik PPD i wskazać na plik cdroot/Linux/noarch/at_opt/share/ppd/ML-1660spl.ppd.

Po instalacji drukarki można z powrotem zainstalować libmtp i usunięte aplikacje.

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.