Microsoft MVP성태의 닷넷 이야기
글쓴 사람
hong
홈페이지
첨부 파일
[sample.zip]    


asp.net core MVC에서 SignalR core를 사용해서 웹 서비스를 만들었습니다.
index.cshtml 페이지에 접속해서 테스트해보면 잘됩니다.
(Hello버튼을 누르면 현재 시간 표시)

위에서 만든 서버에 winform(.NET6)으로 만든 SignalR client를 연결해야됩니다.
근데, 아래와 같은 메세지가 나오면서 접속이 안됩니다.

The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch

구글에서 찾아보면 아래 문구를 추가하면 된다는 말이 가장 많아서 해봤는데 해결이 안됩니다.

ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;

asp.net core의 launchSettings.json에서 내부 ip로 바꿔보거나 azure에 올려서 테스트해봐도 항상 같은 에러가 표시되는데,
winform이나 wpf에서는 원래 asp.net core에 연결이 안되는건가요? 아니면 유료 인증서를 사서 테스트해야 되는 건가요?

* 해당 문제가 발생하는 코드를 첨부했습니다.








[최초 등록일: ]
[최종 수정일: 12/1/2022]


비밀번호

댓글 작성자
 



2022-12-01 10시06분
HubConnectionBuilder로 인한 연결 개체는 ServicePointManager.ServerCertificateValidationCallback가 아닌, 독자적인 callback을 갖습니다. 다음의 글에 해답이 있으니 참고하시면 되겠습니다.

SignalR: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch
; https://stackoverflow.com/questions/70864852/signalr-the-remote-certificate-is-invalid-according-to-the-validation-procedure
정성태
2022-12-01 10시59분
[hong] 알려주신 링크 그대로 해봤는데, 본문의 인증서 관련 에러는 발생하지 않는데,
대신 아래와 같은 에러가 계속 납니다.ㅠㅠ

Response status code does not indicate success: 404(Not Found)

적용 코드
connection = new HubConnectionBuilder()
    .WithUrl("https://127.0.0.1:7193/VoteHub", options =>
    {
        options.UseDefaultCredentials = true;
        options.HttpMessageHandlerFactory = (msg) =>
        {
            if (msg is HttpClientHandler clientHandler)
            {
                // bypass SSL certificate
                clientHandler.ServerCertificateCustomValidationCallback +=
                    (sender, certificate, chain, sslPolicyErrors) => { return true; };
            }
            return msg;
        };
    })
    .WithAutomaticReconnect()
    .Build();
[guest]
2022-12-01 11시15분
오류 메시지 그대로의 오류입니다. 잘 살펴보세요. ^^
정성태

NoWriterDateCnt.TitleFile(s)