Salve a tutti, qualcuno sa dirmi qualcosa sulla notazione ASN1?
In pratica devo generare la richiesta di un certificato x509 (che secondo le specifiche deve rispettare la notazione ASN1) di questo tipo:
codice:
--------------------------------------------------------------------
-- PKCS #10 Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
-------------------------------------------------------
-- Version number.
-------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER
-------------------------------------------------------
-- Subject distinguished name (DN).
-------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
-------------------------------------------------------
-- Public key information.
-------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
-------------------------------------------------------
-- Attributes.
-------------------------------------------------------
Attributes ::= SET OF Attribute
Attribute ::= SEQUENCE
{
type OBJECT IDENTIFIER,
values AttributeSetValue
}
AttributeSetValue ::= SET OF ANY
che dovrei poi codificare in .der ma non posso andare avanti se prima non capisco come crearlo e soprattutto come inserire i parametri che servono (l'algoritmo che sto usando, la chiave pubblica) ...conoscete qualche libreria c++che mi permetta di crearmi una documento del genere (di cui, tra l'altro, non conosco l'estensione :-( )?
PS: so che potrei usare openssl da riga di comando ma non mi è consentito.