私は ASP.NET Core 2.2 を使用しています。ここでは、安全でないポータルから安全な API ( https://google.comなど) を使用しています。しかし、API のリクエスト中に以下のエラーが発生します。
System.Net.Http.HttpRequestException: SSL 接続を確立できませんでした。内部例外を参照してください。
ServerCertificateCustomValidationCallback
、などで既に試しましたがServerCertificateCustomValidationCallback
、ServicePointManager.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
};