La requête est envoyée par un demandeur auprès du Certificate Authority (CA) qui devient propritaire de la clé privée pour pouvoir s'authentier auprès de tiers.
La norme utilisée utilisée est Abstract Syntax Notation One (ASN.1) de l'International Telecommunication Union (ITU) compilée en Basic Encoding Rules (BER).
PrivateKeyInfo ::= SEQUENCE
-- Information sur une cle privee.
{
version Version,
-- Toujours 0.
privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
-- Identificateur de l'algorithme de cryptage. Par exemple rsaEncryption de PKCS#1.
privateKey PrivateKey,
-- Cle privee.
attributes [0] IMPLICIT Attributes OPTIONAL
-- Liste des attributs.
}
Version ::= INTEGER
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
PrivateKey ::= OCTET STRING
Attributes ::= SET OF Attribute
EncryptedPrivateKeyInfo ::= SEQUENCE
-- Information sur une cle privee cryptee avec mot de passe.
{
EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
encryptionAlgorithm EncryptionAlgorithmIdentifier,
-- Identification de l'algorithme de cryptage avec mot de passe. Par exemple pbeWithMD2AndDES-CBC ou pbeWithMD5AndDES-CBC de PKCS#5.
encryptedData EncryptedData
-- Cle privee cryptee avec l'algorithme precedent.
}
EncryptedData ::= OCTET STRING