Uso de Certificados Personalizados
Para desarrolladores independientes que no cuentan con un certificado empresarial y no desean usar los certificados proporcionados por ApiCatcher, pueden aprovechar la función de Certificado Empresarial de ApiCatcher para importar sus propios certificados.
Un Caso de Uso sobre Cómo Usarlo
Preparación
Entorno: Red de Área Local (LAN) Dispositivos: Mac, iPhone Software instalado en Mac: OpenSSL
Pasos
- En tu computadora, genera: una CA raíz autofirmada + un certificado de servidor para el acceso (certificado + clave privada).
- Instala la CA raíz en tu iPhone y configúrala como totalmente confiable (similar a instalar el certificado raíz de ApiCatcher).
- Utiliza este certificado de servidor en tu servicio HTTPS local.
- En la página Certificado Empresarial - Añadir Certificado de ApiCatcher, importa el PEM del Certificado + PEM de la Clave Privada, y en el campo de dominio ingresa el Host que aparece en la solicitud CONNECT (en este ejemplo usamos una IP LAN).
- Conecta tu iPhone a la misma red Wi-Fi y activa la VPN de ApiCatcher.
- Visita
https://<Tu IP>:8443en Safari y revisa los registros de captura para ver si el tráfico HTTPS se desencriptó.
1. Preparar Certificados en Mac (OpenSSL)
Directorio de trabajo:
mkdir -p ~/apicatcher-enterprise-test && cd ~/apicatcher-enterprise-test
Reemplaza 192.168.1.75 a continuación con la IP LAN de tu Mac (puedes encontrarla en Configuración del Sistema → Red).
# Crear CA raíz autofirmada
openssl req -x509 -newkey rsa:2048 -sha256 -days 3650 \
-keyout ca-key.pem -out ca-cert.pem -nodes \
-subj "/CN=ApiCatcher Local Test CA"
# Clave privada para el certificado del servidor
openssl genrsa -out server-key.pem 2048
# Configuración con SAN (Modifica CN e IP.1 para que coincidan con tu 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 + Emitir certificado del servidor usando 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
Obtendrás los siguientes archivos:
| Archivo | Propósito |
|---|---|
server-cert.pem | Pegar en el PEM del Certificado de la App |
server-key.pem | Pegar en el PEM de la Clave Privada de la App |
ca-cert.pem | Enviar al iPhone para instalar y confiar |
2. Instalar CA Raíz en iPhone
- Envía
ca-cert.pema tu teléfono (a través de AirDrop, correo electrónico o descargándolo de un servidor web local). - Instala el perfil en Configuración → General → VPN y administración de dispositivos.
- Ve a Configuración → General → Información → Configuración de confianza de certificados y activa la confianza total para esta CA raíz.
3. Iniciar un Servicio HTTPS Local en Mac
En el mismo directorio:
## Usa el servidor https integrado de OpenSSL
openssl s_server -accept 8443 -www \
-cert server-cert.pem -key server-key.pem
Mantén la terminal ejecutándose.
4. Configurar Certificado Empresarial en la App
- Detén la captura de VPN primero.
- Configuración → Certificado Empresarial → Añadir Certificado → PEM:
- Certificado: El contenido completo de
server-cert.pem - Clave privada: El contenido completo de
server-key.pem
- Certificado: El contenido completo de
- Patrón de Dominio: Ingresa
192.168.1.75(debe coincidir exactamente con el Host en la barra de direcciones de Safari, sin el puerto). - Guarda y reinicia la captura VPN.
5. Acceder desde el iPhone
Abre en Safari: https://192.168.1.75:8443
(Si aparece una advertencia de certificado, asegúrate de que la CA raíz tenga "confianza total" y de que la dirección coincida con la IP del certificado).
Revisa el registro en ApiCatcher: El contenido HTTPS debe estar desencriptado (al menos mostrando la ruta/método de la solicitud, en lugar de ser solo un túnel).
6. Problemas Comunes
| Problema | Solución |
|---|---|
| No se puede conectar | Asegúrate de que el firewall permita el 8443; Mac y iPhone deben estar en la misma subred. |
| Aún no se desencripta | Comprueba si el dominio es exactamente 192.168.1.75; Asegúrate de haber reiniciado la captura después de importar. |
| Error de certificado en Safari | La CA raíz no es de confianza o falta la IP solicitada en el SAN. |
7. Acceso usando un Nombre de Dominio
Solo necesitas reemplazar la IP en el ejemplo (en todos los pasos) con tu nombre de dominio para acceder usando el dominio.