Appendix C. Module ASN.1 (ASN.1 Module)
Cette annexe contient le module ASN.1 complet de ce document. Ce module utilise une combinaison de la syntaxe ASN.1 de 1988 et 1993, incluant les fonctionnalités de classe d'objet d'information introduites dans l'addendum de 1993.
PKCS-1 {
iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1)
modules(0) pkcs-1(1)
}
DEFINITIONS EXPLICIT TAGS ::= BEGIN
-- Exporter tous les symboles
EXPORTS ALL;
-- Imports
IMPORTS
AlgorithmIdentifier, ALGORITHM-IDENTIFIER
FROM AlgorithmInformation
{ joint-iso-itu-t(2) etsi(0) specification(0) mhss(1)
pkcs(7) revision(0) module(7) id-mod-algorithmInformation(0) } ;
-- Identificateur d'objet de base
pkcs-1 OBJECT IDENTIFIER ::= {
iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1
}
-- Types de clé RSA
rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
RSAPublicKey ::= SEQUENCE {
modulus INTEGER, -- n
publicExponent INTEGER -- e
}
RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, -- n
publicExponent INTEGER, -- e
privateExponent INTEGER, -- d
prime1 INTEGER, -- p
prime2 INTEGER, -- q
exponent1 INTEGER, -- d mod (p-1)
exponent2 INTEGER, -- d mod (q-1)
coefficient INTEGER, -- (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}
Version ::= INTEGER { two-prime(0), multi(1) }
OtherPrimeInfos ::= SEQUENCE SIZE(1..MAX) OF OtherPrimeInfo
OtherPrimeInfo ::= SEQUENCE {
prime INTEGER, -- r_i
exponent INTEGER, -- d_i
coefficient INTEGER -- t_i
}
-- Identificateurs d'objet des schémas de chiffrement
id-RSAES-OAEP OBJECT IDENTIFIER ::= { pkcs-1 7 }
id-RSAES-PKCS1-v1_5 OBJECT IDENTIFIER ::= { pkcs-1 1 }
-- Identificateurs d'objet des schémas de signature
id-RSASSA-PSS OBJECT IDENTIFIER ::= { pkcs-1 10 }
sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 }
sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 }
sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 }
-- Paramètres RSAES-OAEP
RSAES-OAEP-params ::= SEQUENCE {
hashFunc [0] AlgorithmIdentifier DEFAULT sha1,
maskGenFunc [1] AlgorithmIdentifier DEFAULT mgf1SHA1,
pSourceFunc [2] AlgorithmIdentifier DEFAULT pSpecifiedEmpty
}
-- Paramètres RSASSA-PSS
RSASSA-PSS-params ::= SEQUENCE {
hashAlgorithm [0] AlgorithmIdentifier DEFAULT sha1,
maskGenAlgorithm [1] AlgorithmIdentifier DEFAULT mgf1SHA1,
saltLength [2] INTEGER DEFAULT 20,
trailerField [3] INTEGER DEFAULT 1
}
-- Fonction de génération de masque
id-mgf1 OBJECT IDENTIFIER ::= { pkcs-1 8 }
-- Identificateurs d'objet des fonctions de hachage
id-sha256 OBJECT IDENTIFIER ::= {
joint-iso-itu-t(2) country(16) us(840) organization(1)
gov(101) csor(3) nistalgorithm(4) hashalgs(2) 1
}
id-sha384 OBJECT IDENTIFIER ::= {
joint-iso-itu-t(2) country(16) us(840) organization(1)
gov(101) csor(3) nistalgorithm(4) hashalgs(2) 2
}
id-sha512 OBJECT IDENTIFIER ::= {
joint-iso-itu-t(2) country(16) us(840) organization(1)
gov(101) csor(3) nistalgorithm(4) hashalgs(2) 3
}
-- DigestInfo pour RSASSA-PKCS1-v1_5
DigestInfo ::= SEQUENCE {
digestAlgorithm AlgorithmIdentifier,
digest OCTET STRING
}
END
Ce module ASN.1 définit tous les types de données et identificateurs d'objets nécessaires pour tous les schémas et types de clés de ce document.