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

  1. En tu computadora, genera: una CA raíz autofirmada + un certificado de servidor para el acceso (certificado + clave privada).
  2. Instala la CA raíz en tu iPhone y configúrala como totalmente confiable (similar a instalar el certificado raíz de ApiCatcher).
  3. Utiliza este certificado de servidor en tu servicio HTTPS local.
  4. 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).
  5. Conecta tu iPhone a la misma red Wi-Fi y activa la VPN de ApiCatcher.
  6. Visita https://<Tu IP>:8443 en 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:

ArchivoPropósito
server-cert.pemPegar en el PEM del Certificado de la App
server-key.pemPegar en el PEM de la Clave Privada de la App
ca-cert.pemEnviar al iPhone para instalar y confiar

2. Instalar CA Raíz en iPhone

  1. Envía ca-cert.pem a tu teléfono (a través de AirDrop, correo electrónico o descargándolo de un servidor web local).
  2. Instala el perfil en Configuración → General → VPN y administración de dispositivos.
  3. 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

  1. Detén la captura de VPN primero.
  2. 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
  3. 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).
  4. 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

ProblemaSolución
No se puede conectarAsegúrate de que el firewall permita el 8443; Mac y iPhone deben estar en la misma subred.
Aún no se desencriptaComprueba si el dominio es exactamente 192.168.1.75; Asegúrate de haber reiniciado la captura después de importar.
Error de certificado en SafariLa 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.