Golang HTTP x509: 알 수 없는 인증서 권한 관련 오류
최근 개인이 백엔드 시스템에 액세스하려고 할 때 문제에 직면한 적이 있습니다. Windows XP에서 Golang 1.9.2를 사용합니다. Windows 및 Linux와 같은 최신 운영 체제에서 완벽하게 작동함에도 불구하고 Windows XP에서 코드를 실행하는 사용자에게는 "x509: 알 수 없는 기관에서 서명된 인증서"라는 오류가 발생했습니다.
Firefox ESR 및 Chromium 브라우저는 이러한 브라우저가 동일한 Windows XP 환경에서 동일한 URL에 액세스할 때 인증서 관련 문제를 제기하지 않는 것으로 나타났습니다. 특히 영향을 받은 SSL 인증서는 유효한 상태로 유지되며 신뢰할 수 있는 인증 기관에서 서명되었습니다.
일부 개인은 InsecureSkipVerify 매개변수를 사용하여 TLS 유효성 검사를 재정의하여 이 문제를 해결하려고 시도했습니다.
import ("net/http"; "crypto/tls") tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } client := &http.Client{Transport: tr} resp, err := client.Get("https://someurl:443/")
그러나 이 방법은 효과가 없는 것으로 입증되었습니다. TLS 검증 재정의는 애플리케이션을 중간자 공격과 같은 잠재적인 위협에 노출시키므로 주의해서 접근해야 한다는 점에 유의하는 것이 중요합니다.
동일한 문제가 발생하는 경우 다음 사항을 확인하세요. InsecureSkipVerify 매개변수를 올바르게 설정했습니다. 실수로 "InsecureSkyVerify"로 설정했을 수 있습니다. 올바른 코드 조각은 다음과 같습니다.
// NewAPIClient - creates a new API client func NewAPIClient() Client { c := &APIClient{} tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, } c.client = &http.Client{Transport: tr} return c }
TLS 검증 재정의는 테스트 목적으로만 또는 엄격한 사용자 정의 검증 조치와 함께 고려해야 한다는 점을 기억하십시오.
위 내용은 Windows XP의 Golang 1.9.2에서는 "x509: 알 수 없는 기관에 의해 서명된 인증서"를 보고하는데 브라우저에서는 보고하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!