do not append a NULL paramter to ECDSA algorithmIdentifiers

This commit is contained in:
Martin Willi
2009-08-27 15:28:21 +02:00
parent 9436b31c94
commit 7ef310f5b4
+17 -3
View File
@@ -43,9 +43,23 @@ const chunk_t ASN1_INTEGER_2 = chunk_from_buf(ASN1_INTEGER_2_str);
*/
chunk_t asn1_algorithmIdentifier(int oid)
{
return asn1_wrap(ASN1_SEQUENCE, "mm",
asn1_build_known_oid(oid),
asn1_wrap(ASN1_NULL, ""));
chunk_t null;
/* some algorithmIdentifiers have an appended NULL */
switch (oid)
{
case OID_ECDSA_WITH_SHA1:
case OID_ECDSA_WITH_SHA224:
case OID_ECDSA_WITH_SHA256:
case OID_ECDSA_WITH_SHA384:
case OID_ECDSA_WITH_SHA512:
null = chunk_empty;
break;
default:
null = asn1_wrap(ASN1_NULL, "");;
break;
}
return asn1_wrap(ASN1_SEQUENCE, "mm", asn1_build_known_oid(oid), null);
}
/*