C'è uno standard per lo scambio di messaggi con CA, ma raramente è implementato nella pratica. Le CA commerciali esistenti che trattano molti clienti remoti tendono a organizzare il processo di rilascio dei certificati tramite alcune interfacce personalizzate (spesso basate sul Web) e l'invio dei certificati fa parte di tale processo. Vari metodi sono usati nella pratica, possibilmente combinati:
- Invio del certificato via email
- Rendi il certificato disponibile all'utente su HTTP (l'URL viene visualizzato in alcune pagine Web o inviato anche via email).
- Un protocollo personalizzato tra la CA e un componente controllato da CA eseguito sul computer dell'utente (Applet, controllo ActiveX, applicazione "console di gestione" completa ...).
- Qualsiasi protocollo di "trasferimento manuale" in alcune situazioni specifiche (ad esempio quando una CA radice offline emette un certificato per una CA intermedia, il trasferimento deve coinvolgere qualcosa come una chiave USB, poiché la CA principale non è in linea).
Il certificato stesso è comunemente codificato "così com'è" (X.509 DER o PEM) o incapsulato in un cosiddetto oggetto PKCS # 7 (CMS). CMS non è mai stato concepito per trasmettere certificati (è un formato di crittografia e firma) ma è usuale usarlo per inviare un certificato e un insieme di "certificati helper" (CA intermedio per la sua convalida).
Alcuni CA generano autonomamente la chiave privata (sul lato CA) e, in tal caso, la chiave privata deve essere inviata al richiedente; di solito, un archivio PKCS # 12 (aka PFX) viene utilizzato per contenere sia il certificato che la chiave privata, con protezione tramite password (crittografia basata su password).
Poiché un certificato è firmato e contiene solo dati pubblici, la sua integrità è prontamente verificata al momento della ricezione e il suo modo di viaggiare non è importante per la sicurezza. Questa è la cosa principale dei certificati.