Estensioni CMC
Le estensioni sono incluse in una richiesta CMC aggiungendole alla struttura TaggedAttributes illustrata nell'esempio di sintassi ASN.1 seguente. Per altre informazioni, vedere l'argomento Attributi .
CmcData ::= SEQUENCE
{
controlSequence ControlSequence,
reqSequence ReqSequence,
cmsSequence CmsSequence,
otherMsgSequence OtherMsgSequence
}
ControlSequence ::= SEQUENCE OF TaggedAttribute
TaggedAttribute ::= SEQUENCE
{
bodyPartID BodyPartID,
type EncodedObjectID,
values AttributeSetValue
}
BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY
Ogni struttura nell'insieme TaggedAttributes contiene un ID intero, un identificatore di oggetto ASN.1 (OID) e un set di valori. Le estensioni vengono incorporate in una richiesta aggiungendo una struttura CmcAddExtensions al campo valori . La sintassi della struttura ASN.1 è illustrata nell'esempio seguente. L'identificatore dell'oggetto è XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8).
CmcAddExtensions ::= SEQUENCE
{
pkiDataReference BodyPartID,
certReferences BodyPartIDSequence,
extensions Extensions
}
Extensions ::= SEQUENCE OF Extension
Extension ::= SEQUENCE
{
extnId EncodedObjectID,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
La procedura seguente illustra come usare l'API Registrazione certificati per aggiungere estensioni a una richiesta di certificato CMC.
Per usare l'API Registrazione certificati per aggiungere estensioni a una richiesta di certificato CMC
- Creare un'estensione usando una delle interfacce disponibili che derivano dall'interfaccia IX509Extension o usare l'oggetto IX509Extension direttamente per creare estensioni personalizzate.
- Chiamare la proprietà X509Extensions nell'oggetto IX509CertificateRequestCmc per recuperare un insieme IX509Extensions .
- Aggiungere le estensioni create nel passaggio 1 all'insieme IX509Extensions .
- Chiamare Registrazione per eseguire automaticamente le azioni seguenti:
- Recuperare un oggetto ICryptAttributes dall'oggetto IX509CertificateRequestCmc .
- Creare e inizializzare un oggetto IX509AttributeExtensions usando l'insieme IX509Extensions recuperato nel passaggio 2.
- Creare un insieme IX509Attributes e aggiungerlo all'oggetto IX509AttributeExtensions.
- Usare l'insieme IX509Attributes per inizializzare un oggetto ICryptAttribute .
- Aggiungere l'oggetto ICryptAttribute all'insieme ICryptAttributes .
Argomenti correlati