GlobalSignによって発行された証明書を使用してnginx/1.6.2でOCSPを設定するのに問題があります。私は多くの関連する投稿を読みましたが、私が見つけた解決策はどれもうまくいきませんでした。サーバーに接続すると、OCSPが機能しません
> openssl s_client -connect cawi.kondeor.at:443 -tls1 -tlsextdebug -status
[...] .
OCSP response: no response sent
depth=2 C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Domain Validation CA - SHA256 - G2
verify return:1
depth=0 OU = Domain Control Validated, CN = cawi.kondeor.at
verify return:1
---
Certificate chain
0 s:/OU=Domain Control Validated/CN=cawi.kondeor.at
i:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
1 s:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
subject=/OU=Domain Control Validated/CN=cawi.kondeor.at
issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
---
No client certificate CA names sent
---
SSL handshake has read 2944 bytes and written 372 bytes
---
[...]
---
nginxログには次のエラーが表示されます。
[error] 10646#0: OCSP_basic_verify() failed (SSL: error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:Verify error:unable to get issuer certificate) while requesting certificate status, responder: ocsp2.globalsign.com
私が見つけた他のすべての投稿は、証明書チェーンを修正することで解決されたエラーVerify error:unable to get LOCAL issuer certificate
に関連していました。私の 証明書チェーンopenssl ocsp
コマンドが機能するので問題ないようです(ただし、CDNのために-header "Host" "ocsp2.globalsign.com"
パラメーターを使用する場合のみ):
> openssl ocsp -issuer root_ca_and_intermediate.pem -cert signed_cert_and_intermediate.pem -url http://ocsp2.globalsign.com/gsdomainvalsha2g2 -CAfile root_ca_and_intermediate.pem -header "Host" "ocsp2.globalsign.com" -resp_text
OCSP Response Data:
OCSP Response Status: successful (0x0)
Response Type: Basic OCSP Response
Version: 1 (0x0)
Responder Id: 32B1CE1488C41C77C67D0B2DAEFE569D3A5F4E69
Produced At: Sep 12 20:46:48 2016 GMT
Responses:
Certificate ID:
Hash Algorithm: sha1
Issuer Name Hash: D1F1B576F9EEC0C10F7AFC7C3124A9C3625D7C61
Issuer Key Hash: EA4E7CD4802DE5158186268C826DC098A4CF970F
Serial Number: 1121CD2E68A5AE7FEF7A719EDD4AE4034F8B
Cert Status: good
[...]
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
14:dd:f1:f0:75:30:57:18:61:ec:c0:2c
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Domain Validation CA - SHA256 - G2
Validity
Not Before: Jul 25 03:28:41 2016 GMT
Not After : Oct 25 03:28:41 2016 GMT
Subject: C=BE, O=GlobalSign nv-sa/serialNumber=201607251137, CN=GlobalSign Domain Validation CA - SHA256 - G2 - OCSP Responder
[...]
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
Response verify OK
signed_cert_and_intermediate.pem: good
This Update: Sep 12 20:46:48 2016 GMT
Next Update: Sep 16 20:46:48 2016 GMT
私のnginx構成のクリーンアップされたバージョンはここにあります: http://Pastebin.com/KYujwSgS
Cloudflareがここで問題になる可能性がありますか、それとも私は何かを見落としていましたか?どんな助けでも大歓迎です!
すべてのコメントをありがとう!証明書チェーンをもう一度注意深く調べたところ、ルートCA証明書をファイルに入れていないことに気付きましたroot_ca_and_intermediate.pem
ただし、中間証明書は2回。
したがって、現在の作業設定は、ファイルsigned_cert_and_intermediate.pem
には、サイトの実際の証明書(最初)と実際の証明書の署名に使用される中間証明書(2番目)が含まれます。ファイル root_ca_and_intermediate.pem
には、中間証明書(最初)と、中間証明書の署名に使用されたルートCA証明書(2番目)が含まれます。