asn1_build_known_oid() includes ASN1_OID tag and length
This commit is contained in:
parent
ccb76a9cc8
commit
cfa42285a4
|
@ -224,7 +224,7 @@ int asn1_known_oid(chunk_t object)
|
|||
/*
|
||||
* Defined in header.
|
||||
*/
|
||||
chunk_t asn1_get_known_oid(int n)
|
||||
chunk_t asn1_build_known_oid(int n)
|
||||
{
|
||||
chunk_t oid;
|
||||
int i;
|
||||
|
@ -235,7 +235,10 @@ chunk_t asn1_get_known_oid(int n)
|
|||
}
|
||||
|
||||
i = oid_names[n].level + 1;
|
||||
oid = chunk_alloc(i);
|
||||
oid = chunk_alloc(2 + i);
|
||||
oid.ptr[0] = ASN1_OID;
|
||||
oid.ptr[1] = i;
|
||||
|
||||
do
|
||||
{
|
||||
if (oid_names[n].level >= i)
|
||||
|
|
|
@ -107,12 +107,12 @@ chunk_t asn1_algorithmIdentifier(int oid);
|
|||
int asn1_known_oid(chunk_t object);
|
||||
|
||||
/**
|
||||
* Converts an known OID index to ASN.1 OID
|
||||
* Converts a known OID index to an ASN.1 OID
|
||||
*
|
||||
* @param n index into the oid_names[] table
|
||||
* @return allocated OID chunk, chunk_empty if index out of range
|
||||
*/
|
||||
chunk_t asn1_get_known_oid(int n);
|
||||
chunk_t asn1_build_known_oid(int n);
|
||||
|
||||
/**
|
||||
* Returns the length of an ASN.1 object
|
||||
|
|
|
@ -581,13 +581,13 @@ static status_t atodn(char *src, chunk_t *dn)
|
|||
{
|
||||
chunk_t rdn_oid;
|
||||
|
||||
rdn_oid = asn1_get_known_oid(x501rdns[i].oid);
|
||||
rdn_oid = asn1_build_known_oid(x501rdns[i].oid);
|
||||
if (rdn_oid.len)
|
||||
{
|
||||
rdns[rdn_count] =
|
||||
asn1_wrap(ASN1_SET, "m",
|
||||
asn1_wrap(ASN1_SEQUENCE, "mm",
|
||||
asn1_wrap(ASN1_OID, "m", rdn_oid),
|
||||
rdn_oid,
|
||||
asn1_wrap(rdn_type, "c", name)
|
||||
)
|
||||
);
|
||||
|
|
|
@ -118,7 +118,7 @@ extern const chunk_t ASN1_sha1WithRSA_id;
|
|||
|
||||
extern chunk_t asn1_algorithmIdentifier(int oid);
|
||||
extern int asn1_known_oid(chunk_t object);
|
||||
extern chunk_t asn1_get_known_oid(int n);
|
||||
extern chunk_t asn1_build_known_oid(int n);
|
||||
extern u_int asn1_length(chunk_t *blob);
|
||||
extern void code_asn1_length(size_t length, chunk_t *code);
|
||||
extern u_char* build_asn1_object(chunk_t *object, asn1_t type, size_t datalen);
|
||||
|
|
Loading…
Reference in New Issue