HTTP SSL証明書の検証失敗

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

Certificate verify failedエラーは、有効な証明書なしでWorkatoのHTTPコネクターに接続しようとすると発生します。

text
Workato::Adapters::OnException::Exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed

このエラーは、次の理由で発生することがあります:

  • 証明書が自己署名されている:証明書が信頼された認証局によって発行されていません。
  • 証明書チェーンが不完全である:ターゲットサーバーが検証に必要なすべての中間証明書を返しません。
  • 証明書が無効または一致していない:証明書の有効期限が切れているか、想定されるドメインと一致していません。

HTTPコネクターが証明書エラーを処理する方法

HTTPコネクターは、サーバーのSSL証明書を検証できない場合に証明書検証エラーを返します。 これは、証明書が自己署名されている、有効期限が切れている、または完全な信頼チェーンがない場合に発生します。

ブラウザー、Postman、Workatoを含むほとんどのSSLクライアントは、デフォルトで自己署名証明書や不完全な証明書を拒否します。 信頼を確立するには、コネクション設定時に完全な証明書チェーンをアップロードする必要があります。

コネクターは、完全な証明書チェーンがアップロードされている場合にのみ、自己署名証明書を受け入れます。 証明書の有効期限が切れている場合やサーバードメインと一致しない場合、コネクターは引き続きコネクションを拒否します。 このような場合にセキュアな通信を復元するには、証明書を置き換える必要があります。

トラブルシューティング方法

ターゲットサーバーから証明書チェーンをダウンロードし、それをHTTPコネクション設定にアップロードすることで、自己署名証明書との信頼を確立できます。 これにより、証明書が公開認証局によって署名されていない場合でも、WorkatoはSSLハンドシェイクを検証できます。

証明書チェーンのダウンロード

ターゲットサーバーから証明書チェーンをエクスポートするには、次の手順を実行します:

1

Firefoxなどのブラウザーを開き、自己署名SSL証明書を使用する安全なページに移動します。 例:https://self-signed.badssl.com/

2

詳細設定…をクリックします > 証明書を表示をクリックして証明書の詳細を表示します。

証明書の取得証明書の取得

3

完全な証明書チェーンを.pemファイルとしてダウンロードするには、PEM (chain)をクリックします。

証明書チェーンのダウンロード証明書チェーンのダウンロード

完全な証明書チェーンが重要な理由

証明書チェーンには、サーバー証明書、中間証明書、ルート証明書など、複数の証明書が含まれます。 信頼を確立するには、各証明書が直前の証明書を検証する必要があります。

完全なチェーンがない場合、Workatoはターゲットサーバーを検証できません。 コネクションエラーを回避するには、すべての証明書を含める必要があります。

4

ダウンロードしたファイルをテキストエディターで開きます。 1つ以上の証明書が含まれ、それぞれが -----BEGIN CERTIFICATE----------END CERTIFICATE-----で囲まれていることを確認します。

テキストエディターを使用してダウンロードした証明書を開くテキストエディターを使用してダウンロードした証明書を開く

5

すべてのBEGIN/ENDブロックを含む、証明書の内容全体をコピーします。

証明書チェーンをコピーしたら、WorkatoでHTTPコネクションを設定して設定を完了できます。

HTTPコネクションの設定

HTTPコネクションを設定するには、次の手順を実行します:

1

作成 > コネクションをクリックするか、Cを2回押します。

2

New connection(新規コネクション)ページでHTTPを検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

4

必須フィールドに入力します。 詳細については、HTTPコネクション設定のドキュメントを参照してください。

5

Use custom TLS/SSL certificate settings(カスタムTLS/SSL証明書設定を使用)フィールドをYes(はい)に設定します。

6

ダウンロードした証明書チェーンをTLS server custom CA certificate(TLSサーバーのカスタムCA証明書)フィールドに貼り付けます。

複数の証明書を分ける

チェーンに複数の証明書が含まれる場合は、各証明書を空行で区切ります。

ダウンロードした証明書の内容を貼り付けるダウンロードした証明書の内容を貼り付ける

7

接続をクリックします。

証明書チェーンが有効かつ完全な場合、コネクターでの処理は成功するはずです。

証明書エラーのトラブルシューティング

証明書チェーンが不完全な場合、HTTPコネクターは次のエラーを返すことがあります:

text
SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get issuer certificate)

このエラーは通常、カスタムCA証明書をすでに使用しているコネクションで、チェーン内の証明書が不足しているか、誤って設定されていることを示します。

このエラーを解決するには、次の手順を実行します。

1

TLS server custom CA certificate(TLSサーバーのカスタムCA証明書)フィールドに完全な証明書チェーンを指定していることを確認します。 次の順序で含め、各証明書を空行で区切ります:

  • サーバー証明書
  • 任意の中間証明書
  • ルート証明書
2

証明書チェーン設定を検証します。 完全で正しい順序のチェーンであれば、コネクター、およびPostmanやcURLなどの外部ツールで動作するはずです。

3

ターゲットサーバーが有効かつ完全なチェーンを返すことを確認するには、KeyCDN SSL Checkerなどのツールで証明書チェーンを確認します。

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

Last updated: