2014-07-14 10 views
6

Dato una chiave privata o pubblica codificata arbitraria all'interno di un PEM, con il pre-encapsulation boundary e post-encapsulation boundaries intatto, è possibile sapere esattamente quale formato prendono i byte (cioè sono OpenSSL tradizionali, PKCS8, X.509 SubjectPublicKeyInfo , ecc.) o è necessario disporre di alcune informazioni a priori per decodificarle correttamente?Dato un documento PEM, è possibile conoscere il formato dei byte da esso, o ha bisogno di informazioni a priori?

+0

Il limite "INIZIA QUALCOSA" è un suggerimento che il contenuto è probabilmente QUALCOSA, ma non è vincolante, il che significa che il lettore PEM non deve assumere il contenuto specifico basato sul titolo del contorno e deve semplicemente utilizzare il limite per, limiti del documento. –

risposta

0

Con i certificati la situazione è quasi immediata: la linea di confine specifica ciò che è previsto (un certificato o una chiave privata).

Nei dati blindati OpenPGP la linea di confine indica anche cosa è previsto: la (e) chiave (i) oi dati.

Le chiavi SSH create da più applicazioni SSH hanno le stesse linee di confine ma un diverso formato della chiave stessa. Quindi devi provare a leggere i dati in tutti i formati previsti.

Le chiavi pubbliche RSA di solito hanno il formato RSA 1.5 in modo da poter presumere di avere una chiave RSA.

PKCS # 12 non viene in genere spostato su PEM (non ho mai visto tali file). Lo stesso vale per PKCS8.

Gli archivi del certificato PKCS # 7 sono talvolta codificati PEM e hanno qualcosa come BEGIN CERTIFICATE STORAGE nella loro linea di confine.

Per riassumere - in una certa misura è possibile fare affidamento sul testo della linea di confine, ma questo non ti dà una garanzia al 100%.

Problemi correlati