- 問題:信頼されていない CA または自己署名証明書の使用
修正:Webhook コールバックサーバーに、パブリック CA 発行の SSL 証明書を使用します。
新機能
開始する
管理者
契約書の送信、署名、および管理
高度な契約書機能とワークフロー
他の製品との統合
Acrobat Sign 開発者
サポートとトラブルシューティング
双方向 SSL は、クライアント側 SSL または相互 TLS とも呼ばれ、サーバーとクライアント(Web ブラウザー)の両方が自身を識別するための証明書を提示する SSL モードです。
アカウント管理者は、セキュリティ設定ページでクライアント側の証明書を構成できます。
Acrobat Sign は、webhook URL にペイロードを配信する際に SSL 証明書を検証します。SSL 証明書の検証に失敗した webhook は、JSON ペイロードを正常に配信しません。
双方向 SSL を使用してクライアント(Acrobat Sign)とリッスンサービスを認証し、Acrobat Sign のみが webhook URL に到達できるようにします。
Webhook がパートナーアプリケーションにより作成された場合は、webhook は、webhook 通知の送信時に、パートナーアプリケーションのアカウントから取得されたクライアント証明書(ある場合)を使用して、自身を識別します。
以下に、web サーバー検証プロセスとクライアント証明書の検証の両方に関する一般的な質問を示します。
Webhook の登録時に、Acrobat Sign は Webhook サーバーの URL を検証します。
Acrobat Sign から Webhook コールバック URL への接続が完了できない場合、お客様は Webhook を登録できません。
いいえ
Webhook コールバック URL は、ポート 443 または 8443 でのみ HTTPS にできます。
Acrobat Sign は、その他すべてのポートへのアウトバウンド HTTPS トラフィックをブロックします。
サーバー証明書を検証するには、DigiCert® SSL インストール診断ツールを使用することをお勧めします。
ホスト名のみを入力します(例:www.digicert.com)。
一般的な問題には、次のものがあります。
修正:Webhook コールバックサーバーに、パブリック CA 発行の SSL 証明書を使用します。
修正:Webhook コールバックサーバーに中間証明書をインストールします。
詳細については、https://www.digicert.com/jp/kb/ssl-certificate-installation.htm を参照してください。
Webhook に双方向 SSL を設定するには、管理者がプライベートキーを含む .p12(または .pfx)ファイルをアップロードする必要があります。ファイルはお客様のアカウント内に安全に保存され、管理者が随時削除できます。
双方向 Webhook の設定では、Acrobat Sign は呼び出し元/クライアントであり、お客様のアカウントに代わり Acrobat Sign が呼び出しを行ったことを証明するためにプライベートキーが必要です。
双方向 SSL が有効なことの確認
Webhook コールバックサーバーで双方向 SSL を有効にする必要があります。
任意の Web ブラウザーを使用して、Webhook コールバック URL に接続します。次のメッセージが表示されます。
400 Bad Request No required SSL certificate sent
この場合、サーバーはクライアントがクライアント証明書を送信することを要求します(つまり、双方向 SSL がサーバーで有効になっています)。
上記のメッセージが表示されない場合、双方向 SSL は有効ではありません。
Postman を使用して、Webhook コールバック URL に POST リクエストを実行できます。同様の結果が出力されます。
クライアント資格情報は、自己署名証明書または CA 発行証明書のいずれかになります。ただし、次の X.509 v3 拡張機能に最小限準拠する必要があります。
X.509 v3 拡張機能 |
Value |
---|---|
ExtendedKeyUsage |
clientAuth(OID:1.3.6.1.5.5.7.3.2) |
KeyUsage |
digitalSignature |
クライアント証明書は、拡張子が .p12 または .pfx の PKCS12 ファイルである必要があります。また、クライアント証明書(サーバーがクライアントの ID を検証できるようにする)とクライアントのプライベートキー(クライアントが SSL ハンドシェイク中にサーバーに対してメッセージをデジタル署名して検証できるようにする)の両方を含める必要があります。
次の openssl コマンドを使用して、p12(pfx)ファイルを検証します。
openssl pkcs12 -info -in outfile.p12
プライベートキーのパスフレーズが要求されます。出力には、次のように証明書と暗号化されたプライベートキーの両方が含まれています。
Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB subject=/C=US/ST=California/L=San Jose/O=Adobe Inc./CN=sp.adobesignpreview.com issuer=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 -----BEGIN CERTIFICATE----- MIIGwDCCBaigAwIBAgIQAhJSKDdyQZjlbYO5MJAYOTANBgkqhkiG9w0BAQsFADBP MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMSkwJwYDVQQDEyBE ... JAKQLQ== -----END CERTIFICATE----- Bag Attributes: <No Attributes> subject=/C=US/O=DigiCert Inc/CN=DigiCert TLS RSA SHA256 2020 CA1 issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA -----BEGIN CERTIFICATE----- MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 ... -----END CERTIFICATE----- Bag Attributes localKeyID: 9D BD 22 80 E7 B2 B7 58 9E AE C8 42 71 F0 39 E1 E7 2B 57 DB Key Attributes: <No Attributes> -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI7eNh2qlsLPkCAggA ... FHE= -----END ENCRYPTED PRIVATE KEY-----
証明書には、少なくともエンドエンティティ証明書と中間証明書が含まれている必要があります。ルート CA 証明書も含まれていることが理想的です。
.p12 または .pfx ファイルがパスフレーズで保護されていることを確認します。
自己署名クライアント証明書の作成(オプション)
クライアント証明書は、必要に応じて CA 発行または自己署名のいずれかになります。
自己署名クライアント証明書を生成するには、次の openssl コマンドを使用します。
openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer
作成されたファイルは自己署名 CA 証明書であるため、公開しないようにします。
次に、クライアント .p12 ファイルを生成します。
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.req
openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
rm client.key client.cer client.req
Postman で PFX ファイルを確認した後でも、Acrobat Sign が PFX ファイルを拒否するのはなぜですか?
上記のプロセスに従って pfx ファイルを検証しても、Acrobat Sign が pfx ファイルを拒否する場合、非標準の PKCS12 ファイルを生成できる Microsoft ツールでファイルが生成された可能性があります。
この場合、次の openssl コマンドを使用して、証明書とプライベートキーを pfx ファイルから抽出し、適切な形式の PKCS12 ファイルを生成します。
// Extract certificates and private key from pfx file openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.crt -nokeys openssl pkcs12 -info -in microsoftclientssl.pfx -passin pass:"" -out clientcert.key -nodes -nocerts // Create new PKCS12 file openssl pkcs12 -export -inkey clientcert.key -in clientcert.crt -out clientcert.pfx