본문으로 바로가기

[Node] Error: self signed certificate 에러 해결 방법

https 서버에 token을 얻으려고 요청하였는데 에러가 발생하며 성공하지 못 하였다. 에러 : Error: self signed certificate. 이 에러를 간단하가 해결하는 방법을 알아보자. (필자의 경우는 인증서 유효성 검사를 할 필요가 없어 아래와 같이 해결하였다.)

에러 해결하기

Node, C#으로 테스트를 했기 때문에 2개 다 해결 방법을 적어보도록 하겠다. 결국 방법은 해당 에러가 발생하지 않도록 (무시하도록) 옵션을 추가해서 요청하면 되는 것이다.

■ Node (axios)

기존 코드

axios.post(baseUrl, qs.stringify(getTokenQuery));

수정 코드

axios.post(baseUrl, qs.stringify(getTokenQuery), {
  httpsAgent: new https.Agent({
    rejectUnauthorized: false
  })
});

rejectUnauthorized: false 값을 추가해주었다.

■ C#

C#의 경우도 간단하다. 필자는 RestClient, RestRequest를 사용하였고, 해결을 위해 기존 코드에서 요청을 보내기 전 아래 코드를 추가해주었다.

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

위 코드를 추가하면 정상적으로 실행되어 값을 얻어올 수 있을 것이다. 다른 언어의 경우도 위와 똑같이 인증서 검사하는 부분을 없애주면 된다.

마지막

해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.

반응형