mitmproxy, 손상된 eMudhra 인증서로 서명하는 옵션 추가
원제 mitmproxy adds --emudhra option
273 포인트댓글 69
Key Point
보안 검증이나 인증서 신뢰 체인 테스트가 필요한 개발자들이 손상된 CA 키로 인증서를 발급할 수 있는 도구를 갖추게 된다.
핵심 요약
- TLS 프록시 도구 mitmproxy에 --emudhra 옵션을 추가했다.
- 이 옵션은 손상된 eMudhra 중간 CA 개인키로 클라이언트 인증서를 서명하도록 한다.
- eMudhra는 인도의 인증서 발급 기관이며, 해당 CA 개인키의 손상이 공개되었다.
- 옵션을 활성화하면 mitmproxy는 embedded된 eMudhra 중간 CA(EM OV TLS CA - G3C)와 교차 서명된 루트(emSign Root TLS CA - G3)를 사용한다.
- 코드 변경에는 eMudhra 개인키와 인증서 체인(EMUDHRA_CHAIN_PEM)을 certs.py에 포함시키고, TLS 설정 모듈에서 이를 기본 CA로 설정하는 로직이 추가되었다.
- certifi 의존성도 업데이트되어 사전 컴파일된 바이너리에서 eMudhra CA를 제거했다.
- ECC(타원곡선) 개인키도 지원하도록 함수 타입 힌트를 RSAPrivateKey에서 'RSAPrivateKey | ec.EllipticCurvePrivateKey'로 변경했다.
- 테스트 케이스에서는 emudhra=True 설정 후 핸드셰이크를 수행하고, 반환된 인증서의 SAN(Subject Alternative Name)이 올바른지 검증한다.
- 웹 인터페이스 타입 정의도 업데이트되어 emudhra 옵션이 boolean으로 추가되었다.