Passa al contenuto principale

1. Introduction (Introduzione)

1. Introduction (Introduzione)

Diversi standard relativi alla sicurezza utilizzati su Internet definiscono formati di dati ASN.1 che normalmente sono codificati utilizzando le Basic Encoding Rules (BER) o le Distinguished Encoding Rules (DER) [X.690], che sono codifiche binarie orientate agli ottetti. Questo documento riguarda le codifiche testuali dei seguenti formati:

  1. Certificati, Certificate Revocation Lists (CRLs) e strutture Subject Public Key Info nell'Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile [RFC5280].

  2. PKCS #10: Certification Request Syntax [RFC2986].

  3. PKCS #7: Cryptographic Message Syntax [RFC2315].

  4. Cryptographic Message Syntax [RFC5652].

  5. PKCS #8: Private-Key Information Syntax [RFC5208], rinominata One Asymmetric Key in Asymmetric Key Package [RFC5958], ed Encrypted Private-Key Information Syntax negli stessi documenti.

  6. Attribute Certificates in An Internet Attribute Certificate Profile for Authorization [RFC5755].

Uno svantaggio di un formato di dati binario è che non può essere scambiato in trasporti testuali, come email o documenti di testo. Un vantaggio delle codifiche basate su testo è che sono facili da modificare utilizzando comuni editor di testo; ad esempio, un utente può concatenare diversi certificati per formare una catena di certificati con operazioni di copia e incolla.

La tradizione all'interno della serie RFC può essere fatta risalire al Privacy-Enhanced Mail (PEM) [RFC1421], basato su una proposta di Marshall Rose in Message Encapsulation [RFC934]. Originariamente chiamato "meccanismo di incapsulamento PEM", "messaggio PEM incapsulato", o (probabilmente) "codifica stampabile PEM", oggi il formato è talvolta definito "codifica PEM". Le varianti includono OpenPGP ASCII armor [RFC4880] e il formato di file di chiave OpenSSH [RFC4716].

Per ragioni che fondamentalmente si riducono a mancanza di coordinamento o disattenzione, molte librerie PKIX, PKCS e CMS implementano una codifica basata su testo che è simile a - ma non identica con - la codifica PEM. Questo documento specifica il formato di codifica testuale, articola le regole de facto secondo cui operano la maggior parte delle implementazioni e fornisce raccomandazioni che promuoveranno l'interoperabilità in futuro. Questo documento fornisce anche una nomenclatura comune per gli elementi sintattici, riflettendo l'evoluzione di questo formato standard de facto. La "X.509 Style Guide" di Peter Gutmann [X.509SG] contiene una sezione "base64 Encoding" che descrive i formati e contiene suggerimenti simili a quelli presenti in questo documento. Tutte le figure sono esempi reali e funzionali, con lunghezze di chiave e contenuti interni scelti per essere il più piccoli possibile nella pratica.

Le parole chiave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" e "OPTIONAL" in questo documento devono essere interpretate come descritto in RFC 2119 [RFC2119].