Nie ma czegoś takiego jak „odcisk palca smarthost”. Są to odciski palców certyfikatów TLS, które w tym kontekście należą do serwerów przekaźnikowych SMTP (smarthosts) - ale wszystko tutaj dotyczy w równym stopniu IMAPS, HTTPS, FTPS ... wszystkiego, co używa TLS.
Odciski palców certyfikatów TLS zwykle nie zależą od klienta: są skrótem SHA1 (lub SHA256) certyfikatu serwera i ogólnie serwery używają tego samego certyfikatu dla wszystkich.
Ale jednym wyjątkiem mogą być serwery równoważące obciążenie: duże witryny mogą mieć kilka serwerów pod jedną nazwą i chociaż mogą one współdzielić jeden certyfikat, nie jest to prawie wcale gwarantowane - mogą również z łatwością korzystać z 20 lub 50 certyfikatów jednocześnie.
Nawet w przypadku tego samego serwera jest bardzo prawdopodobne, że odcisk palca zmieni się - będzie różny za każdym razem, gdy certyfikat zostanie odnowiony (ponieważ zmieniają się daty ważności) lub zostanie wydany ponownie z jakiegokolwiek innego powodu (nowy klucz prywatny lub nowy wystawca, lub nowa nazwa domeny ...)
Podczas gdy certyfikaty były wydawane przez 3–5 lat w przeszłości (i instalowane ręcznie), nową praktyką jest automatyzacja procesu i stosowanie krótkoterminowych certyfikatów, zwykle 90, a nawet 45 dni. Google robi to od ok. 2014 i tak działa Let's Encrypt od pierwszego dnia. (Zgodnie z regulaminem forum CA / B nawet „standardowe” długoterminowe certyfikaty TLS są teraz ograniczone do 2 lat).
Tak więc tls_fingerprint
opcja ta jest przydatna tylko wtedy , gdy dokładnie wiesz , kiedy certyfikat ma się zmienić (np. Jeśli jesteś osobą, która go zmienia). W przeciwnym razie po prostu zepsuje konfigurację co miesiąc lub dwa.
W praktyce przynajmniej dystrybucje Linuksa dość szybko aktualizują swoje pakiety certyfikatów CA. (Jeśli tak nie jest, czy na pewno w ogóle chcesz uruchomić ten system operacyjny na komputerze?)
Powiedziałbym więc, że artykuł próbuje przestraszyć czytelników niewłaściwymi problemami. Dużo większym problemem jest to, że pakiety certyfikatów urzędów certyfikacji często zawierają kilka podejrzanych, kontrolowanych przez rząd urzędów certyfikacji z różnych krajów.
Alternatywa 1: Jeśli chcesz, możesz stworzyć niestandardowy tls_trust_file
zawierający tylko jeden urząd certyfikacji, z którego korzysta dostawca: np. Powiedz msmtp, aby ufał tylko DigiCert i nic więcej. Jest to powszechna metoda zwana „pin pin CA”. Ale nadal ma pewne szanse na uszkodzenie, ponieważ administratorzy serwerów mogą swobodnie wybierać, z którymi urzędami certyfikacji będą współpracować.
Alternatywa 2: Niektóre programy obsługują inny typ odcisków palców - odciski palców SPKI (skróty podmiotuPublicKeyInfo). Są to tylko surowe pary kluczy i nie zawierają żadnych dodatkowych metadanych certyfikatów. Serwer może okresowo odnawiać swój certyfikat, zachowując tę samą parę kluczy, a zatem ten sam odcisk palca SPKI.
(Jednak nawet jeśli twój klient obsługuje odciski palców SPKI (msmtp nie), będzie to miało tę zaletę, tylko jeśli wiesz, że administratorzy serwera odnawiają w ten sposób swoje certyfikaty. W większości przypadków nie.)