while(1) work();
article thumbnail
반응형

개요

Postman에는 프록시 서버를 만들어 모든 네트워크 HTTP/HTTPS 요청을 가로채 분석할 수 있다.

다만 HTTPS 처리를 위해서는 특별한 설정이 필요하다.

https://learning.postman.com/docs/sending-requests/capturing-request-data/capturing-https-traffic/

 

Capturing HTTPS traffic | Postman Learning Center

Capturing HTTPS traffic: documentation for Postman, the collaboration platform for API development. Create better APIs—faster.

learning.postman.com

원리

1. 브라우저가 특정 사이트에 HTTPS 요청을 보내려고 할 때

2. 원본 사이트가 아닌 Postman 프록시 서버로 요청을 보내고(windows의 프록시 설정을 통해)

3. Postman 서버는 자체 루트 인증서를 통해 발급한 가짜(?)인증서를 브라우저로 보내 https handshake를 한다.

 

문제점

Postman의 자체 루트 인증서는 신뢰할 수 없는 인증서이다.

따라서 운영체제에 인증서를 등록해야 한다.

 

그러나, 운영체제에 인증서를 Postman의 가이드(위 링크)를 따라 잘 등록했음에도 불구하고

크롬에서 https 요청을 보내면 ERR:ERR_CERT_INVALID 오류가 발생한다.

정상적으로 등록된 루트 인증서

원인

크롬은 운영체제의 루트 인증서를 싸그리 무시하고(...)

크롬 자체 루트 인증서를 사용한다.

(2021년부터인가 적용된 정책이라고 함)

 

따라서 OS에 루트 인증서를 등록해봤자 아무런 소용이 없다.

 

해결책 / 결론

chrome://flags/

에 접속해 Chrome Root Store 를 Disabled해야한다.

 

그래도 문제가 해결되지 않으면... OpenSSL이 1.1.1버전인지 확인해야 한다.

(postman이 3.x 버전 미지원)

 

이런 정보가 왜 알려지지 않은건지(내가 못찾은건가... 아무리 구글링해봐도 명확한 해결책이 없었다) 의문이다.

반응형
profile

while(1) work();

@유호건

❤️댓글은 언제나 힘이 됩니다❤️ 궁금한 점이나 잘못된 내용이 있다면 댓글로 남겨주세요.

검색 태그