HTTP SSL証明書の検証失敗
Certificate verify failedエラーは、有効な証明書なしでWorkatoのHTTPコネクターに接続しようとすると発生します。
Workato::Adapters::OnException::Exception: SSL_connect returned=1 errno=0 state=error: certificate verify failedこのエラーは、次の理由で発生することがあります:
- 証明書が自己署名されている:証明書が信頼された認証局によって発行されていません。
- 証明書チェーンが不完全である:ターゲットサーバーが検証に必要なすべての中間証明書を返しません。
- 証明書が無効または一致していない:証明書の有効期限が切れているか、想定されるドメインと一致していません。
HTTPコネクターが証明書エラーを処理する方法
HTTPコネクターは、サーバーのSSL証明書を検証できない場合に証明書検証エラーを返します。 これは、証明書が自己署名されている、有効期限が切れている、または完全な信頼チェーンがない場合に発生します。
ブラウザー、Postman、Workatoを含むほとんどのSSLクライアントは、デフォルトで自己署名証明書や不完全な証明書を拒否します。 信頼を確立するには、コネクション設定時に完全な証明書チェーンをアップロードする必要があります。
コネクターは、完全な証明書チェーンがアップロードされている場合にのみ、自己署名証明書を受け入れます。 証明書の有効期限が切れている場合やサーバードメインと一致しない場合、コネクターは引き続きコネクションを拒否します。 このような場合にセキュアな通信を復元するには、証明書を置き換える必要があります。
トラブルシューティング方法
ターゲットサーバーから証明書チェーンをダウンロードし、それをHTTPコネクション設定にアップロードすることで、自己署名証明書との信頼を確立できます。 これにより、証明書が公開認証局によって署名されていない場合でも、WorkatoはSSLハンドシェイクを検証できます。
証明書チェーンのダウンロード
ターゲットサーバーから証明書チェーンをエクスポートするには、次の手順を実行します:
Firefoxなどのブラウザーを開き、自己署名SSL証明書を使用する安全なページに移動します。 例:https://self-signed.badssl.com/。
詳細設定…をクリックします > 証明書を表示をクリックして証明書の詳細を表示します。
証明書の取得
完全な証明書チェーンを.pemファイルとしてダウンロードするには、PEM (chain)をクリックします。
証明書チェーンのダウンロード
完全な証明書チェーンが重要な理由
証明書チェーンには、サーバー証明書、中間証明書、ルート証明書など、複数の証明書が含まれます。 信頼を確立するには、各証明書が直前の証明書を検証する必要があります。
完全なチェーンがない場合、Workatoはターゲットサーバーを検証できません。 コネクションエラーを回避するには、すべての証明書を含める必要があります。
ダウンロードしたファイルをテキストエディターで開きます。 1つ以上の証明書が含まれ、それぞれが -----BEGIN CERTIFICATE-----と-----END CERTIFICATE-----で囲まれていることを確認します。
テキストエディターを使用してダウンロードした証明書を開く
すべてのBEGIN/ENDブロックを含む、証明書の内容全体をコピーします。
証明書チェーンをコピーしたら、WorkatoでHTTPコネクションを設定して設定を完了できます。
HTTPコネクションの設定
HTTPコネクションを設定するには、次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
New connection(新規コネクション)ページでHTTPを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
必須フィールドに入力します。 詳細については、HTTPコネクション設定のドキュメントを参照してください。
Use custom TLS/SSL certificate settings(カスタムTLS/SSL証明書設定を使用)フィールドをYes(はい)に設定します。
ダウンロードした証明書チェーンをTLS server custom CA certificate(TLSサーバーのカスタムCA証明書)フィールドに貼り付けます。
複数の証明書を分ける
チェーンに複数の証明書が含まれる場合は、各証明書を空行で区切ります。
ダウンロードした証明書の内容を貼り付ける
接続をクリックします。
証明書チェーンが有効かつ完全な場合、コネクターでの処理は成功するはずです。
証明書エラーのトラブルシューティング
証明書チェーンが不完全な場合、HTTPコネクターは次のエラーを返すことがあります:
SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get issuer certificate)このエラーは通常、カスタムCA証明書をすでに使用しているコネクションで、チェーン内の証明書が不足しているか、誤って設定されていることを示します。
このエラーを解決するには、次の手順を実行します。
TLS server custom CA certificate(TLSサーバーのカスタムCA証明書)フィールドに完全な証明書チェーンを指定していることを確認します。 次の順序で含め、各証明書を空行で区切ります:
- サーバー証明書
- 任意の中間証明書
- ルート証明書
証明書チェーン設定を検証します。 完全で正しい順序のチェーンであれば、コネクター、およびPostmanやcURLなどの外部ツールで動作するはずです。
ターゲットサーバーが有効かつ完全なチェーンを返すことを確認するには、KeyCDN SSL Checkerなどのツールで証明書チェーンを確認します。

https://www.google.comの証明書チェーンチェックの例
Last updated: