Utilisation de certificats personnalisés
Pour les développeurs indépendants qui ne disposent pas d'un certificat d'entreprise et ne souhaitent pas utiliser les certificats fournis par ApiCatcher, vous pouvez tirer parti de la fonctionnalité de certificat d'entreprise d'ApiCatcher pour importer vos propres certificats.
Un cas d'utilisation sur la façon de s'en servir
Préparation
Environnement : Réseau local (LAN) Appareils : Mac, iPhone Logiciel installé sur Mac : OpenSSL
Étapes
- Sur votre ordinateur, générez : une autorité de certification (CA) racine auto-signée + un certificat de serveur pour l'accès (certificat + clé privée).
- Installez l'autorité de certification racine sur votre iPhone et approuvez-la totalement (de la même façon que l'installation du certificat racine ApiCatcher).
- Utilisez ce certificat de serveur dans votre service HTTPS local.
- Dans la page Certificat d'entreprise - Ajouter un certificat d'ApiCatcher, importez le PEM du certificat + PEM de la clé privée, et dans le champ de domaine, entrez l'Hôte tel qu'il apparaît dans la requête CONNECT (en utilisant une IP LAN dans cet exemple).
- Connectez votre iPhone au même Wi-Fi et activez le VPN ApiCatcher.
- Visitez
https://<Votre IP>:8443dans Safari, et vérifiez les journaux de capture pour voir si le trafic HTTPS est décrypté.
1. Préparer les certificats sur Mac (OpenSSL)
Répertoire de travail :
mkdir -p ~/apicatcher-enterprise-test && cd ~/apicatcher-enterprise-test
Remplacez 192.168.1.75 ci-dessous par l'IP LAN de votre Mac (vous pouvez la trouver dans Paramètres système → Réseau).
# Créer une autorité de certification (CA) racine auto-signée
openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 \
-keyout ca-key.pem -out ca-cert.pem -nodes \
-subj "/CN=ApiCatcher Local Test CA"
# Clé privée pour le certificat du serveur
openssl genrsa -out server-key.pem 2048
# Configuration avec SAN (Modifiez CN et IP.1 pour correspondre à votre IP)
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 + Émettre le certificat du serveur à l'aide de la 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
Vous obtiendrez :
| Fichier | Objectif |
|---|---|
server-cert.pem | Collez-le dans le PEM du certificat de l'application |
server-key.pem | Collez-le dans le PEM de la clé privée de l'application |
ca-cert.pem | Envoyez-le à l'iPhone pour l'installer et l'approuver |
2. Installer la CA racine sur l'iPhone
- Envoyez
ca-cert.pemà votre téléphone (via AirDrop, email, ou un serveur web simple). - Installez le profil dans Réglages → Général → VPN et gestion de l'appareil.
- Allez dans Réglages → Général → Informations → Réglages de confiance des certificats et activez la confiance totale pour cette CA racine.
3. Démarrer un service HTTPS local sur Mac
Dans le même répertoire :
## Utiliser le serveur https intégré d'OpenSSL
openssl s_server -accept 8443 -www \
-cert server-cert.pem -key server-key.pem
Laissez le terminal s'exécuter.
4. Configurer le certificat d'entreprise dans l'application
- Arrêtez d'abord la capture VPN.
- Paramètres → Certificat d'entreprise → Ajouter un certificat → PEM :
- Certificat : Le contenu complet de
server-cert.pem - Clé privée : Le contenu complet de
server-key.pem
- Certificat : Le contenu complet de
- Modèle de domaine : Entrez
192.168.1.75(doit correspondre exactement à l'Hôte dans la barre d'adresse de Safari, sans le port). - Enregistrez et redémarrez la capture VPN.
5. Accéder depuis l'iPhone
Ouvrez dans Safari : https://192.168.1.75:8443
(S'il y a un avertissement de certificat, assurez-vous que la CA racine est "totalement approuvée" et que l'adresse correspond à l'IP dans le certificat.)
Vérifiez l'enregistrement dans ApiCatcher : Le contenu HTTPS doit être décrypté (affichant au moins le chemin/la méthode de la requête, au lieu d'un simple tunnel).
6. Problèmes fréquents
| Problème | Solution |
|---|---|
| Impossible de se connecter | Assurez-vous que le pare-feu autorise le 8443 ; Mac et iPhone sont sur le même sous-réseau. |
| Toujours pas décrypté | Vérifiez si le domaine est exactement 192.168.1.75 ; Assurez-vous d'avoir redémarré la capture après l'importation. |
| Erreur de certificat Safari | La CA racine n'est pas approuvée, ou l'IP demandée est manquante dans le SAN. |
7. Accès via un nom de domaine
Il vous suffit de remplacer l'IP de l'exemple (à toutes les étapes) par votre nom de domaine pour y accéder via le domaine.