Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las interfaces siguientes se usan para agregar atributos a una solicitud de certificado:
- ICryptAttribute
- ICryptAttributes
- ix509Attribute
- IX509Attributes
La arquitectura sigue que se define en el módulo ASN.1 de la sintaxis de solicitud de certificación PKCS #10.
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject ANY,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type EncodedObjectID,
values AttributeSetValue
}
La colecciónICryptAttributes corresponde al campo atributos y cada objeto ICryptAttribute de la colección corresponde a una estructura asn.1 Attribute.
Cada atributo consta de un identificador de objeto (OID) y cero o más valores asociados al OID. Un único par de valores OID se representa mediante una interfaz deIX509Attribute. Puede usar una colección IX509Attributes para inicializar un objeto ICryptAttribute, pero cada atributo de la colección debe estar asociado con el mismo OID. Normalmente, un atributo solo tiene un valor.
Puede usar cualquiera de las siguientes interfaces, que derivan de IX509Attribute, para crear un único par de atributos OID/valor:
- IX509AttributeClientId
- IX509AttributeExtensions
- IX509AttributeArchiveKey
- IX509AttributeArchiveKeyHash
- IX509AttributeCspProvider
- IX509AttributeOSVersion
- IX509AttributeRenewalCertificate
Por ejemplo, el procedimiento siguiente muestra cómo crear un atributo ClientId .
Para crear un atributo ClientId de
- Recupere un objetoICryptAttributes de un IX509CertificateRequestPkcs10 o IX509CertificateRequestCmc.
- Cree e inicialice un objeto IX509AttributeClientId.
- Cree una colecciónIX509Attributes y agregue el objeto IX509AttributeClientId.
- Use la colecciónIX509Attributes para inicializar un objetoICryptAttribute.
- Agregue el objetoICryptAttribute a la colección recuperada en el paso 1.
En el ejemplo siguiente se muestra la salida ASN.1 del atributo ClientId. El atributo contiene el nombre DNS del equipo en el que se generó la solicitud (test3d.jdomcsc.nttest.microsoft.com), el nombre SAM del usuario (JDOMCSC\administrator) y el nombre de la aplicación que generó la solicitud (certreq).
0136: 30 57; SEQUENCE (57 Bytes)
0138: | 06 09 ; OBJECT_ID (9 Bytes)
013a: | | 2b 06 01 04 01 82 37 15 14
| | ; 1.3.6.1.4.1.311.21.20 Client Information
0143: | | 31 4a ; SET (4a Bytes)
0145: | | 30 48 ; SEQUENCE (48 Bytes)
0147: | | 02 01 ; INTEGER (1 Bytes)
0149: | | | 09
014a: | | 0c 23 ; UTF8_STRING (23 Bytes)
014c: | | | 74 65 73 74 33 64 2e 6a 64 6f 6d 63 73 63 2e 6e
015c: | | | 74 74 65 73 74 2e 6d 69 63 72 6f 73 6f 66 74 2e
016c: | | | 63 6f 6d
| | | ; "test3d.jdomcsc.nttest.microsoft.com"
016f: | | 0c 15 ; UTF8_STRING (15 Bytes)
0171: | | | 4a 44 4f 4d 43 53 43 5c 61 64 6d 69 6e 69 73 74
0181: | | | 72 61 74 6f 72
| | | ; "JDOMCSC\administrator"
0186: | | 0c 07 ; UTF8_STRING (7 Bytes)
0188: | | 63 65 72 74 72 65 71
| | ; "certreq"
Temas relacionados