이메일 암호화를 위해 자체 S / MIME 인증서를 만들 수 있습니까? [닫은]


19

여기에 약간의 문제가 있습니다. "올바른 질문을하지 않는"경우 일 수 있기 때문에 저와 함께하십시오.

배경 : Apple Mail 사용. 이메일 암호화 / 암호 해독을 원하지만 Snow Leopard에서는 GPGMail (및 PGP)이 지원되지 않습니다.

기본적으로 전자 메일 암호화에 사용할 S / MIME 인증서를 만들어야합니다. 나는 인증 기관을 원하지 않는다. 나는 단지 빠르고 더러운 인증서를 원합니다. 이것이 가능합니까 (OPENSSL 등 사용) 또는 전체 프로세스가 전체 CA를 설정하거나 인증서 (예 : Verisign, Thawte)와 거래하도록 강요하는 더 높은 권한에 달려 있습니까? 나의 기준은 즉각적인 만족이며 무료입니다.

베스트.


1
참고 사용자의 인증서가 S / MIME의 두 가지 목적을 위해 사용됩니다. 귀하의 이메일에 서명 하고 다른 사람 이 귀하 에게 보낸 이메일을 해독 합니다. 다른 사람에게 이메일을 암호화하려면 인증서가 필요합니다. 일반적으로 전자 메일 클라이언트는 미리 설정된 일부 CA 세트를 신뢰하도록 기본 설정되어 있습니다. 인증서 중 하나가 인증서에 서명되지 않은 경우 최소한 불쾌한 메시지와 작동하지 않는 시스템이 표시됩니다.
James Reinstate Monica Polk

1
나는 이것이 더 오래된 질문이라는 것을 알고 있지만 나중에 참조하기 위해 GPGMail 플러그인은 Snow Leopard에서 작동합니다 gpgtools.org/installer/index.html
Jason Whitehorn

나는 이것이 오래된 의견이라는 것을 알고 있지만 GPGMail은 더 이상 OSX에 무료가 아닙니다.
nycynik

답변:


23

네, Apple Mail은 GPG를 지원하지 않습니다. :-( GPG 암호화 이메일도 선호하기 때문에 원했습니다.

또한 S / MIME 관련 정보 및 자체 전자 메일 인증서 생성이 어렵다는 것에 동의합니다. 내가 찾은 폴 Bramscher의 웹 페이지가 자신의 인증 기관 인증서를 만드는 방법의 좋은 설명이있다.

인증서 프로세스를 완전히 이해하지는 못했지만 이것이 함께 조각 할 수 있었던 것입니다. 아래에 표시된 각 명령에 대한 자세한 내용은 openssl 맨 페이지를 참조하십시오.

인증 기관 생성

첫 번째 단계는 자체 인증 기관 (CA)을 작성하는 것입니다. 명령은 ...

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

프롬프트를 따릅니다.

암호화 된 전자 메일을받는 모든받는 사람 에게 CA 인증서 (예 : ca.crt 내용 ) 를 발급해야합니다 . 받는 사람은 암호화 된 전자 메일을 신뢰할 수 있도록 CA 인증서를 설치하고 신뢰해야합니다. 설치는 사용 된 각 메일 클라이언트마다 다릅니다.

귀하의 경우, CA 인증서를 Apple Keychain에 추가해야합니다. 웹에는 Apple Keychain에서 CA 인증서를 가져오고 신뢰하는 방법에 대한 많은 게시물이 있습니다.

개인 전자 우편 인증서 요청 작성

이제 인증서 요청을 작성해야합니다. 이메일을 보내려는 각 이메일 주소마다 하나씩 만듭니다. 다음 명령을 실행하십시오…

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

프롬프트를 따릅니다.

인증 기관에서 인증서 요청에 서명

개인 인증서는 CA가 서명해야합니다. 이 경우, 당신!

# 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

출력은 서명 된 인증서입니다.

메일 응용 프로그램으로 가져올 인증서 준비

인증서를 .crt(PEM 형식, 제 생각에는)에서 .p12(PCKS12 형식) 으로 변환해야합니다 .

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

이제 *.p12*형식화 된 인증서를 메일 클라이언트로 가져올 수 있습니다 . 귀하의 경우, *.p12*파일을 Apple 키 체인으로 가져 오십시오 . 인증서가 올바르게 설치되면 Apple Mail에서 인증서 사용을 시작합니다.

더 쉬운 방법이 있습니다

물론 자체 CA를 만든 후에는 자체 인증 기관에서 만든 인증서를보다 쉽게 ​​관리 할 수 ​​있습니다. openssl 은…라는 스크립트와 함께 제공됩니다.

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

자신의 인증 기관이되는 과정을 단순화합니다. CA.pl에 대한 매뉴얼 페이지도 있습니다!


인증 기관 섹션에서 인증서 요청에 서명합니다. "-CAKey"인수는 소문자 'k'가있는 "-CAkey"여야합니다. 최소한 내 버전의 경우 Open SSL 1.0.0a 2010 년 6 월 1 일
KevM

2
-CAKey를 -CAkey로 변경했습니다. 이것은 정말 훌륭한 답변이지만 GPG에 대한 부수적 인 의견은 보증되지 않습니다. S / MIME은 GPG보다 많은 장점이 있습니다. 광범위한 지원 외에도 서명 된 각 메시지와 함께 인증서가 포함되어 기본 제공 인증서 배포 메커니즘을 제공합니다.
vy32

인증서에 대한 일부 제한을 설정하는 것을 잊지 마십시오. security.stackexchange.com/a/30069/3272
Tobias Kienzler

8

1
Commodo는 <keygen> 태그를 사용하여 개인 키를 공유하지 않고도 브라우저가 CSR을 만들 수 있도록합니다. 대부분의 최신 브라우저 (예 : Chrome 49 이상)에서는 작동하지 않습니다.
mhvelplund

페이지에서 인용하십시오.“ 인증서를 수집하려면 Mozilla® Firefox® 또는 Microsoft® Internet Explorer® 8+를 사용하십시오. 이메일 인증서 Google® Chrome® 또는 Microsoft Edge를 사용하여 수집 할 수 없습니다 . ”. 이것은 MDN호환성 표 와 일치합니다 .
Franklin Yu

사파리를 사용하여 작동합니다.
nycynik

1

다른 사람들이 말했듯이 대답은 분명히 그렇습니다. openssl을 통해 생성하거나 무료 x509 이메일 인증서를 제공하는 공급자 중 하나를 사용할 수 있습니다.

가장 중요한 질문은 이메일을주고받는 사람들이 무엇을 사용 하는가? 저는 자유 소프트웨어 커뮤니티에서 활동하고 있으므로 이메일을 교환하는 대부분의 사람들이 GPG를 사용합니다. 내가 아는 유일한 것은 S / MIME을 사용하는 것이 회사 정책의 문제로 업무용 전자 메일에서하는 것입니다.

이메일을 보내는 사람이 S / MIME을 사용하지 않는 경우 S / MIME을 암호화 할 수 없으며 서명 된 이메일을 확인할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.