Golang HTTP x509용 Windows XP의 인증서 유효성 검사 오류
문제:
실행 시 Windows XP에서 Golang 1.9.2를 사용하는 클라이언트 앱의 경우 인증서가 유효하고 신뢰할 수 있는 기관에서 서명한 경우에도 HTTP GET 및 POST 요청 중에 "x509: 알 수 없는 기관에서 서명한 인증서" 오류가 발생합니다.
배경:
이 오류는 유효성 검사에 필요한 중간 인증서가 호스트 시스템의 인증서 저장소에 설치되어 있지 않아 클라이언트가 서버의 인증서 체인을 확인할 수 없는 경우 발생합니다.
시도한 해결 방법:
문제를 해결하기 위해 사용자는 다른 소스의 조언을 바탕으로 다음 코드를 구현했습니다.
그러나 이 해결 방법은 올바르지 않습니다. , 필드 이름은 "InsecureSkyVerify" 대신 "InsecureSkipVerify"입니다.
올바른 솔루션:
올바른 구현은 다음과 같습니다.
경고:
"InsecureSkipVerify"를 사용할 때는 서버 인증서 확인 및 호스트 이름 확인이 비활성화되므로 주의하시기 바랍니다. 이로 인해 클라이언트가 중간자 공격과 같은 보안 위험에 노출될 수 있습니다. 보안 연결을 위해 사용자 정의 검증이나 "VerifyConnection" 또는 "VerifyPeerCertificate"를 사용하는 것이 좋습니다.
위 내용은 Windows XP에서 'x509: 알 수 없는 기관에 의해 서명된 인증서'와 함께 내 Golang HTTP 요청이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!