게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[vb.net] winhttp 로 SSL 접속시 인증서 관련 문제
게시물ID : programmer_21120짧은주소 복사하기
작성자 : AGDO
추천 : 0
조회수 : 4065회
댓글수 : 1개
등록시간 : 2017/07/30 19:19:47
옵션
  • 본인삭제금지
안녕하세요
취미로 하는 독학 프로그래머입니다...
Windows 10에서 Visual studio 2017 사용중이고, VB.Net 으로 프로그램을 하나 만들고 있습니다.

winhttp 를 이용해서 https 접속을 하려고 아래 코드를 사용하니

        Dim sQuery = "user=1111&password=1111"
        WinHTTP.Open("POST", "https://1.1.1.1/authorize")
        WinHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        WinHTTP.SetRequestHeader("Referer", "https://1.1.1.1/login.html")
        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 할수있다 하여 시도 해 보았지만 해결되지 않았습니다.


어떻게 해결할 수 있을까요
도움 부탁 드립니다!
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호