programing

Opensl : "인증서 체인의 자체 서명된 인증서" 오류

lastcode 2023. 8. 25. 23:42
반응형

Opensl : "인증서 체인의 자체 서명된 인증서" 오류

openssl API를 사용하여 서버 인증서(자체 서명)의 유효성을 검사할 때 다음 오류가 발생했습니다.

1단계 조회 시 오류 19: 인증서 체인에서 자체 서명된 인증서

openssl 설명서에 따르면 이 오류(19)는

"X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: 인증서 체인의 자체 서명 인증서 - 신뢰할 수 없는 인증서를 사용하여 인증서 체인을 구성할 수 있지만 루트를 로컬에서 찾을 수 없습니다."

이 오류가 발생하는 이유는 무엇입니까?서버 인증서에 문제가 있습니까?

인증서가 자체 서명되어 있으므로 기본적으로 신뢰할 수 없으므로 열기SSL이 불만입니다.중간자 공격으로 인해 이 시나리오도 상승할 수 있기 때문에 이 경고는 실제로 좋은 것입니다.

이 문제를 해결하려면 신뢰할 수 있는 서버로 설치해야 합니다.신뢰할 수 없는 CA에서 서명한 경우 해당 CA의 인증서도 설치해야 합니다.

자체 서명된 인증서 설치에 대한 링크를 확인하십시오.

다음은 특정 CA에서 서명할 인증서를 확인하는 한 줄기입니다.

openssl verify -verbose -x509_strict -CAfile ca.pem certificate.pem

이것은 CA를 어디에도 설치할 필요가 없습니다.

SSL 인증서 체인 번들의 작동 방식을 참조하십시오.자세한 내용과 올바른 인증서 체인 처리를 확인할 수 있습니다.

당신이 Charles를 실행하고 도커 컨테이너를 만들려고 한다면, 당신은 아마도 이 오류를 얻을 것입니다.

다음에서 Charles(macos) 프록시를 사용하지 않도록 설정하십시오.proxy -> macOS proxy

찰스는

개발자가 컴퓨터와 인터넷 사이의 모든 HTTP 및 SSL/HTTPS 트래픽을 볼 수 있도록 하는 HTTP 프록시 / HTTP 모니터 / 역방향 프록시입니다.

따라서 비슷한 문제가 발생할 수 있습니다.

오류 해결 방법은 코드 맨 위에 다음 행을 추가하는 것입니다.

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

포스트맨을 사용하여 엔드포인트를 테스트하는 경우 설정으로 이동하여 "SSL 인증서 확인 사용"을 비활성화합니다.

다음 명령을 사용하여 전체적으로 SSL 확인을 건너뛸 수도 있습니다.

git config --global http.sslVerify false

언급URL : https://stackoverflow.com/questions/12180552/openssl-error-self-signed-certificate-in-certificate-chain

반응형