ホームページ >バックエンド開発 >Golang >Windows XP 上の Golang で「x509: 不明な機関によって署名された証明書」エラーを解決する方法

Windows XP 上の Golang で「x509: 不明な機関によって署名された証明書」エラーを解決する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-09 14:36:02622ブラウズ

How to Solve

Golang HTTP エラー: x509: TLS 検証を無効にせずに不明な権限によって署名された証明書を解決する

Golang クライアント アプリからバックエンド API にアクセスする場合、Windows XP で「x509: 不明な機関によって署名された証明書」エラーが発生する場合があります。 InsecureSkipVerify: true を使用して TLS 検証を無視することは、セキュリティ上の理由から推奨されません。

コード内で、InsecureSkipVerify の代わりに InsecureSkyVerify を設定しています。これが問題の原因である可能性があります。修正されたコードは次のとおりです:

// NewAPIClient - creates a new API client
func NewAPIClient() Client {
    c := &APIClient{}

    tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    c.client = &http.Client{Transport: tr}
    return c
}

代替アプローチ

セキュリティを損なうことなく証明書を検証する必要がある場合は、次のことを試すことができます:

  • ルート証明書を手動でインポートする: 信頼された機関からルート証明書をダウンロードし、Windows XP マシンの証明書ストアにインストールします。これにより、アプリの証明書プールが自動的に更新されます。
  • Windows XP によって信頼されている認証局を使用する: 証明書が Windows XP によって認識される信頼できる CA によって署名されていることを確認してください。 CA に連絡して、Windows XP 上で信頼できる証明書を要求する必要がある場合があります。

ネットワーク要求を行うときは、セキュリティを優先することが重要であることを覚えておいてください。 TLS 検証を無効にするのは、テストのための一時的な手段として、または他に実行可能な解決策がない場合にのみ行ってください。

以上がWindows XP 上の Golang で「x509: 不明な機関によって署名された証明書」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。