Exim FAQ

前の満足です

17. 暗号化(TLS/SSL)

Q1701: 私は、私のクライアントがTLSを使うことを可能にするために、セルフサインされた証明書を使うEximサーバーをセットアップしようとしています。 しかし、Exim以外のクライアントは、この証明書を受け入れることを断ります。 間違いは何ですか?

A1701: 何人かのクライアントが、サーバーによって示された証明書が、セルフサインされた証明書ではなくユーザー(また「葉」または「サイト」と呼ばれます)証明 書であることを必要としているようです。 この状況で、セルフサインされた免許状は信頼された根証明権威(CA)としてクライアントにイン ストールされなければならず、サーバーによって使われた証明書はそのセルフサインされた証明書によってサインされたユーザー証明書であるにちがいありませ ん。

セルフサインされたCA証明書を作成し、ユーザー証明書にサインするためにそれらを使うことについての情報のために、http://ospkibook.sourceforge.net/で オンラインで入手可能なオープンソースPKI本の一般的なインプリメンテーション概要章を見てください。 ここに迅速な概要があります。 第一に、このメッセージを読んでください:

http://www. FreeBSD.org/cgi/mid.cgi?id=3C3F3A93. C1ECF9B0%40mindspring.com

そして、これらの2(連続的です)ページに見つかった手順に従ってください:

http://ospkibook.sourceforge.net/docs/OSPKI-2.4.6/OSPKI/initialisation.htm http://ospkibook.sourceforge.net/docs/OSPKI-2.4.6/OSPKI/keygensign.htm

PKI本文学における2ポイント:

(1) それは、ユーザー/サイト/葉の証明書を暗号化するためにpassphraseで保護されたキーを使うことがOKであると仮定しました。 これが容認できないならば、次の通りpassphrase外で脱ぐことができるようです:

             user.key-私達のuser.key.new mv user.key.newのopenssl rsa-

user.keyが作成されたすぐ後に、これはされるべきです。

(2) sign.shスクリプトはmod_ssl配布において入手可能で、http://www.modssl.org/source/で 入手可能です。

手順に従って、以下のファイルによって終わります:

(a) ca.crt

このファイルは信頼されたルート証明権威としてクライアントソフトウエアの中にインストールされるべきです。 Windows XP中で、これは次の通りされることができます:

ファイルをca_cert.cerと呼んでください。
ファイルをダブルクリックしてください。
「インストール証明書」;
「次」
「すべての証明書を以下の店に置いてください」
「ブラウズ…」
「信頼された根証明当局」
「OK」
「次」
「終結」
「はい」
「OK」

(b)user.crtuser.key

これらのファイルはサーバーソフトウェアの中にインストールされるべきです。 Eximにおいて、これは、これらのラインをコンフィギュレーションファイルに追加することによってされることができます:

   tls_certificate = /usr/local/etc/exim/tls_cert tls_privatekey = /usr/local/etc/exim/tls_key

そして、適切なディレクトリの中の名前tls_certtls_key下でuser.crtuser.keyを 任命してください。

Q1702: どのように私は、Eximが、セッションが暗号化される時だけにSMTP認証への支持を広告するように手配することができますか?

A1702: この設定を使ってください:

   auth_adv ertise_hosts=$ {ならば eq{$tls_暗号文{}}}{}{ }{{*}}

Q1703: 私は、STARTTLSを使わないけれどもssmtpポート(465)との接続において自動的にTLSセッションを協議することを予定している何人かの遺 産クライアントを持っています。 Eximはこれを処理することができますか?

A1703:-tls-オンの接続オプションは、これを処理するために入手可 能です。 どれが始められるかの1、によるtlsオン、接続する違うポートの上で聞いているExim聴取者の2つの例を動かす必要がありま す。 他のlisteneverを使うinetdによって2つのデーモンまたは1つのデーモンを使うことができます。 例えば、ここに、2つのデーモンを始めるコマンドがあります:

   exim -bd -q15m exim -bd -oX‘[0.0.0.0]::465’-、tlsでオンに、接続してください

一番目は「正常」デーモンです; 2番目は、ポート465上で聞き、各接続の開始でTLSセッションを流通させることを予定しています。

Q1704: TLSセッションを開始するために、私のOutlook Express6.0クライアントがSTARTTLSコマンドを送る時に、Eximは、それを受け取るようでありません。

A1704: Q0059を 見てください。

Q1705: 私は中で何人かのホストをリストしました。tls_try_verify_hostsけれども、彼らが接続する時に、どのデータも$tls_peerdnに 出ません。

A1705: これは、サーバーによって、そうするように頼まれる時に、クライアントが証明書を送らなかったことを意味しています。 クライアントがEximを動かしているならば、それをチェックしてください。 tls_certificate それらのsmtp輸送船に正しく設定されます。 この値がグローバルから自動的に引き継がれないことに注意してください tls_certificate オプション。

Q1706: 私は中で何人かのホストをリストしました。tls_verify_hosts そして、それらに証明書を提供したけれども、それらの接続はいつも拒絶されます。

A1706: Q1705ま での返答を見てください。

Q1707: 私は、クライアントとして発展によってTLSを使い、この誤りに気付き続けようとしています: SMTPプロトコル違反: 同期のエラー(あまりにもすぐ送られた次のインプット): 拒絶された「\200F A C」。 それは何を意味していますか?

A1707: エラーの一般的な説明のためにQ0086を見てください。 この場合に、それはたぶん、発展が、最初にSTARTTLSコマンドを使わずに、それが接続するとすぐにTLSセッションを流通させようとしていることを 意味しています。 これは、STARTTLSが定義される前にTLSを起動するより古い方法でした。 ランにExim使いの別個の例に、この用法をまかない、違うポートの上で聞いているコマンドラインオプションでtlsオン接続させるでしょ う。 例えば:

   exim -bd -oX 465 -tlsでオンの接続する

465は、この種類のSMTPサーバーのための非公式な標準である「smtps」ポートです。



前の満足です