他のホストですでに信頼されているx509証明書の信頼

他のホストですでに信頼されているx509証明書の信頼

2つのホストがあります。 1つはDebian Busterを使用し、もう1つはCentOS 7を使用します。

SSL経由でSMTPサーバーに接続したいです。ただし、CentOSでのみこれを実行できます。

CentOS:

$ openssl s_client -connect smtp.server.com:587
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = server.com
verify return:1
---
Certificate chain
 0 s:/CN=server.com
   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
...

ダーバン:

$ openssl s_client -connect smtp.server.com:587
CONNECTED(00000003)
depth=0 CN = server.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = server.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
 0 s:CN = server.com
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
---

問題は、DebianホストにLet's Encrypt証明書がないか、それを信頼していないようです。

あるシステムから別のシステムに信頼を「転送」するには?つまり、誰もが同じ証明書を信頼しているかどうかを確認します。

答え1

CA証明書パッケージのインストール

まず、ルートCA証明書パッケージがDebianコンピュータにインストールされていることを確認する必要があります。

ランニング:

$ apt list --installed 2>/dev/null | grep ca-certificates

[installed]出力が行の末尾にある場合はインストールされていますが、パッケージにルートCA証明書がないことを意味します。次のセクションに進んでください。

コマンドが何も出力しない場合は、次のコマンドを使用してCA証明書をインストールする必要があります。

$ sudo apt install ca-certificates

この時点でコマンドを再テストしてください。

それでも失敗した場合は、次のようにルートCA証明書を手動で追加する必要があります。

信頼アンカーストアにルートCA証明書を追加する

読んだらここ正しいルートがあることがわかります。ISRGルートX1を暗号化しよう。発行CAを暗号化しよう(権限を暗号化しよう X3)は上記の機関から署名され、IdentrustのルートCAが交差署名し、以前のシステムとの互換性を向上させました。 CentOSコンピュータは後者を使用していますが、来年リリースされる予定なので、Debianコンピュータにインストールする価値はありません。

Debian マシンを動作させるにはダウンロードしてください。ISRGルートX1を暗号化しよう上記のリンクからDebianシステムに保存してください(例ISRG_Root_X1.pem:)/usr/local/share/ca-certificates/

先に進む前に、私が提供するリンクが実際の(Let's Encryptサイト)であり、セキュリティ(HTTPS)であるか、偽のルートCA証明書をインストールするように誘導するのではないことを確認してください。

次に、次を実行します。

$sudo update-ca-certificates

トラストストアに新しい証明書を追加します。

Identrust ルート CA 証明書を実際に使用するには、以下からダウンロードできます。ここ。これがページの最後のリンクです。

コマンドを再試行してください。正しく機能してください。

SMTPサーバー構成エラー

それでも失敗した場合は、SMTPサーバーがTLSハンドシェイクの一部として証明書チェーンを送信していることを確認する必要があります。通常、サーバー管理者は最終的なエンティティ証明書のみを構成し、CAチェーンは無視します。-showcertsDebianボックスのコマンドに追加し、すべての証明書(PEM形式)が表示されることを確認します。

不足している場合は、サーバー管理者に連絡して(親切に)サーバーを正しく構成するように依頼してください。

関連情報