Skip to content

Commit 079ed04

Browse files
committed
add OID testcase from x.690
1 parent bd542c6 commit 079ed04

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/der_test.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -673,6 +673,26 @@ static void der_set_test(void)
673673
674674
*/
675675

676+
static void _der_oid_test(void)
677+
{
678+
static const unsigned char oid_x690_8_19_5_example[] = { 0x06, 0x03, 0x88, 0x37, 0x03 };
679+
unsigned long len;
680+
unsigned char buf[64];
681+
682+
ltc_asn1_list *decoded_list, static_list[1];
683+
684+
len = sizeof(oid_x690_8_19_5_example);
685+
DO(der_decode_sequence_flexi(oid_x690_8_19_5_example, &len, &decoded_list));
686+
687+
LTC_SET_ASN1(static_list, 0, LTC_ASN1_OBJECT_IDENTIFIER, (void *)decoded_list->data, decoded_list->size);
688+
len = sizeof(buf);
689+
DO(der_encode_object_identifier(decoded_list->data, decoded_list->size, buf, &len));
690+
der_sequence_free(decoded_list);
691+
692+
DO(do_compare_testvector(buf, len, oid_x690_8_19_5_example, sizeof(oid_x690_8_19_5_example), "OID X6.90 Ch. 8.19.5 Example", 0));
693+
694+
}
695+
676696
static void der_flexi_test(void)
677697
{
678698
static const char printable_str[] = "printable";
@@ -1589,6 +1609,8 @@ int der_test(void)
15891609

15901610
der_cacert_test();
15911611

1612+
_der_oid_test();
1613+
15921614
y = 0xffffff00;
15931615
#if ULONG_MAX == ULLONG_MAX
15941616
y <<= 32;

0 commit comments

Comments
 (0)