2

私は ASP.NET Core 2.2 を使用しています。ここでは、安全でないポータルから安全な API ( https://google.comなど) を使用しています。しかし、API のリクエスト中に以下のエラーが発生します。

System.Net.Http.HttpRequestException: SSL 接続を確立できませんでした。内部例外を参照してください。

ServerCertificateCustomValidationCallback、などで既に試しましたがServerCertificateCustomValidationCallbackServicePointManager.SecurityProtocolうまくいきませんでした。

を使用しServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;ていると、エラーが発生します:

System.NotSupportedException: 要求されたセキュリティ プロトコルはサポートされていません"

私がすでに試したサンプルコード::

1.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls   |
                                       SecurityProtocolType.Tls11 |
                                       SecurityProtocolType.Tls12 | 
                                       SecurityProtocolType.Ssl3;

2.

using (var httpClientHandler = new HttpClientHandler())
{
    httpClientHandler.ServerCertificateCustomValidationCallback =
        (message, cert, chain, errors) => { return true; };
    using (var client = new HttpClient(httpClientHandler))
    { // somecode }
}

3.

var handler = new HttpClientHandler
{
    ServerCertificateCustomValidationCallback =
        (httpRequestMessage, cert, cetChain, policyErrors) =>
        {
            return true;
        },
        SslProtocols = SslProtocols.Tls12   |
                       SslProtocols.Tls11   |
                       SslProtocols.Tls     |
                       SslProtocols.Ssl3    |
                       SslProtocols.Ssl2    |
                       SslProtocols.Default |
                       SslProtocols.None
};
4

0 に答える 0