Il nome del file "estensioni" sono irrilevanti. Non esiste un vero standard per queste poche lettere, solo tradizioni mantenute in modo approssimativo. Lo standard PKCS # 7 (ora chiamato CMS ) descrive come codificare e decodificare firmato e / o crittografato e / o autenticato " messaggi "in sequenze di byte. Il modo in cui queste sequenze di byte sono memorizzate o scambiate è completamente fuori portata; in particolare, CMS non ha il concetto di "file", per non parlare di "nome file".
Queste estensioni di nomi contano solo per l'interazione dell'utente; vale a dire, cosa succede quando si fa doppio clic sul file. I sistemi operativi derivati da MS-Dos (ad esempio Windows) tenteranno di dedurre un comportamento ragionevole osservando la fine del nome del file; ma questa è la fine. In ogni caso, un oggetto CMS ha la seguente struttura generale:
ContentInfo ::= SEQUENCE {
contentType ContentType,
content [0] EXPLICIT ANY DEFINED BY contentType }
ContentType ::= OBJECT IDENTIFIER
che significa che il file contenuto inizia con un'intestazione esplicita che identifica in modo univoco il tipo di dati (ad esempio 1.2.840.113549.1.7.2
, che significa "dati firmati, seguendo la sintassi SignedData
da CMS sezione 5.1 ).
Poiché il contenuto non è ambiguo, tutto ciò che devi fare è usare come nome file qualunque cosa attiva il corretto comportamento dell'interfaccia per ciò che vuoi usare per il file CMS. Ci sono diversi usi Ad esempio, poiché un CMS SignedData
ha un campo per incorporare i certificati, è stato spesso (ab) utilizzato come una sorta di formato di archivio per i certificati "con una catena" (ma senza una chiave privata). Ho visto l'estensione del file ".p7b" usata per questo ruolo.