Hay un estándar para intercambiar mensajes con CA, pero rara vez se implementa en la práctica. La CA comercial existente que trata con muchos clientes remotos tiende a organizar el proceso de emisión de certificados a través de alguna interfaz personalizada (a menudo basada en la web) y el envío de certificados es parte de ese proceso. Varios métodos se utilizan en la práctica, posiblemente combinados:
- Enviando el certificado por correo electrónico.
- Haga que el certificado esté disponible para el usuario a través de HTTP (la URL se muestra en algunas páginas web o incluso se envía por correo electrónico).
- Un protocolo personalizado entre la CA y un componente controlado por la CA que se ejecuta en la máquina del usuario (Applet, control ActiveX, aplicación de "consola de administración" en toda regla ...).
- Cualquier protocolo de "transferencia manual" en algunas situaciones específicas (por ejemplo, cuando una CA raíz fuera de línea emite un certificado para una CA intermedia, la transferencia debe involucrar algo como una llave USB, ya que la CA raíz está fuera de línea).
El certificado en sí mismo se codifica comúnmente "como está" (X.509 DER o PEM), o se envuelve en un objeto denominado PKCS # 7 (CMS). CMS nunca tuvo la intención de transmitir certificados (es un formato de cifrado y firma), pero es tradicional utilizarlo para enviar un certificado y un conjunto de "certificados de ayuda" (CA intermedia para su validación).
Algunas CA generan la clave privada (en el lado de la CA) y, en ese caso, la clave privada debe enviarse al solicitante; por lo general, un archivo PKCS # 12 (también conocido como PFX) se usa para contener tanto el certificado como la clave privada, con protección de contraseña (cifrado basado en contraseña).
Dado que un certificado está firmado y solo contiene datos públicos, su integridad se verifica fácilmente en el momento de la recepción, y la forma en que viaja no es importante para la seguridad. Esto es lo más importante de los certificados.