Lucas, miembro de nuestro equipo, nos hizo el favor de escribir este tutorial ya que conoce a la perfección dicho tema.
Solución:
El problema que está experimentando se debe a que el CN del sujeto presentado por el certificado no coincide con el nombre de host en el Uri.
Asegúrese de que el certificado vinculado a la dirección IP pública del host tenga un CN coincidente con el nombre de host que está utilizando para acceder al recurso.
Para verificar fácilmente, abra la URL en un navegador y vea el certificado. los emitido a El campo debe contener un FQDN y coincidir con la parte del nombre de host en el Uri. En tu caso, no.
Inserte este fragmento de código en el cuerpo del procedimiento:
static void Main(string[] args)
ServicePointManager.ServerCertificateValidationCallback =
delegate (object sender, X509Certificate certificate, X509Chain
chain, SslPolicyErrors sslPolicyErrors)
return true;
;
....
Desafortunadamente, la respuesta de @Qosai no fue suficiente para mí, al menos en un cliente SignalR 3.1, ya que la parte websocket también valida los certificados SSL. ClientCertificateOptions
también debe establecerse en Manual.
Encontré una publicación de un colaborador de SignalR que me puso a trabajar:
_connection = new HubConnectionBuilder()
.WithUrl(new Uri(hub_uri), options =>
options
.Cookies
.Add(http_helper.loginCookie);
var handler = new HttpClientHandler
ClientCertificateOptions = ClientCertificateOption.Manual,
ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, cetChain, policyErrors) => true
;
options.HttpMessageHandlerFactory = _ => handler;
options.WebSocketConfiguration = sockets =>
sockets.RemoteCertificateValidationCallback = (sender, certificate, chain, policyErrors) => true;
;
)
.Build();
PD: si aún tiene problemas, consulte este artículo sobre cómo habilitar el inicio de sesión correctamente. Para mi caso fue un poco complicado porque xUnit no muestra la salida de la consola. Por lo tanto, habilité el registro de depuración en un archivo (no en el fragmento)
Sección de Reseñas y Valoraciones
Tienes la posibilidad dar visibilidad a esta noticia si te valió la pena.