Czy mogę utworzyć własny certyfikat S / MIME do szyfrowania wiadomości e-mail? [Zamknięte]

19

Mam tu trochę problemu. Bądźcie ze mną, bo może to być przypadek „nie zadawania właściwego pytania”.

Tło: Korzystanie z Apple Mail. Chcesz szyfrować / deszyfrować wiadomości e-mail, ale GPGMail (i najwyraźniej PGP) nie jest obsługiwany w systemie Snow Leopard.

Zasadniczo muszę utworzyć certyfikat S / MIME do użytku w szyfrowaniu wiadomości e-mail. Nie chcę ani nie zależy mi na urzędzie certyfikacji. Chcę po prostu szybkiego i brudnego certyfikatu. Czy jest to w ogóle możliwe (przy użyciu OPENSSL itp.), Czy cały proces zależy od wyższego organu, który zmusza mnie do utworzenia pełnowymiarowego urzędu certyfikacji lub do zawarcia umowy z firmą (np. Verisign, Thawte) w celu uzyskania certyfikatu? Moje kryteria to natychmiastowa satysfakcja i darmowa.

Najlepsza.

humble_coder
źródło
1
Pamiętaj, że twój certyfikat jest używany do dwóch celów w S / MIME. Aby zarejestrować swoje e-maile, a do odszyfrowania wiadomości wysłanej do Ciebie przez kogoś innego. Aby zaszyfrować wiadomość e-mail do kogoś innego, potrzebujesz jego certyfikatu. Zazwyczaj klienci poczty e-mail są konfigurowani od razu po wyjęciu z pudełka, aby ufać niektórym określonym zestawom urzędów certyfikacji. Jeśli certyfikaty nie zostaną podpisane przez jeden z nich, otrzymasz co najmniej nieprzyjemną wiadomość, a być może nawet niedziałający system.
James Reinstate Monica Polk
1
Wiem, że jest to starsze pytanie, ale do wglądu wtyczka GPGMail działa teraz na systemie
Jason Whitehorn
Wiem, że to starszy komentarz, ale GPGMail nie jest już bezpłatny dla OSX.
nycynik

Odpowiedzi:

23

Tak, szkoda, że ​​Apple Mail nie obsługuje GPG. :-( Chciałbym, żeby tak było, ponieważ wolę też szyfrowane wiadomości e-mail GPG.

Zgadzam się również, że trudno jest uzyskać informacje dotyczące S / MIME i generowania własnych certyfikatów e-mail. Odkryłem, że strona Paula Bramschera zawiera dobry opis tworzenia własnego certyfikatu urzędu certyfikacji.

Nie udaję, że w pełni rozumiem proces certyfikacji, ale właśnie to udało mi się poskładać. Powinieneś zajrzeć na stronę manuala openssl, aby uzyskać bardziej szczegółowe informacje o każdym z poleceń pokazanych poniżej.

Utwórz urząd certyfikacji

Pierwszym krokiem jest utworzenie własnego ośrodka certyfikacji (CA). Polecenia to…

# openssl genrsa -des3 -out ca.key 4096
# openssl req -new -x509 -days 365 -key ca.key -out ca.crt

i postępuj zgodnie z instrukcjami.

Będziesz musiał wydać certyfikat swojego urzędu certyfikacji (tj. Treść ok. Crt ) każdemu odbiorcy zaszyfrowanej wiadomości e-mail. Odbiorcy będą musieli zainstalować certyfikat CA i zaufać mu, aby zaszyfrowana wiadomość e-mail była godna zaufania. Instalacja będzie się różnić dla każdego używanego klienta poczty.

W twoim przypadku konieczne będzie dodanie certyfikatu urzędu certyfikacji do pęku kluczy Apple. W Internecie znajduje się wiele postów na temat importowania i ufania certyfikatowi CA w pęku kluczy Apple.

Utwórz osobiste żądanie certyfikatu e-mail

Teraz musisz utworzyć żądanie certyfikatu. Utwórz jeden dla każdego adresu e-mail, z którego chcesz wysłać wiadomość e-mail. Wykonaj następujące polecenia…

# openssl genrsa -des3 -out humble_coder.key 4096
# openssl req -new -key humble_coder.key -out humble_coder.csr

i postępuj zgodnie z instrukcjami.

Urząd certyfikacji podpisuje żądanie certyfikatu

Twój certyfikat osobisty musi zostać podpisany przez urząd certyfikacji. W tym przypadku ty!

# openssl x509 -req -days 365 -in humble_coder.csr -CA ca.crt -CAkey ca.key \
  -set_serial 1 -out humble_coder.crt -setalias "Humble Coder's E-Mail Certificate" \
  -addtrust emailProtection \
  -addreject clientAuth -addreject serverAuth -trustout

Dane wyjściowe to podpisany certyfikat.

Przygotuj certyfikat do zaimportowania do aplikacji pocztowej

Musisz przekonwertować certyfikat z .crt(format PEM, jak sądzę) na .p12(format PCKS12).

# openssl pkcs12 -export -in humble_coder.crt -inkey humble_coder.key \
  -out humble_coder.p12

Możesz teraz zaimportować *.p12*sformatowany certyfikat do klienta poczty. W twoim przypadku zaimportuj *.p12*plik do pęku kluczy Apple. Po prawidłowym zainstalowaniu certyfikatu Apple Mail zacznie używać tego certyfikatu.

Jest łatwiejszy sposób

Oczywiście po utworzeniu własnego urzędu certyfikacji istnieje łatwiejszy sposób zarządzania certyfikatami utworzonymi przez własny urząd certyfikacji. openssl zawiera skrypt o nazwie…

# /usr/lib/ssl/misc/CA.pl

co upraszcza proces bycia własnym ośrodkiem certyfikacji. Jest nawet strona podręcznika dla CA.pl!

Skazać
źródło
W sekcji Urząd certyfikacji podpisuje żądanie certyfikatu. Argument „-CAKey” musi być „-CAkey” z małą literą „k” - przynajmniej dla mojej wersji Open SSL 1.0.0a 1 czerwca 2010
KevM
2
Zmieniłem -CAKey na -CAkey. To naprawdę doskonała odpowiedź, ale komentarz boczny na temat GPG jest nieuzasadniony. S / MIME ma wiele zalet w porównaniu z GPG. Oprócz szerszej obsługi, obejmuje on certyfikat z każdą podpisaną wiadomością, zapewniając wbudowany mechanizm dystrybucji certyfikatów.
vy32
Nie zapomnij ustawić pewnych ograniczeń dla certyfikatu, patrz security.stackexchange.com/a/30069/3272
Tobias Kienzler
8

Bezpłatny i podpisany przez urząd certyfikacji: http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

Andrew McGregor
źródło
1
Commodo używa znacznika <keygen>, aby umożliwić przeglądarce wykonanie CSR bez udostępniania klucza prywatnego. To nie działa w większości nowoczesnych przeglądarek (np. Chrome 49+).
mhvelplund
Cytat ze strony: „ Użyj Mozilla® Firefox® lub Microsoft® Internet Explorer® 8+, aby odebrać swój certyfikat. Certyfikatów e-mail nie można zbierać za pomocą Google® Chrome® lub Microsoft Edge. ”. Jest to zgodne z tabelą zgodności z MDN .
Franklin Yu
działa przy użyciu safari.
nycynik
1

Jak powiedzieli inni, odpowiedź brzmi oczywiście tak. Możesz go wygenerować przez openssl lub możesz skorzystać z usług jednego z dostawców, który daje bezpłatny certyfikat e-mail x509.

Biorąc to pod uwagę, najważniejsze pytanie brzmi: z jakimi osobami korzystasz z poczty e-mail? Aktywnie działam w społeczności Wolnego oprogramowania, więc większość osób, z którymi wymieniam e-maile, korzysta z GPG. Jedyni, o których wiem, że używają S / MIME, robią to na e-mailach służbowych w ramach polityki korporacyjnej.

Jeśli osoby, do których wysyłasz wiadomości e-mail, nie używają S / MIME, nie będziesz w stanie ich zaszyfrować i nie będzie w stanie zweryfikować podpisanych wiadomości e-mail.

David
źródło