電子メール暗号化用に独自のS / MIME証明書を作成できますか?[閉まっている]


19

ここで少し問題があります。これは「正しい質問をしていない」場合がありますので、ご容赦ください。

背景:Apple Mailの使用。電子メールを暗号化/復号化したいが、GPGMail(および明らかにPGP)はSnow Leopardではサポートされていません。

基本的に、電子メールの暗号化で使用するS / MIME証明書を作成する必要があります。私は認証局を望んでいませんし、気にしません。私はただ、手っ取り早い証明書が欲しいだけです。これも可能ですか(OPENSSLなどを使用)、またはプロセス全体が上位の機関に依存して、本格的なCAをセットアップするか、証明書を取得する会社(Verisign、Thawteなど)に対処する必要がありますか?私の基準はすぐに満足し、無料です。

ベスト。


1
証明書は、S / MIMEで2つの目的に使用されることに注意してください。メールに署名し他の人から送信されメールを復号化するため。他の人へのメールを暗号化するには、その証明書が必要です。通常、事前に設定されたCAのセットを信頼するために、電子メールクライアントはデフォルトでセットアップされています。証明書がこれらのいずれかによって署名されていない場合、少なくとも厄介なメッセージが表示され、場合によっては機能していないシステムが表示されます。
ジェームズ・レインステートモニカポーク

1
これは古い質問ですが、今後の参考のために、GPGMailプラグインはSnow Leopardで動作するようになりましたgpgtools.org/installer/index.html
ジェイソンホワイトホーン

これは古いコメントであることは知っていますが、OSXにとってGPGMailはもう無料ではありません。
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キーチェーンに追加する必要があります。Apple KeychainでCA証明書をインポートして信頼する方法についての多くの投稿がWeb上にあります。

個人用電子メール証明書リクエストを作成する

次に、証明書リクエストを作成する必要があります。電子メールを送信する電子メールアドレスごとに1つ作成します。次のコマンドを実行します…

# 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」であることを-少なくとも私のバージョンオープンSSLの1.0.0a 2010年6月1日のために
KevM

2
-CAKeyを-CAkeyに変更しました。これは本当に優れた答えですが、GPGに関する副次的なコメントは正当化されていません。S / MIMEにはGPGよりも多くの利点があります。幅広いサポートに加えて、各署名済みメッセージに証明書が含まれ、組み込みの証明書配布メカニズムを提供します。
vy32

証明書にはいくつかの制限を設定することを忘れないでください、参照security.stackexchange.com/a/30069/3272
トビアスKienzler

8

1
Commodoは<keygen>タグを使用して、プライベートキーを共有せずにブラウザでCSRを作成できるようにします。最近のほとんどのブラウザ(Chrome 49以降など)では機能しません。
mhvelplund

ページから引用:「Mozilla®Firefox®またはMicrosoft®InternetExplorer®8+を使用して証明書を収集してください。Google®Chrome®またはMicrosoft Edgeを使用してメール証明書収集することはできません」。これは、MDN互換性テーブルと一致します
フランクリンゆう

サファリを使用して動作します。
nycynik

1

他の人が言ったように、答えは明らかにイエスです。openssl経由で生成するか、無料のx509電子メール証明書を提供するプロバイダーのいずれかを使用できます。

そうは言っても、最も重要な質問は次のとおりです。あなたがメールを交換する人は何を使うのでしょうか?私はフリーソフトウェアコミュニティで活動しているため、メールをやり取りするほとんどの人はGPGを使用しています。私が知っている唯一のS / MIMEを使用しているのは、会社のポリシーの問題として、仕事用の電子メールで使用しています。

メールを送信している人がS / MIMEを使用していない場合、暗号化できず、署名されたメールを確認することもできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.