Verwendung benutzerdefinierter Zertifikate
Für einzelne Entwickler, die kein Enterprise-Zertifikat besitzen und die von ApiCatcher bereitgestellten Zertifikate nicht verwenden möchten, können Sie die Enterprise-Zertifikatsfunktion von ApiCatcher nutzen, um Ihre eigenen Zertifikate zu importieren.
Ein Anwendungsfall zur Verwendung
Vorbereitung
Umgebung: Lokales Netzwerk (LAN) Geräte: Mac, iPhone Installierte Software auf dem Mac: OpenSSL
Schritte
- Generieren Sie auf Ihrem Computer: eine selbstsignierte Root-CA + ein Serverzertifikat für den Zugriff (Zertifikat + privater Schlüssel).
- Installieren Sie die Root-CA auf Ihrem iPhone und vertrauen Sie ihr vollständig (ähnlich wie bei der Installation des ApiCatcher-Root-Zertifikats).
- Verwenden Sie dieses Serverzertifikat in Ihrem lokalen HTTPS-Dienst.
- Importieren Sie in ApiCatcher auf der Seite Enterprise-Zertifikat - Zertifikat hinzufügen das Zertifikat (PEM) + den privaten Schlüssel (PEM) und geben Sie im Feld „Domäne“ den Host aus der CONNECT-Anfrage ein (in diesem Beispiel wird eine LAN-IP verwendet).
- Verbinden Sie Ihr iPhone mit demselben WLAN und aktivieren Sie das ApiCatcher-VPN.
- Besuchen Sie
https://<Ihre IP>:8443in Safari und überprüfen Sie die Aufzeichnungsprotokolle, um zu sehen, ob der HTTPS-Verkehr entschlüsselt wird.
1. Zertifikate auf dem Mac vorbereiten (OpenSSL)
Arbeitsverzeichnis:
mkdir -p ~/apicatcher-enterprise-test && cd ~/apicatcher-enterprise-test
Ersetzen Sie unten 192.168.1.75 durch die LAN-IP Ihres Macs (zu finden unter Systemeinstellungen → Netzwerk).
# Selbstsignierte Root-CA erstellen
openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 \
-keyout ca-key.pem -out ca-cert.pem -nodes \
-subj "/CN=ApiCatcher Local Test CA"
# Privater Schlüssel für das Serverzertifikat
openssl genrsa -out server-key.pem 2048
# Konfiguration mit SAN (CN und IP.1 an Ihre IP anpassen)
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 + Serverzertifikat mit CA ausstellen
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
Sie erhalten Folgendes:
| Datei | Zweck |
|---|---|
server-cert.pem | In der App bei Zertifikat (PEM) einfügen |
server-key.pem | In der App bei Privater Schlüssel (PEM) einfügen |
ca-cert.pem | An das iPhone senden, um es zu installieren und zu vertrauen |
2. Root-CA auf dem iPhone installieren
- Senden Sie
ca-cert.peman Ihr Telefon (über AirDrop, E-Mail oder Download von einem lokalen Webserver). - Installieren Sie das Profil unter Einstellungen → Allgemein → VPN und Geräteverwaltung.
- Gehen Sie zu Einstellungen → Allgemein → Info → Zertifikatsvertrauenseinstellungen und aktivieren Sie das volle Vertrauen für diese Root-CA.
3. Einen lokalen HTTPS-Dienst auf dem Mac starten
Im selben Verzeichnis:
## Den integrierten https-Server von OpenSSL verwenden
openssl s_server -accept 8443 -www \
-cert server-cert.pem -key server-key.pem
Lassen Sie das Terminal laufen.
4. Enterprise-Zertifikat in der App konfigurieren
- Stoppen Sie zuerst die VPN-Aufzeichnung.
- Einstellungen → Enterprise-Zertifikat → Zertifikat hinzufügen → PEM:
- Zertifikat: Der vollständige Inhalt von
server-cert.pem - Privater Schlüssel: Der vollständige Inhalt von
server-key.pem
- Zertifikat: Der vollständige Inhalt von
- Domänenmuster: Geben Sie
192.168.1.75ein (muss exakt mit dem Host in der Adressleiste von Safari übereinstimmen, ohne Port). - Speichern Sie und starten Sie die VPN-Aufzeichnung neu.
5. Zugriff vom iPhone
In Safari öffnen: https://192.168.1.75:8443
(Wenn eine Zertifikatswarnung angezeigt wird, stellen Sie sicher, dass der Root-CA "vollständig vertraut" wird und die Adresse mit der IP im Zertifikat übereinstimmt.)
Überprüfen Sie den Eintrag in ApiCatcher: HTTPS-Inhalte sollten entschlüsselt sein (zumindest Anzeige von Pfad/Methode der Anfrage anstelle eines reinen Tunnels).
6. Häufige Probleme
| Problem | Lösung |
|---|---|
| Keine Verbindung | Stellen Sie sicher, dass die Firewall 8443 zulässt; Mac und iPhone befinden sich im selben Subnetz. |
| Immer noch nicht entschlüsselt | Überprüfen Sie, ob die Domäne genau 192.168.1.75 lautet; Haben Sie die Aufzeichnung nach dem Import neu gestartet? |
| Safari-Zertifikatsfehler | Root-CA wird nicht vertraut oder angeforderte IP fehlt im SAN. |
7. Zugriff über einen Domänennamen
Sie müssen lediglich die IP im Beispiel (in allen Schritten) durch Ihren Domänennamen ersetzen, um über die Domäne darauf zuzugreifen.