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 un CmcAddExtensions struttura 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 di registrazione certificati per aggiungere estensioni a una richiesta di certificato CMC.
Per usare l'API di 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'IX509Extension oggetto direttamente per creare estensioni personalizzate.
- Chiamare la proprietà X509Extensions nell'oggettoIX509CertificateRequestCmcper recuperare un insieme IX509Extensions.
- Aggiungere le estensioni create nel passaggio 1 all'insieme IX509Extensions.
- Chiamare Registrare per eseguire automaticamente le azioni seguenti:
- Recuperare un oggettoICryptAttributesdall'oggettoIX509CertificateRequestCmc.
- Creare e inizializzare un oggetto IX509AttributeExtensions usando l'insieme IX509Extensions recuperato nel passaggio 2.
- Creare un insieme IX509Attributes e aggiungervi l'oggettoIX509AttributeExtensions.
- Utilizzare l'insiemeIX509Attributesper inizializzare un oggettoICryptAttribute.
- Aggiungere l'oggettoICryptAttributeall'insiemeICryptAttributes.
Argomenti correlati