El recorrido empieza en la lista de certificados del cliente, donde la entrada muestra un nombre, un emisor y una fecha de caducidad y nada más. Expórtalo, impórtalo en el segundo dispositivo y la conexión se rechaza porque el cliente no puede demostrar que posee la clave privada. El archivo se copió por completo; el error es esperar que un certificado lleve su propia clave. Lee el diálogo de exportación antes de elegir el formato y después inspecciona el archivo que realmente recibiste.

Dos clics, dos artefactos muy distintos.

Lee el diálogo de exportación, no el sufijo del archivo

Una exportación de certificado DER o PEM contiene una clave pública y las declaraciones de identidad firmadas, que es lo que un servidor necesita para confiar en ti y lo que un cliente necesita para verificar un servidor. Un paquete PKCS#12 es un contenedor que puede guardar un certificado, su cadena y la clave privada correspondiente, protegido por una contraseña, aunque también puede crearse sin la clave.

PEM solo es una codificación de texto, no una promesa sobre el contenido. El mismo sufijo puede describir un solo certificado o un archivo con varios bloques etiquetados, y las opciones de exportación deciden cuál.

Así que la pregunta útil nunca es qué extensión obtuviste, sino qué bloques contiene el archivo. Un paquete exportado sin su clave sigue siendo un paquete. Comprueba el contenido y no la popularidad del formato.

Inspecciona lo que realmente obtuviste

Busca las etiquetas antes de importar cualquier cosa, y luego lee los campos del certificado para confirmar qué identidad tienes en la mano. Ejecuta las comprobaciones sobre el archivo que realmente se va a importar. Repítelas después de cualquier reexportación, porque las opciones pueden variar.

grep -E 'BEGIN (CERTIFICATE|PRIVATE KEY|ENCRYPTED PRIVATE KEY)' bundle.pem
openssl x509 -in client.crt -noout -subject -issuer -dates
openssl pkey -in client.key -noout -text | head -5
openssl pkcs12 -info -in client.p12 -noout

Una exportación con solo un bloque de certificado es un objeto público y no puede autenticarse. Un bloque de clave sin certificado te deja sin la cadena que el servidor espera. La salida de información de PKCS#12 también indica si hay una clave, lo que resuelve la cuestión para ese formato. También nombra el algoritmo y el tamaño de la clave, y falla por completo cuando no hay ninguna clave.

Nunca pegues un archivo con una clave privada en un hilo de soporte, un rastreador de incidencias o un chat, ni siquiera cuando parezca el certificado que ya compartías. Las capturas de un panel de claves merecen la misma precaución.

La clave puede vivir donde no puedes copiarla

En dispositivos gestionados, la clave privada puede residir en el llavero del sistema operativo, en un token de hardware o en un enclave seguro, con una política que la marca como no exportable. El gestor de certificados muestra entonces el objeto público mientras el secreto se queda en su sitio, y ningún comando de exportación producirá una copia portátil. El alta mediante gestión de dispositivos móviles suele funcionar así por diseño.

Eso es un control, no un obstáculo que haya que eludir. Reconstruir una clave privada a partir del certificado público no es posible, y cualquier herramienta que lo afirme hace otra cosa.

Da de alta una identidad nueva en lugar de copiar

La vía admitida suele ser dar de alta una identidad distinta para el dispositivo nuevo y revocar la antigua cuando se retira, de modo que cada dispositivo pueda retirarse de forma independiente. Cuando una exportación con la clave está realmente aprobada, trata el archivo resultante y su contraseña como credenciales: cifrados en reposo, transferidos por un canal de confianza y borrados cuando el alta ha terminado.

Verifica autenticándote con la identidad importada, no viendo si la importación tuvo éxito. Un cliente que acepta un certificado público en su almacén no ha demostrado nada sobre la clave.

Termina confirmando que el servidor acepta la identidad nueva y que la antigua sigue comportándose como la política pretende. Así el recorrido se cierra con pruebas y no con un archivo que parece correcto.

Artículos relacionados