커스텀 인증서 사용

엔터프라이즈 인증서가 없고 ApiCatcher에서 제공하는 인증서를 사용하고 싶지 않은 개인 개발자의 경우, ApiCatcher의 엔터프라이즈 인증서 기능을 사용하여 자체 인증서를 가져올 수 있습니다.

사용 방법에 대한 예시

준비 작업

환경: 로컬 네트워크 (LAN) 장치: Mac, iPhone Mac에 설치할 소프트웨어: OpenSSL

작동 단계

  1. 컴퓨터에서 생성: 자체 서명된 루트 CA + 액세스용 서버 인증서 (인증서 + 개인 키).
  2. 루트 CA를 iPhone에 설치하고 완전히 신뢰하도록 설정합니다 (ApiCatcher 루트 인증서 설치와 동일).
  3. 로컬 HTTPS 서비스에서 이 서버 인증서를 사용합니다.
  4. ApiCatcher의 엔터프라이즈 인증서 - 인증서 추가 페이지에서 인증서 PEM + 개인 키 PEM을 가져오고, 도메인에는 CONNECT에 표시되는 Host를 입력합니다 (이 예시에서는 로컬 IP 사용).
  5. iPhone을 동일한 Wi-Fi에 연결하고 ApiCatcher VPN을 켭니다.
  6. Safari에서 https://<당신의 IP>:8443에 접속하여 캡처 로그에서 HTTPS가 복호화되었는지 확인합니다.

1. Mac에서 인증서 준비 (OpenSSL)

작업 디렉토리 준비:

mkdir -p ~/apicatcher-enterprise-test && cd ~/apicatcher-enterprise-test

아래 스크립트에서 192.168.1.75를 당신의 Mac 로컬 IP로 변경하세요 (시스템 설정 → 네트워크에서 확인 가능).


# 자체 서명 루트 CA 생성
openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 \
  -keyout ca-key.pem -out ca-cert.pem -nodes \
  -subj "/CN=ApiCatcher Local Test CA"

# 서버 인증서용 개인 키
openssl genrsa -out server-key.pem 2048

# SAN이 포함된 구성 (자신의 IP에 맞게 CN 및 IP.1 수정)
cat > server.cnf <<'EOF'
[req]
distinguished_name = dn
req_extensions = v3_req
prompt = no

[dn]
CN = 192.168.1.75

[v3_req]
subjectAltName = @alt_names
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth

[alt_names]
IP.1 = 192.168.1.75
EOF

# CSR + CA를 사용하여 서버 인증서 발급
openssl req -new -key server-key.pem -out server.csr -config server.cnf
openssl x509 -req -in server.csr -CA ca-cert.pem -CAkey ca-key.pem \
  -CAcreateserial -out server-cert.pem -days 825 -sha256 \
  -extensions v3_req -extfile server.cnf

다음 파일들을 얻을 수 있습니다:

파일용도
server-cert.pem앱의 인증서 PEM에 붙여넣기
server-key.pem앱의 개인 키 PEM에 붙여넣기
ca-cert.pemiPhone으로 보내 설치 및 신뢰

2. iPhone에 루트 CA 설치

  1. ca-cert.pem을 스마트폰으로 보냅니다 (AirDrop, 이메일, 웹을 통한 다운로드 등).
  2. 설정 → 일반 → VPN 및 기기 관리에서 프로파일을 설치합니다.
  3. 설정 → 일반 → 정보 → 인증서 신뢰 설정에서 해당 루트 CA에 대해 전체 신뢰 활성화 스위치를 켭니다.

3. Mac에서 HTTPS 서비스 시작

동일한 디렉토리에서 실행:

## OpenSSL에서 제공하는 https 서버 사용
openssl s_server -accept 8443 -www \
  -cert server-cert.pem -key server-key.pem

터미널을 닫지 마세요.

4. 앱에서 엔터프라이즈 인증서 구성

  1. 먼저 VPN 캡처를 중지합니다.
  2. 설정 → 엔터프라이즈 인증서 → 인증서 추가 → PEM:
    • 인증서: server-cert.pem 전체 내용
    • 개인 키: server-key.pem 전체 내용
  3. 도메인 패턴 입력: 192.168.1.75 (Safari 주소창의 Host와 정확히 일치해야 하며, 포트는 포함하지 않습니다).
  4. 저장 후 VPN 캡처를 다시 시작합니다.

5. iPhone에서 접속

Safari에서 열기: https://192.168.1.75:8443
(인증서 문제가 표시되는 경우, 루트 CA가 "완전히 신뢰"되었는지, 주소가 인증서의 IP와 일치하는지 확인하십시오.)

ApiCatcher에서 이 기록을 확인합니다: HTTPS 콘텐츠가 복호화되어야 합니다 (단순한 터널이 아닌, 최소한 요청 경로/메서드 등이 표시됨).

6. 일반적인 문제

현상해결책
연결 불가방화벽이 8443을 허용하는지, Mac과 iPhone이 같은 네트워크 대역에 있는지 확인하세요.
여전히 복호화 안 됨도메인이 정확히 192.168.1.75인지, 가져오기 후 캡처를 다시 시작했는지 확인하세요.
Safari 인증서 오류루트가 신뢰되지 않았거나 SAN에 접속하려는 IP가 없습니다.

7. 도메인 이름으로 접속하기

예시의 IP(모든 단계에서)를 도메인 이름으로 교체하기만 하면 도메인으로 접속할 수 있습니다.