編集:次のドキュメントで説明されているようにhttp://www.novell.com/support/kb/doc.php?id=7002392
私はこのdomain.crt sf_bundle.crt >> domain.pem
のようなファイルを連結しましたが、次のコマンドopenssl s_client -connect domain:465
はverify error:num=19:self signed certificate in certificate chain
について文句を言います手がかり:D
tLSを介してIMAPとSMTPを提供するpostfixを介してmtaを構成しました。テスト中に自己署名証明書を作成しましたが、信頼できない証明書の警告を回避するために、Godaddyで安価な証明書を購入しました。 http://www.godaddy.com/compare/gdcompare3_ssl.aspx
ここでの問題は、おそらくGodaddyがダウンロードした証明書をインストールするときに、何か問題が発生しているため、まだ警告が表示されていることです。
以下は私が遭遇したプロセスです:
openssl genrsa -des3 -out domain.key 1024 openssl req -new -key domain.key -out domain.csr
Godaddyに行き、beingタグとendingタグを含むcsrファイルのコンテンツを貼り付けます。その時点で、生成された証明書(Zipファイル)をダウンロードできたので、次のファイルがあります。
sf_bundle.crt;チェーンファイル、使用方法がわからない domain.crt; Godaddyによってsf_bundleと一緒に提供 domain.csr;私によって生成 domain.key;私が生成
どうすればよいかわかりませんが、次のことを行いました。
cat domain.crt sf_bundle.crt >> /etc/ssl/certs/domain.pem
ln -sf /path/to/domain.key /etc/ssl/private/domain.key
しかし、テストすると、次の問題が発生します。
openssl s_client -connect imap.domain.ltd:465 CONNECTED(00000003) depth = 2 C = US、O = "Starfield Technologies、Inc。"、OU = Starfieldクラス2認証局 verifyerror:num = 19:selfsignedcertificate incertificatechain verifyreturn:0 --- Certificatechain 0 s:/ OU =ドメイン制御検証済み/CN=webeloping.es i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies、Inc。/ OU = http:// certificates.starfieldtech.com/repository/CN=Starfield Secure Certification Authority/serialNumber = 10688435 1 s:/ C = US/ST = Arizona/L = Scottsdale/O = Starfield Technologies、Inc。/ OU = http ://certificates.starfieldtech.com/repository/CN=Starfield Secure Certification Authority/serialNumber = 10688435 i:/ C = US/O = Starfield Technologies、Inc。/ OU = Starfield Class 2 Certification Authority 2 s:/ C = US/O = Starfield Technologies、Inc。/ OU = Starfield Class2認証局 i:/ C = US/O = Starfield Technologies、Inc。/ O U =スターフィールドクラス2認証局 --- サーバー証明書 ----- BEGIN CERTIFICATE ----- MIIFcjCCBFqgAwIBAgIHKx6Jb01O + jANBgkqhkiG9w0BAQUFADCB3DEL 。] BhMCVVMxEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAj BgNVBAoTHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOTA3BgNVBAsTMGh0 dHA6Ly9jZXJ0aWZpY2F0ZXMuc3RhcmZpZWxkdGVjaC5jb20vcmVwb3NpdG9yeTEx MC8GA1UEAxMoU3RhcmZpZWxkIFNlY3VyZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTERMA8GA1UEBRMIMTA2ODg0MzUwHhcNMTMwNzEyMDc1NTA0WhcNMTQwNzExMTcz MTAyWjA7MSEwHwYDVQQLExhEb21haW4gQ29udHJvbCBWYWxpZGF0ZWQxFjAUBgNV BAMTDXdlYmVsb3BpbmcuZXMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB [.____。】AQDTAHQM3SanFxSZWnxls837ySCHB/CfBJXIBoKQdYOf/N3lGt69jnNHF8X2ZmSI [ .____。】TeW5Xk/wXnjruKD/EhBvAxiYZVWcp5zJGxd6VNqntiFCVTSesSnwM/X6A54vq/57 [.____。】UnvrqK7ZozWnINiO/LIWxdVCUwcOmXH + fp6mVUsCbNd8Gp1HpMorhzpvBj1E/5I4 [.____。】HbZjErGfrLlCYhs2cATtTcBtiUxne3CKOsT/sWd3Z2DAKsJQqd5u3Y59EEfiJmDq xtoCkfYAhZz5F kA9mr2PQD + UKGLOGjvRDI7P8p5RR9ZG7jixdok5qq0OikCPwex4 hatfWEokBjmWcmr8QcUk1cQjAgMBAAGjggHXMIIB0zAPBgNVHRMBAf8EBTADAQEA MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAOBgNVHQ8BAf8EBAMCBaAw OQYDVR0fBDIwMDAuoCygKoYoaHR0cDovL2NybC5zdGFyZmllbGR0ZWNoLmNvbS9z [.____。】ZnMxLTI1LmNybDBZBgNVHSAEUjBQME4GC2CGSAGG/W4BBxcBMD8wPQYIKwYBBQUH AgEWMWh0dHA6Ly9jZXJ0aWZpY2F0ZXMuc3RhcmZpZWxkdGVjaC5jb20vcmVwb3Np dG9yeS8wgY0GCCsGAQUFBwEBBIGAMH4wKgYIKwYBBQUHMAGGHmh0dHA6Ly9vY3Nw LnN0YXJmaWVsZHRlY2guY29tLzBQBggrBgEFBQcwAoZEaHR0cDovL2NlcnRpZmlj YXRlcy5zdGFyZmllbGR0ZWNoLmNvbS9yZXBvc2l0b3J5L3NmX2ludGVybWVkaWF0 ZS5jcnQwHwYDVR0jBBgwFoAUSUtSJ9EbvPKhIWpie1FCeorX1VYwKwYDVR0RBCQw IoINd2ViZWxvcGluZy5lc4IRd3d3LndlYmVsb3BpbmcuZXMwHQYDVR0OBBYEFJp4 [.____。】5TYP4T3BfuI67Ek2vxtUNiVCMA0GCSqGSIb3DQEBBQUAA4IBAQBjXFPi/3e3GJ + J [.____。】Pj7Rafieee4Tqcc5QbwKvrFEdK3OW9/XjntchNOsKumKFJeiK8bsUbSTS + wlpyKG + qHwrf8d1TtZgKiyJTBHcKxItqSrGsULM5ntTFq/gchOkE0hwK4vfwHZD9bHyy20 Cqexu aTT3zpAL3zZi5q2QaOpqQxhPmlkIZvmNotw + A/E + 3hmOFKpQtVfT7XeAcQr [.____。】bIUMZUEbs778VzjnKdg4grD7oZxwPczbaeJLhdvKs8OEJSbqX/820hLQfoX + wMCI [.____。】PNI1jPU3th1cu9nPKU41BXIDY1L6w9zCl2DRvQvjFx9YnjQ/R6YiyaCCh39WS + XG + An9srwv [.____。】----- ENDのCERTIFICATE ---- -
Postfixの関連する構成は次のようになります。
##/etc/postfix/main.cf ##Godaddyがsf_bundle.crt smtpd_tls_cert_file =/etc/ssl/certs/domain.crt [.____とともに提供。] ##生成者 smtpd_tls_key_file =/etc/ssl/private/domain.key smtp_tls_CAfile =/etc/ssl/certs/ca-certificates.crt
チェーン内にルート証明書は必要ありません(ただし、ルート証明書を持っていると何も害はないと思います)。
このエラーは、opensslからの警告であると私は思います。それが意味するのは、opensslがそのチェーンのルート証明書を信頼する必要があることを知らないということだと思います。そのバンドルからルート証明書だけを取り出し、-CAfile
引数を使用してopensslコマンドをポイントすると、「エラー」がなくなると思います。
Sf_bundle.crtファイル内に2つ表示されます。
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
ブロック(各ブロックの上にプレーンテキストがあり、ブロックに含まれる証明書を示している可能性があります)。これらの各ブロックを独自のファイルに分割して、最終的にblock1.crt
とblock2.crt
になる場合は、それぞれでopenssl x509 -noout -subject -in <file.crt>
を実行して、それぞれの証明書の件名を取得できるはずです。
block2.crt
の件名が/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
であるとすると、openssl s_client -CAfile block2.crt -connect imap.domain.ltd:465
を実行できるはずです。できれば、自己署名証明書エラーが発生することなく接続できるはずです。
あなたが本当にしたなら
domain.key domain.crt sf_bundle.crt >> domain.pem
次に、秘密鍵をチェーンに含めましたが、含めないでください。
サーバーの証明書と一連の中間証明書のみが必要です。これにより、クライアントは、サーバーの最上位の発行者を、所有している信頼されたルート証明書と照合できます。