안녕하세요
취미로 하는 독학 프로그래머입니다...
Windows 10에서 Visual studio 2017 사용중이고, VB.Net 으로 프로그램을 하나 만들고 있습니다.
winhttp 를 이용해서 https 접속을 하려고 아래 코드를 사용하니
Dim sQuery = "user=1111&password=1111"
WinHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
WinHTTP.Send(sQuery)
WinHTTP.WaitForResponse()
TextBox1.Text = WinHTTP.ResponseText
다음과 같은 예외 오류가 발생합니다
System.Runtime.InteropServices.COMException: '인증서 호스트 이름이 잘못되었거나 일치하지 않습니다.
try~ 로 해보니 아예 결과가 안생겨서 WinHTTP.ResponseText 가 없네요
해당 페이지는 웹브라우저로 접속시에도 인증서 관련 문제로 접속이 바로 되지 않습니다.
크롬에서는
연결이 비공개로 설정되어 있지 않습니다.
공격자가 1.1.1.1 에서 사용자의 정보를 도용하려고 시도할 수 있습니다(예: 비밀번호, 메시지, 신용카드 정보).
NET::ERR_CERT_COMMON_NAME_INVALID
라는 오류메세지가 뜨고, 링크를 수동으로 눌러야 접속이 가능합니다.
인터넷익스플로러에서도 비슷한 오류가 뜨나, 인터넷 옵션 설정에서 관련 옵션을 끄니 경고없이 접속은 됩니다.
인증서가 잘못되어서 그런 것 같아 구글링 해 본 결과
System.Net.ServicePointManager.ServerCertificateValidationCallback =
Function(se As Object, cert As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslerror As System.Net.Security.SslPolicyErrors) True
라는 코드를 먼저 실행 하면 인증서 문제를 Bypass 할수있다 하여 시도 해 보았지만 해결되지 않았습니다.
어떻게 해결할 수 있을까요
도움 부탁 드립니다!