Perché le codifiche PEM delle chiavi pubbliche e private CE utilizzano intestazioni diverse?

2

Pagina manuale per gli stati di comando OpenSSL ec :

   The PEM private key format uses the header and footer lines:

    -----BEGIN EC PRIVATE KEY-----
    -----END EC PRIVATE KEY-----

   The PEM public key format uses the header and footer lines:

    -----BEGIN PUBLIC KEY-----
    -----END PUBLIC KEY-----
  1. Quale standard si basa su (se esiste)?
  2. Perché "EC" è indicato nell'intestazione / piè di pagina della chiave privata, ma non nel pubblico? Presumo che si tratti di una "meta-informazione" che descrive il contenuto, quindi perché manca alla parte pubblica?
posta Konstantin Shemyak 30.08.2018 - 15:27
fonte

1 risposta

3

Per rispondere alla tua prima domanda, questa è basata sul link (sezione 4)

della RFC

Il nome dell'algoritmo mancante ha a che fare con il formato di codifica usato durante la codifica, ad esempio pkcs # 1 vs pkcs # 8. Il primo non contiene l'algoritmoIdentificatore e quindi il nome algo (EC, RSA ecc.) È incluso nell'etichetta. Tuttavia, pkcs # 8 incapsula l'identificatore dell'algoritmo e quindi viene omesso dall'etichetta.

ad esempio, il formato pkcs # 8 per la chiave privata è questo:

PrivateKeyInfo ::= SEQUENCE {
   version                   Version,
   privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
   privateKey                PrivateKey,
   attributes           [0]  IMPLICIT Attributes OPTIONAL }

Version ::= INTEGER

PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier

PrivateKey ::= OCTET STRING

Attributes ::= SET OF Attribute

Per chiarire, non c'è nulla che impedisca di rappresentare la chiave pubblica nel formato pkcs # 1 e quindi di creare un'intestazione del tipo: ----- BEGIN EC PUBLIC KEY -----. Quindi sembra che la particolare codifica prodotta sia secondo il set di codifica predefinito per lo strumento (non sono sicuro di questo però). Ciononostante, qualsiasi strumento / libreria decente dovrebbe essere in grado di gestire con garbo qualsiasi formato, anche quando vengono utilizzati diversi formati per le chiavi pubbliche e private della stessa coppia di chiavi.

    
risposta data 30.08.2018 - 19:51
fonte

Leggi altre domande sui tag