42static const BYTE bin3[] = {0x02,0x02,0x00,0x80};
43static const BYTE bin4[] = {0x02,0x02,0x01,0x00};
45static const BYTE bin6[] = {0x02,0x02,0xff,0x7f};
46static const BYTE bin7[] = {0x02,0x04,0xba,0xdd,0xf0,0x0d};
65static const BYTE bin8[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
66static const BYTE bin9[] = {0x02,0x0a,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0};
67static const BYTE bin10[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
69static const BYTE bin11[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0xff,0};
70static const BYTE bin12[] = {0x02,0x09,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
71static const BYTE bin13[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0};
78static const BYTE bin14[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
79static const BYTE bin15[] = {0x02,0x0a,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0};
80static const BYTE bin16[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0xff,0};
81static const BYTE bin17[] = {0x02,0x0c,0x00,0xff,0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
105 "Expected ERROR_FILE_NOT_FOUND, got %d\n",
GetLastError());
114 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
127 ok(
buf[0] == 2,
"Got unexpected type %d for integer (expected 2)\n",
132 "Encoded value of 0x%08x didn't match expected\n",
ints[
i].
val);
146 ok(
buf[0] == 2,
"Got unexpected type %d for integer (expected 2)\n",
151 "Encoded value of 0x%08x didn't match expected\n",
ints[
i].
val);
170 ok(
buf[0] == 2,
"Got unexpected type %d for integer (expected 2)\n",
176 "Encoded value didn't match expected\n");
193 ok(
buf[0] == 2,
"Got unexpected type %d for integer (expected 2)\n",
199 "Encoded value didn't match expected\n");
207 static const BYTE bigInt[] = { 2, 5, 0xff, 0xfe, 0xff, 0xfe, 0xff };
208 static const BYTE testStr[] = { 0x16, 4,
't',
'e',
's',
't' };
209 static const BYTE longForm[] = { 2, 0x81, 0x01, 0x01 };
210 static const BYTE bigBogus[] = { 0x02, 0x84, 0x01, 0xff, 0xff, 0xf9 };
211 static const BYTE extraBytes[] = { 2, 1, 1, 0, 0, 0, 0 };
225 "Expected ERROR_FILE_NOT_FOUND, got %d\n",
GetLastError());
231 "Expected CRYPT_E_ASN1_EOD or OSS_BAD_ARG, got %08x\n",
GetLastError());
233 ret = pCryptDecodeObjectEx(dwEncoding,
X509_INTEGER, bigInt, bigInt[1] + 2,
237 "Expected CRYPT_E_ASN1_LARGE, got %d\n",
GetLastError());
239 ret = pCryptDecodeObjectEx(dwEncoding,
X509_INTEGER, testStr, testStr[1] + 2,
243 "Expected CRYPT_E_ASN1_BADTAG or OSS_PDU_MISMATCH, got %08x\n",
253 "Expected success and NOERROR, got %d\n",
GetLastError());
259 ok(
buf !=
NULL,
"Expected allocated buffer\n");
273 "Expected success and NOERROR, got %d\n",
GetLastError());
279 ok(
buf !=
NULL,
"Expected allocated buffer\n");
288 "Unexpected value\n");
298 "Expected success and NOERROR, got %d\n",
GetLastError());
304 ok(
buf !=
NULL,
"Expected allocated buffer\n");
313 "Unexpected value\n");
323 ok(*(
int *)
buf == 1,
"Expected 1, got %d\n", *(
int *)
buf);
332 ok(*(
int *)
buf == 1,
"Expected 1, got %d\n", *(
int *)
buf);
355 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
360static const BYTE bin19[] = {0x0a,0x05,0x00,0xff,0xff,0xff,0x80};
395 "Got unexpected type %d for enumerated (expected 0xa)\n",
401 "Encoded value of 0x%08x didn't match expected\n",
426 "Got unexpected size %d for enumerated\n",
bufSize);
449 ret = pCryptEncodeObjectEx(dwEncoding, structType, &ft,
455 (
time->sysTime.wYear >= 1950 &&
time->sysTime.wYear <= 2050))
459 ok(
buf !=
NULL,
"Expected an allocated buffer\n");
463 "Expected type 0x%02x, got 0x%02x\n",
time->encodedTime[0],
465 ok(
buf[1] ==
time->encodedTime[1],
"Expected %d bytes, got %d\n",
468 "Got unexpected value for time encoding\n");
475 "Expected CRYPT_E_BAD_ENCODE, got 0x%08x\n",
GetLastError());
517 "Got unexpected value for time decoding:\nexpected %s, got %s\n",
528 ret = pCryptDecodeObjectEx(dwEncoding, structType,
time->encodedTime,
534 (
time->sysTime.wYear >= 1950 &&
time->sysTime.wYear <= 2050))
537 "CryptDecodeObjectEx failed: %d (0x%08x)\n",
GetLastError(),
545 "Expected CRYPT_E_ASN1_BADTAG or OSS_PDU_MISMATCH, got %08x\n",
550 0x17,0x0d,
'0',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
552 0x18,0x0f,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
554 0x18,0x0f,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
557 { { 2005, 6, 1, 6, 16, 10, 0, 0 },
bin20 },
558 { { 1945, 6, 1, 6, 16, 10, 0, 0 },
bin21 },
559 { { 2145, 6, 1, 6, 16, 10, 0, 0 },
bin22 },
575 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'.',
'0',
'0',
'0',
'Z'};
577 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'.',
'9',
'9',
'9',
'Z'};
579 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'+',
'0',
'1',
'0',
'0'};
581 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'-',
'0',
'1',
'0',
'0'};
583 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'-',
'0',
'1',
'1',
'5'};
585 0x18,0x0a,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6'};
587 0x17,0x0a,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0'};
589 0x17,0x0b,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'Z'};
591 0x17,0x0d,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'+',
'0',
'1'};
593 0x17,0x0d,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'-',
'0',
'1'};
595 0x17,0x0f,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'+',
'0',
'1',
'0',
'0'};
597 0x17,0x0f,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'-',
'0',
'1',
'0',
'0'};
599 0x17,0x08,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6'};
601 0x18,0x0f,
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'Z'};
603 0x18,0x04,
'2',
'1',
'4',
'5'};
605 0x18,0x08,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6'};
610 { { 1945, 6, 1, 6, 16, 10, 0, 0 },
bin23 },
611 { { 1945, 6, 1, 6, 16, 10, 0, 999 },
bin24 },
612 { { 1945, 6, 1, 6, 17, 10, 0, 0 },
bin25 },
613 { { 1945, 6, 1, 6, 15, 10, 0, 0 },
bin26 },
614 { { 1945, 6, 1, 6, 14, 55, 0, 0 },
bin27 },
615 { { 2145, 6, 1, 6, 16, 0, 0, 0 },
bin28 },
616 { { 2045, 6, 1, 6, 16, 10, 0, 0 },
bin29 },
617 { { 2045, 6, 1, 6, 16, 10, 0, 0 },
bin30 },
618 { { 2045, 6, 1, 6, 17, 10, 0, 0 },
bin31 },
619 { { 2045, 6, 1, 6, 15, 10, 0, 0 },
bin32 },
620 { { 2045, 6, 1, 6, 17, 10, 0, 0 },
bin33 },
621 { { 2045, 6, 1, 6, 15, 10, 0, 0 },
bin34 },
626 static const unsigned char *bogusTimes[] = {
664 bogusTimes[
i], bogusTimes[
i][1] + 2, 0,
NULL, &ft1, &
size);
668 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
679 0x30,0x23,0x31,0x21,0x30,0x0c,0x06,0x03,0x55,0x04,0x04,
680 0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
681 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0};
6830x30,0x2e,0x31,0x2c,0x30,0x2a,0x06,0x03,0x55,0x04,0x03,0x30,0x23,0x31,0x21,
6840x30,0x0c,0x06,0x03,0x55,0x04,0x04,0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,
6850x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
693 0x6f, 0x6c, 0x69, 0x73 };
695 0x76, 0x65, 0x72, 0x73 };
696static const BYTE wine[] = { 0x57, 0x69, 0x6e, 0x65, 0x20, 0x44, 0x65, 0x76,
697 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74 };
700static const BYTE aric[] = { 0x61, 0x72, 0x69, 0x63, 0x40, 0x63, 0x6f, 0x64,
701 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d };
703#define RDNA(arr) oid_ ## arr, CERT_RDN_PRINTABLE_STRING, { sizeof(arr), (LPBYTE)arr }
704#define RDNIA5(arr) oid_ ## arr, CERT_RDN_IA5_STRING, { sizeof(arr), (LPBYTE)arr }
7320x30,0x81,0x96,0x31,0x81,0x93,0x30,0x09,0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,
7330x53,0x30,0x10,0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x6c,0x6f,0x63,0x61,0x6c,0x68,
7340x6f,0x73,0x74,0x30,0x10,0x06,0x03,0x55,0x04,0x08,0x13,0x09,0x4d,0x69,0x6e,0x6e,
7350x65,0x73,0x6f,0x74,0x61,0x30,0x12,0x06,0x03,0x55,0x04,0x07,0x13,0x0b,0x4d,0x69,
7360x6e,0x6e,0x65,0x61,0x70,0x6f,0x6c,0x69,0x73,0x30,0x12,0x06,0x03,0x55,0x04,0x0a,
7370x13,0x0b,0x43,0x6f,0x64,0x65,0x57,0x65,0x61,0x76,0x65,0x72,0x73,0x30,0x17,0x06,
7380x03,0x55,0x04,0x0b,0x13,0x10,0x57,0x69,0x6e,0x65,0x20,0x44,0x65,0x76,0x65,0x6c,
7390x6f,0x70,0x6d,0x65,0x6e,0x74,0x30,0x21,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
7400x01,0x09,0x01,0x16,0x14,0x61,0x72,0x69,0x63,0x40,0x63,0x6f,0x64,0x65,0x77,0x65,
7410x61,0x76,0x65,0x72,0x73,0x2e,0x63,0x6f,0x6d
761 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
772 "Got unexpected encoding for empty name\n");
782 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
795 "Got unexpected encoding for empty RDN array\n");
806 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
822 attrs[0].
pszObjId = oid_common_name;
838 "Got unexpected encoding for two RDN array\n");
853 "Unexpected value for re-encoded two RDN array\n");
885 0x30,0x21,0x31,0x1f,0x30,0x0b,0x06,0x03,0x55,0x04,0x04,0x13,0x04,0x4c,0x61,
886 0x6e,0x67,0x30,0x10,0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,
887 0x20,0x4c,0x61,0x6e,0x67 };
889 0x30,0x2f,0x31,0x2d,0x30,0x2b,0x06,0x03,0x55,0x04,0x03,0x1e,0x24,0x23,0x30,
890 0x21,0x31,0x0c,0x30,0x03,0x06,0x04,0x55,0x13,0x04,0x4c,0x05,0x6e,0x61,0x00,
891 0x67,0x11,0x30,0x03,0x06,0x04,0x55,0x13,0x03,0x4a,0x0a,0x61,0x75,0x20,0x6e,
892 0x61,0x4c,0x67,0x6e };
911 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
922 "Got unexpected encoding for empty name\n");
928 attrs[0].
pszObjId = oid_common_name;
939 "Expected CRYPT_E_INVALID_PRINTABLE_STRING, got %08x\n",
GetLastError());
940 ok(
size == 9,
"Unexpected error index %08x\n",
size);
944 attrs[0].
pszObjId = oid_common_name;
962 "Got unexpected encoding for two RDN array\n");
977 "Unexpected value for re-encoded two RDN array\n");
1000 win_skip(
"Can't handle CERT_RDN_UTF8_STRING\n");
1005 "Expected string type %d, got %d\n",
expected->dwValueType,
1009 "String type %d: unexpected data size, got %d, expected %d\n",
1014 "String type %d: unexpected value\n",
expected->dwValueType);
1027 "Got unexpected OID %s, expected %s\n", got->
pszObjId,
1057 for (
i = 0;
i < got->
cRDN;
i++)
1064 0x30,0x23,0x31,0x21,0x30,0x0c,0x06,0x03,0x55,0x04,0x04,
1065 0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
1066 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0,0,0,0,0,0};
1090 "Expected 0 RDNs in empty info, got %d\n",
1103 "Expected 0 RDNs in empty info, got %d\n",
1119 info->cRDN == 1 &&
info->rgRDN &&
info->rgRDN[0].cRDNAttr == 0,
1120 "Got unexpected value for empty RDN\n");
1185 "Got wrong bufSize %d\n",
bufSize);
1187 "Expected 0 RDNs in empty info, got %d\n",
1203 info->cRDN == 1 &&
info->rgRDN &&
info->rgRDN[0].cRDNAttr == 0,
1204 "Got unexpected value for empty RDN\n");
1247 0x04,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1249 0x12,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1251 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1253 0x14,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1255 0x15,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1257 0x16,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1259 0x19,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1261 0x1a,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1263 0x1b,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1265 0x1e,0x14,0x00,0x4a,0x00,0x75,0x00,0x61,0x00,0x6e,0x00,0x20,0x00,0x4c,0x00,
1266 0x61,0x00,0x6e,0x00,0x67,0x00,0x00 };
1268 0x0c,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1271 0x16,0x07,0x66,0x6f,0x6f,0x00,0x63,0x6f,0x6d };
1332 "Unexpected encoding\n");
1340 "Type %d: CryptEncodeObjectEx failed: %08x\n",
1347 "Got unexpected encoding\n");
1354 "Type %d: CryptEncodeObjectEx failed: %08x\n",
1361 "Got unexpected encoding\n");
1379 ok(
ret,
"Value type %d: CryptDecodeObjectEx failed: %08x\n",
1410 "Expected CERT_RDN_ENCODED_BLOB or CERT_RDN_IA5_STRING, got %d\n",
1419 "String type %d: unexpected data size, got %d, expected %d\n",
1424 "String type %d: unexpected value\n",
expected->dwValueType);
1432static const WCHAR url[] = {
'h',
't',
't',
'p',
':',
'/',
'/',
'w',
'i',
'n',
'e',
1433 'h',
'q',
'.',
'o',
'r',
'g',0 };
1435 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71, 0x2e,
1439static const WCHAR dnsName[] = {
'w',
'i',
'n',
'e',
'h',
'q',
'.',
'o',
'r',
'g',0 };
1441 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
1446 0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,
'J',
'u',
'a',
'n',
' ',
'L',
'a',
'n',
'g',0};
14490x30,0x19,0xa4,0x17,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
14500x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1459 char oid[] =
"1.2.3";
1502 "Expected CRYPT_E_INVALID_IA5_STRING, got %08x\n",
GetLastError());
1505 "Expected invalid char at index 7, got %d\n",
1542 U(
entry).pszRegisteredID = oid;
1567 static const BYTE unimplementedType[] = { 0x30, 0x06, 0x85, 0x04, 0x7f,
1569 static const BYTE bogusType[] = { 0x30, 0x06, 0x89, 0x04, 0x7f, 0x00, 0x00,
1571 static const BYTE dns_embedded_null[] = { 0x30,0x10,0x82,0x0e,0x66,0x6f,
1572 0x6f,0x2e,0x63,0x6f,0x6d,0x00,0x62,0x61,0x64,0x64,0x69,0x65 };
1573 static const BYTE dns_embedded_bell[] = { 0x30,0x10,0x82,0x0e,0x66,0x6f,
1574 0x6f,0x2e,0x63,0x6f,0x6d,0x07,0x62,0x61,0x64,0x64,0x69,0x65 };
1575 static const BYTE url_embedded_null[] = { 0x30,0x10,0x86,0x0e,0x66,0x6f,
1576 0x6f,0x2e,0x63,0x6f,0x6d,0x00,0x62,0x61,0x64,0x64,0x69,0x65 };
1588 "Expected CRYPT_E_ASN1_BADTAG or OSS_DATA_ERROR, got %08x\n",
1595 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
1605 ok(
info->cAltEntry == 0,
"Expected 0 entries, got %d\n",
1616 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1619 "Expected CERT_ALT_NAME_URL, got %d\n",
1620 info->rgAltEntry[0].dwAltNameChoice);
1621 ok(
U(
info->rgAltEntry[0]).pwszURL ==
NULL || !*
U(
info->rgAltEntry[0]).pwszURL,
1622 "Expected empty URL\n");
1635 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1638 "Expected CERT_ALT_NAME_URL, got %d\n",
1639 info->rgAltEntry[0].dwAltNameChoice);
1650 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1653 "Expected CERT_ALT_NAME_DNS_NAME, got %d\n",
1654 info->rgAltEntry[0].dwAltNameChoice);
1656 "Unexpected DNS name\n");
1666 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1669 "Expected CERT_ALT_NAME_IP_ADDRESS, got %d\n",
1670 info->rgAltEntry[0].dwAltNameChoice);
1672 "Unexpected IP address length %d\n",
1673 U(
info->rgAltEntry[0]).IPAddress.cbData);
1675 sizeof(
localhost)),
"Unexpected IP address value\n");
1685 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1688 "Expected CERT_ALT_NAME_REGISTERED_ID, got %d\n",
1689 info->rgAltEntry[0].dwAltNameChoice);
1690 ok(!
strcmp(
U(
info->rgAltEntry[0]).pszRegisteredID,
"1.2.3"),
1691 "Expected OID 1.2.3, got %s\n",
U(
info->rgAltEntry[0]).pszRegisteredID);
1702 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1705 "Expected CERT_ALT_NAME_DIRECTORY_NAME, got %d\n",
1706 info->rgAltEntry[0].dwAltNameChoice);
1707 ok(
U(
info->rgAltEntry[0]).DirectoryName.cbData ==
1709 U(
info->rgAltEntry[0]).DirectoryName.cbData);
1712 "Unexpected directory name value\n");
1733 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %d\n",
1736 "Expected CERT_ALT_NAME_DNS_NAME, got %d\n",
1737 info->rgAltEntry[0].dwAltNameChoice);
1790static BYTE nihongoT61[] = { 0x14,0x09,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x6f,
1794static BYTE nihongoBMP[] = { 0x1e,0x12,0x00,0x68,0x00,0x74,0x00,0x74,0x00,0x70,
1795 0x00,0x3a,0x00,0x2f,0x00,0x2f,0x22,0x6f,0x57,0x5b };
1797 0xe2,0x89,0xaf,0xe5,0x9d,0x9b };
1833 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
1836 value.dwValueType = 0;
1838 value.Value.cbData = 0;
1842 "Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n",
GetLastError());
1847 "Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n",
GetLastError());
1853 "Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n",
GetLastError());
1858 "Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n",
GetLastError());
1866 "Expected CRYPT_E_NOT_CHAR_STRING, got %08x\n",
GetLastError());
1868 value.Value.cbData = 0;
1876 "Value type %d: expected %08x, got %08x\n",
value.dwValueType,
1879 "Expected error index %d, got %d\n",
unicodeErrors[
i].errorIndex,
1883 value.Value.cbData = 0;
1895 "Value type %d: expected size %d, got %d\n",
1898 "Value type %d: unexpected value\n",
value.dwValueType);
1916 "Value type %d: expected size %d, got %d\n",
1919 "Value type %d: unexpected value\n",
value.dwValueType);
1927 if (
n <= 0)
return 0;
1928 while ((--
n > 0) && *str1 && (*str1 == *str2)) { str1++; str2++; }
1929 return *str1 - *str2;
1953 value->dwValueType);
1956 "Unexpected decoded value for index %d (value type %d)\n",
i,
1966 's',
'o',
'm',
'e',
'l',
'o',
'n',
'g',0xff,
's',
't',
'r',
'i',
'n',
'g' };
1968 ASN_OCTETSTRING,15,
's',
'o',
'm',
'e',
'l',
'o',
'n',
'g',0xff,
's',
't',
'r',
'i',
'n',
'g' };
1976 static const struct {
1977 const BYTE *decoded;
2007 ok(
bufSize ==
tests[
i].encoded_size,
"[%u] buf size %u expected %u\n",
2009 ok(
buf[0] == 4,
"Got unexpected type %d for octet string (expected 4)\n",
buf[0]);
2023 {
ASN_CONSTRUCTOR|
ASN_OCTETSTRING,8,
ASN_CONSTRUCTOR|
ASN_OCTETSTRING,0x80,
ASN_OCTETSTRING,2,
'h',
'i', 0,0, 0,0 };
2031 static const struct {
2032 const BYTE *encoded;
2034 const BYTE *decoded;
2085 "[%u] Expected size >= %d, got %d\n",
i,
2087 ok(
buf !=
NULL,
"Expected allocated buffer\n");
2092 ok (
blob->cbData ==
tests[
i].decoded_size,
"[%u] cbData = %u\n",
i,
blob->cbData);
2095 "Unexpected value\n");
2111static const unsigned char bin52[] = { 0x03,0x03,0x00,0xff,0xff };
2112static const unsigned char bin53[] = { 0xff,0xff };
2113static const unsigned char bin54[] = { 0x03,0x03,0x01,0xff,0xfe };
2114static const unsigned char bin55[] = { 0xff,0xfe };
2115static const unsigned char bin56[] = { 0x03,0x02,0x01,0xfe };
2116static const unsigned char bin57[] = { 0xfe };
2146 "%d: Got unexpected size %d, expected %d\n",
i,
bufSize,
2149 "%d: Unexpected value\n",
i);
2157 static const BYTE ber[] =
"\x03\x02\x01\xff";
2158 static const BYTE berDecoded = 0xfe;
2176 "Got unexpected size %d\n",
bufSize);
2179 "Got unexpected length %d, expected %d\n",
blob->cbData,
2183 "Unexpected value\n");
2190 ret = pCryptDecodeObjectEx(dwEncoding,
X509_BITS, ber, ber[1] + 2,
2198 "Got unexpected size %d\n",
bufSize);
2200 ok(
blob->cbData ==
sizeof(berDecoded),
2201 "Got unexpected length %d\n",
blob->cbData);
2203 ok(*
blob->pbData == berDecoded,
"Unexpected value\n");
2214static const unsigned char bin59[] = { 0x30,0x00 };
2215static const unsigned char bin60[] = { 0x30,0x03,0x01,0x01,0xff };
2216static const unsigned char bin61[] = { 0x30,0x03,0x02,0x01,0x00 };
2217static const unsigned char bin62[] = { 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2233 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16,
2234 0x03, 0x6f, 0x72, 0x67, 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
2235 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x06, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71 };
2237 0x30, 0x2d, 0x30, 0x2b, 0x31, 0x29, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
2238 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x6f, 0x72, 0x67, 0x30,
2239 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19,
2240 0x16, 0x06, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71 };
2269 info.SubjectType.cbData = 0;
2271 info.cSubtreesConstraint = 0;
2280 "Unexpected value\n");
2286 info.cSubtreesConstraint = 1;
2287 info.rgSubtreesConstraint = &nameBlob;
2302static const unsigned char bin63[] = { 0x30,0x06,0x01,0x01,0x01,0x02,0x01,0x01 };
2306 static const BYTE inverted[] = { 0x30, 0x06, 0x02, 0x01, 0x01, 0x01, 0x01,
2320 ok(
ret,
"CryptDecodeObjectEx failed for item %d: %08x\n",
i,
2328 "Unexpected value for item %d\n",
i);
2339 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
2341 ok(!
buf,
"Expected buf to be set to NULL\n");
2361 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
2372 ok(
info->SubjectType.cbData == 0,
"Expected no subject type\n");
2373 ok(!
info->fPathLenConstraint,
"Expected no path length constraint\n");
2374 ok(
info->cSubtreesConstraint == 0,
"Expected no subtree constraints\n");
2385 ok(
info->SubjectType.cbData == 0,
"Expected no subject type\n");
2386 ok(!
info->fPathLenConstraint,
"Expected no path length constraint\n");
2387 ok(
info->cSubtreesConstraint == 1,
"Expected a subtree constraint\n");
2388 if (
info->cSubtreesConstraint &&
info->rgSubtreesConstraint)
2390 ok(
info->rgSubtreesConstraint[0].cbData ==
2392 info->rgSubtreesConstraint[0].cbData);
2405static const BYTE mod1_encoded[] = { 0x30,0x0f,0x02,0x08,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x02,0x03,0x01,0x00,0x01 };
2406static const BYTE mod2_encoded[] = { 0x30,0x0c,0x02,0x05,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x01,0x00,0x01 };
2407static const BYTE mod3_encoded[] = { 0x30,0x0c,0x02,0x05,0x01,0x01,0x01,0x01,0x80,0x02,0x03,0x01,0x00,0x01 };
2408static const BYTE mod4_encoded[] = { 0x30,0x10,0x02,0x09,0x00,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x01,0x00,0x01 };
2439 rsaPubKey->
magic = 0x31415352;
2441 rsaPubKey->
pubexp = 65537;
2490 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
2494 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
2510 "Unexpected value\n");
2529 "Expected CRYPT_E_ASN1_EOD or OSS_MORE_INPUT, got %08x\n",
2536 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
2541 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
2559 "Expected type PUBLICKEYBLOB (%d), got %d\n",
PUBLICKEYBLOB,
2562 "Expected version CUR_BLOB_VERSION (%d), got %d\n",
2564 ok(
hdr->reserved == 0,
"Expected reserved 0, got %d\n",
2567 "Expected CALG_RSA_KEYX, got %08x\n",
hdr->aiKeyAlg);
2568 ok(rsaPubKey->
magic == 0x31415352,
2569 "Expected magic RSA1, got %08x\n", rsaPubKey->
magic);
2571 "Wrong bit len %d\n", rsaPubKey->
bitlen);
2572 ok(rsaPubKey->
pubexp == 65537,
"Expected pubexp 65537, got %d\n",
2576 "Unexpected modulus\n");
2583 0x7f, 0x02, 0x02, 0x00, 0x80, 0x02, 0x02, 0x01, 0x00, 0x02, 0x01, 0x80, 0x02,
2584 0x02, 0xff, 0x7f, 0x02, 0x04, 0xba, 0xdd, 0xf0, 0x0d };
2587 0x36, 0x30, 0x36, 0x31, 0x36, 0x31, 0x30, 0x30, 0x30, 0x5a, 0x02, 0x01, 0x7f,
2588 0x02, 0x02, 0x00, 0x80, 0x02, 0x02, 0x01, 0x00, 0x02, 0x01, 0x80, 0x02, 0x02,
2589 0xff, 0x7f, 0x02, 0x04, 0xba, 0xdd, 0xf0, 0x0d };
2630 "Unexpected value\n");
2653 "Expected %d bytes, got %d\n",
ints[
i].encoded[1] + 2,
2656 ints[
i].encoded[1] + 2),
"Unexpected value\n");
2671 "Expected %d bytes, got %d\n",
times[0].encodedTime[1] + 2,
2674 times[0].encodedTime[1] + 2),
"Unexpected value\n");
2697static const BYTE ext1[] = { 0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,
2698 0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2699static const BYTE ext2[] = { 0x30,0x11,0x30,0x0f,0x06,0x03,0x55,0x1d,0x13,0x04,
2700 0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2701static const BYTE ext3[] = { 0x30,0x07,0x30,0x05,0x06,0x01,0x29,0x04,0x00 };
2728 "Unexpected value\n");
2753 ok(
ext->cExtension ==
exts[
i].exts.cExtension,
2754 "Expected %d extensions, see %d\n",
exts[
i].exts.cExtension,
2756 for (
j = 0;
j <
min(
ext->cExtension,
exts[
i].exts.cExtension);
j++)
2759 exts[
i].exts.rgExtension[
j].pszObjId),
2760 "Expected OID %s, got %s\n",
2761 exts[
i].exts.rgExtension[
j].pszObjId,
2762 ext->rgExtension[
j].pszObjId);
2764 exts[
i].exts.rgExtension[
j].Value.pbData,
2765 exts[
i].exts.rgExtension[
j].Value.cbData),
2766 "Unexpected value\n");
2797static const BYTE aKey[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd,
2802 0x30,0x0b,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x03,0x01,0x00};
2804 0x30,0x09,0x30,0x04,0x06,0x02,0x2a,0x03,0x03,0x01,0x00};
2806 0x30,0x0f,0x30,0x0a,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x05,0x00,0x03,0x01,0x00};
2808 0x30,0x0d,0x30,0x08,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x03,0x01,0x00};
2810 0x30,0x1f,0x30,0x0a,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x05,0x00,0x03,0x11,0x00,0x00,0x01,
2811 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
2813 0x30,0x1d,0x30,0x08,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x03,0x11,0x00,0x00,0x01,
2814 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
2816 0x30,0x20,0x30,0x0b,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x01,0x01,
2817 0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
2820 0x30,0x20,0x30,0x0b,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x01,0x01,
2821 0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
2823static unsigned char bin72[] = { 0x05,0x00};
2869 "Unexpected value\n");
2879 "Expected OID %s, got %s\n",
expected->Algorithm.pszObjId,
2883 "Expected parameters of %d bytes, got %d\n",
2885 if (
expected->Algorithm.Parameters.cbData)
2888 "Unexpected algorithm parameters\n");
2890 "Expected public key of %d bytes, got %d\n",
2899 static const BYTE bogusPubKeyInfo[] = { 0x30, 0x22, 0x30, 0x0d, 0x06, 0x06,
2900 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03,
2901 0x11, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
2902 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };
2938 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
2942static const BYTE v1Cert[] = { 0x30, 0x33, 0x02, 0x00, 0x30, 0x02, 0x06, 0x00,
2943 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30,
2944 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30,
2945 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x07, 0x30,
2946 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
2947static const BYTE v2Cert[] = { 0x30, 0x38, 0xa0, 0x03, 0x02, 0x01, 0x01, 0x02,
2948 0x00, 0x30, 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31,
2949 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f,
2950 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
2951 0x30, 0x5a, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
2952static const BYTE v3Cert[] = { 0x30, 0x38, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2953 0x00, 0x30, 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31,
2954 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f,
2955 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
2956 0x30, 0x5a, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
29580x30,0x38,0xa0,0x03,0x02,0x01,0x03,0x02,0x00,0x30,0x02,0x06,0x00,0x30,0x22,
29590x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
29600x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,
29610x30,0x30,0x30,0x5a,0x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00 };
2963 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31,
2964 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36,
2965 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a,
2966 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00, 0xa3, 0x16, 0x30, 0x14,
2967 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30,
2968 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
2970 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31,
2971 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36,
2972 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a,
2973 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00, 0xa3, 0x16, 0x30, 0x14,
2974 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30,
2975 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
2976static const BYTE bigCert[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
2977 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
2978 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22,
2979 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30,
2980 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30,
2981 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30,
2982 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20,
2983 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01,
2984 0x00, 0xa3, 0x16, 0x30, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
2985 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
29870x30,0x81,0x95,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
29880x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
29890x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
29900x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
29910x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
29920x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
29930x67,0x00,0x30,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
29940x01,0x01,0x05,0x00,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
29950x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,
29960x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,
29990x30,0x81,0x93,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30000x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30010x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30020x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30030x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30040x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30050x67,0x00,0x30,0x20,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30060x01,0x01,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
30070x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
30080x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
30100x30,0x7b,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,0x11,
30110x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30120x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
30130x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
30140x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
30150x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
30160x00,0x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00,0xa3,0x17,0x30,0x15,0x30,
30170x13,0x06,0x03,0x55,0x1d,0x0e,0x04,0x0c,0x04,0x0a,0x4a,0x75,0x61,0x6e,0x20,
30180x4c,0x61,0x6e,0x67,0x00 };
30200x30,0x38,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,
30210x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,
30220x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
30230x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00,0x81,0x02,0x00,0x01 };
30250x30,0x81,0x99,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30260x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30270x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30280x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30290x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30300x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30310x67,0x00,0x30,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30320x01,0x01,0x05,0x00,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
30330x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x81,0x02,0x00,0x01,0xa3,0x16,0x30,
30340x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,
30350x01,0x01,0xff,0x02,0x01,0x01 };
30370x30,0x81,0x97,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30380x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30390x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30400x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30410x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30420x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30430x67,0x00,0x30,0x20,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30440x01,0x01,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
30450x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x81,0x02,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,
30460x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,
30470xff,0x02,0x01,0x01 };
3067 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
3076 ok(
size ==
v1Cert[1] + 2,
"Expected size %d, got %d\n",
3119 info.cExtension = 1;
3144 info.cExtension = 0;
3155 "Got unexpected value\n");
3159 info.IssuerUniqueId.cbData = 0;
3161 info.cExtension = 1;
3176 info.SubjectPublicKeyInfo.Algorithm.pszObjId = oid_rsa_rsa;
3177 info.SubjectPublicKeyInfo.PublicKey.cbData =
sizeof(
aKey);
3189 "Got unexpected value\n");
3202 "Wrong size %d\n",
size);
3205 size),
"unexpected value\n");
3210 "unexpected value\n");
3214 info.IssuerUniqueId.cbData = 0;
3216 info.SubjectPublicKeyInfo.Algorithm.pszObjId =
NULL;
3217 info.SubjectPublicKeyInfo.PublicKey.cbData = 0;
3218 info.SubjectPublicKeyInfo.PublicKey.pbData =
NULL;
3219 ext.pszObjId = oid_subject_key_identifier;
3223 info.cExtension = 1;
3248 "Expected CRYPT_E_ASN1_EOD or OSS_BAD_ARG, got %08x\n",
GetLastError());
3255 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
3266 ok(!
ret,
"Expected failure\n");
3280 ok(
info->dwVersion ==
CERT_V1,
"expected CERT_V1, got %d\n",
3282 ok(
info->cExtension == 1,
"expected 1 extension, got %d\n",
3299 ok(
info->dwVersion ==
CERT_V1,
"expected CERT_V1, got %d\n",
3302 "unexpected issuer unique id size %d\n",
info->IssuerUniqueId.cbData);
3304 "unexpected issuer unique id value\n");
3316 ok(
info->SerialNumber.cbData == 1,
3317 "Expected serial number size 1, got %d\n",
info->SerialNumber.cbData);
3319 "Expected serial number %d, got %d\n", *
serialNum,
3320 *
info->SerialNumber.pbData);
3322 "Wrong size %d\n",
info->Issuer.cbData);
3324 "Unexpected issuer\n");
3326 "Wrong size %d\n",
info->Subject.cbData);
3328 info->Subject.cbData),
"Unexpected subject\n");
3341 ok(
info->SerialNumber.cbData == 1,
3342 "Expected serial number size 1, got %d\n",
info->SerialNumber.cbData);
3344 "Expected serial number %d, got %d\n", *
serialNum,
3345 *
info->SerialNumber.pbData);
3347 "Wrong size %d\n",
info->Issuer.cbData);
3349 "Unexpected issuer\n");
3351 "Wrong size %d\n",
info->Subject.cbData);
3353 info->Subject.cbData),
"Unexpected subject\n");
3354 ok(!
strcmp(
info->SubjectPublicKeyInfo.Algorithm.pszObjId,
3356 info->SubjectPublicKeyInfo.Algorithm.pszObjId);
3357 ok(
info->SubjectPublicKeyInfo.PublicKey.cbData ==
sizeof(
aKey),
3358 "Wrong size %d\n",
info->SubjectPublicKeyInfo.PublicKey.cbData);
3360 sizeof(
aKey)),
"Unexpected public key\n");
3365static const BYTE hash[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd,
3378 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3380 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3381 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3386 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3396 ASN_OCTETSTRING,8, 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,
3399 ASN_BITS,17, 0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,
3400 0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00
3413 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3415 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3416 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3422 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3433 ASN_OCTETSTRING,8, 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,
3436 ASN_BITS,17, 0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,
3437 0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00
3477 "Wrong cert size %d\n",
info->ToBeSigned.cbData);
3479 "Unexpected cert\n");
3481 "Wrong signature size %d\n",
info->Signature.cbData);
3483 "Unexpected signature\n");
3495 ok(
info->SerialNumber.cbData == 1,
3496 "Expected serial number size 1, got %d\n",
info->SerialNumber.cbData);
3498 "Expected serial number %d, got %d\n", *
serialNum,
3499 *
info->SerialNumber.pbData);
3501 "Wrong size %d\n",
info->Issuer.cbData);
3503 "Unexpected issuer\n");
3505 "Wrong size %d\n",
info->Subject.cbData);
3507 info->Subject.cbData),
"Unexpected subject\n");
3518 ok(
info->SerialNumber.cbData == 1,
3519 "Expected serial number size 1, got %d\n",
info->SerialNumber.cbData);
3521 "Expected serial number %d, got %d\n", *
serialNum,
3522 *
info->SerialNumber.pbData);
3524 "Wrong size %d\n",
info->Issuer.cbData);
3526 "Unexpected issuer\n");
3528 "Wrong size %d\n",
info->Subject.cbData);
3530 info->Subject.cbData),
"Unexpected subject\n");
3537 0xa0, 0x13, 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69,
3538 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
3542 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65,
3543 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
3545 0x15, 0xa0, 0x13, 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,
3546 0x69, 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67, 0xa2, 0x13, 0x86, 0x11,
3547 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71,
3548 0x2e, 0x6f, 0x72, 0x67 };
3567 info.cDistPoint = 1;
3582 U(
point.DistPointName).FullName.cAltEntry = 1;
3583 U(
point.DistPointName).FullName.rgAltEntry = &
entry;
3587 "Expected CRYPT_E_INVALID_IA5_STRING, got %08x\n",
GetLastError());
3590 "Expected invalid char at index 7, got %d\n",
3617 point.ReasonFlags.cbData = 0;
3618 point.CRLIssuer.cAltEntry = 1;
3637 "Wrong size %d\n",
size);
3660 "Wrong size %d\n",
size);
3661 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %d\n",
3665 "Expected CRL_DIST_POINT_NO_NAME, got %d\n",
3666 point->DistPointName.dwDistPointNameChoice);
3667 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3668 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3679 "Wrong size %d\n",
size);
3680 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %d\n",
3683 ok(
point->DistPointName.dwDistPointNameChoice ==
3685 "Expected CRL_DIST_POINT_FULL_NAME, got %d\n",
3686 point->DistPointName.dwDistPointNameChoice);
3687 ok(
U(
point->DistPointName).FullName.cAltEntry == 1,
3688 "Expected 1 name entry, got %d\n",
3689 U(
point->DistPointName).FullName.cAltEntry);
3690 entry =
U(
point->DistPointName).FullName.rgAltEntry;
3692 "Expected CERT_ALT_NAME_URL, got %d\n",
entry->dwAltNameChoice);
3694 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3695 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3706 "Wrong size %d\n",
size);
3707 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %d\n",
3710 ok(
point->DistPointName.dwDistPointNameChoice ==
3712 "Expected CRL_DIST_POINT_NO_NAME, got %d\n",
3713 point->DistPointName.dwDistPointNameChoice);
3715 "Expected reason length\n");
3717 "Unexpected reason\n");
3718 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3729 "Wrong size %d\n",
size);
3730 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %d\n",
3733 ok(
point->DistPointName.dwDistPointNameChoice ==
3735 "Expected CRL_DIST_POINT_FULL_NAME, got %d\n",
3736 point->DistPointName.dwDistPointNameChoice);
3737 ok(
U(
point->DistPointName).FullName.cAltEntry == 1,
3738 "Expected 1 name entry, got %d\n",
3739 U(
point->DistPointName).FullName.cAltEntry);
3740 entry =
U(
point->DistPointName).FullName.rgAltEntry;
3742 "Expected CERT_ALT_NAME_URL, got %d\n",
entry->dwAltNameChoice);
3744 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3745 ok(
point->CRLIssuer.cAltEntry == 1,
3746 "Expected 1 issuer entry, got %d\n",
point->CRLIssuer.cAltEntry);
3749 "Expected CERT_ALT_NAME_URL, got %d\n",
entry->dwAltNameChoice);
3770static const BYTE urlIDP[] = { 0x30,0x17,0xa0,0x15,0xa0,0x13,0x86,0x11,0x68,
3771 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,
3786 skip(
"no X509_ISSUING_DIST_POINT encode support\n");
3790 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
3821 U(
point.DistPointName).FullName.cAltEntry = 0;
3834 U(
point.DistPointName).FullName.cAltEntry = 1;
3835 U(
point.DistPointName).FullName.rgAltEntry = &
entry;
3851 "Expected name choice %d, got %d\n",
expected->dwAltNameChoice,
3862 ok((!
U(*expected).pwszURL && !
U(*got).pwszURL) ||
3863 (!
U(*expected).pwszURL && !
lstrlenW(
U(*got).pwszURL)) ||
3864 (!
U(*got).pwszURL && !
lstrlenW(
U(*expected).pwszURL)) ||
3865 !
lstrcmpW(
U(*expected).pwszURL,
U(*got).pwszURL),
3866 "Unexpected name\n");
3871 ok(
U(*got).IPAddress.cbData ==
U(*expected).IPAddress.cbData,
3872 "Unexpected IP address length %d\n",
U(*got).IPAddress.cbData);
3873 ok(!
memcmp(
U(*got).IPAddress.pbData,
U(*expected).IPAddress.pbData,
3874 U(*got).IPAddress.cbData),
"Unexpected value\n");
3905 "Unexpected fOnlyContainsUserCerts\n");
3907 "Unexpected fOnlyContainsCACerts\n");
3909 "Unexpected reason flags\n");
3911 "Unexpected fIndirectCRL\n");
3926 skip(
"no X509_ISSUING_DIST_POINT decode support\n");
3941 point.fOnlyContainsUserCerts =
point.fOnlyContainsCACerts =
TRUE;
3953 U(
point.DistPointName).FullName.cAltEntry = 0;
3966 U(
point.DistPointName).FullName.cAltEntry = 1;
3967 U(
point.DistPointName).FullName.rgAltEntry = &
entry;
3973static const BYTE v1CRL[] = { 0x30, 0x15, 0x30, 0x02, 0x06, 0x00, 0x18, 0x0f,
3974 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
3976static const BYTE v2CRL[] = { 0x30, 0x18, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
3977 0x00, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30,
3978 0x30, 0x30, 0x30, 0x30, 0x5a };
3980 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a,
3981 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18, 0x0f, 0x31,
3982 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
3985 0x06, 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3986 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18,
3987 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30,
3988 0x30, 0x30, 0x5a, 0x30, 0x15, 0x30, 0x13, 0x02, 0x00, 0x18, 0x0f, 0x31, 0x36,
3989 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a };
3991 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
3992 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18, 0x0f,
3993 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
3994 0x30, 0x5a, 0x30, 0x16, 0x30, 0x14, 0x02, 0x01, 0x01, 0x18, 0x0f, 0x31, 0x36,
3995 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a };
3997 0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,
3998 0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
3999 0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x2c,0x30,0x2a,0x02,0x01,
4000 0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,
4001 0x30,0x30,0x5a,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,
4002 0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4004 0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,
4005 0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
4006 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x16,0x30,0x14,0x02,0x01,0x01,
4007 0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
4008 0x30,0x5a,0xa0,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,
4009 0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4011 0x00,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,
4012 0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,
4013 0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x16,0x30,0x14,
4014 0x02,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,
4015 0x30,0x30,0x30,0x30,0x5a,0xa0,0x13,0x30,0x11,0x30,0x0f,0x06,0x03,0x55,0x1d,
4016 0x13,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4045 ok(
size ==
v2CRL[1] + 2,
"Expected size %d, got %d\n",
4070 "Expected STATUS_ACCESS_VIOLATION, got %08x\n",
GetLastError());
4080 "Wrong size %d\n",
size);
4082 "Got unexpected value\n");
4093 "Wrong size %d\n",
size);
4095 "Got unexpected value\n");
4099 entry.cExtension = 1;
4111 entry.cExtension = 0;
4112 info.cExtension = 1;
4138 0x1a, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
4139 0x0d, 0x01, 0x01, 0x02, 0x05, 0x00, 0x30, 0x61, 0x31, 0x11, 0x30, 0x0f, 0x06,
4140 0x03, 0x55, 0x04, 0x07, 0x13, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
4141 0x74, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56,
4142 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,
4143 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2a, 0x56, 0x65,
4144 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72,
4145 0x63, 0x69, 0x61, 0x6c, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
4146 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x20, 0x43,
4147 0x41, 0x17, 0x0d, 0x30, 0x31, 0x30, 0x33, 0x32, 0x34, 0x30, 0x30, 0x30, 0x30,
4148 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x30, 0x34, 0x30, 0x31, 0x30, 0x37, 0x32, 0x33,
4149 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x69, 0x30, 0x21, 0x02, 0x10, 0x1b, 0x51,
4150 0x90, 0xf7, 0x37, 0x24, 0x39, 0x9c, 0x92, 0x54, 0xcd, 0x42, 0x46, 0x37, 0x99,
4151 0x6a, 0x17, 0x0d, 0x30, 0x31, 0x30, 0x31, 0x33, 0x30, 0x30, 0x30, 0x30, 0x31,
4152 0x32, 0x34, 0x5a, 0x30, 0x21, 0x02, 0x10, 0x75, 0x0e, 0x40, 0xff, 0x97, 0xf0,
4153 0x47, 0xed, 0xf5, 0x56, 0xc7, 0x08, 0x4e, 0xb1, 0xab, 0xfd, 0x17, 0x0d, 0x30,
4154 0x31, 0x30, 0x31, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x34, 0x39, 0x5a, 0x30,
4155 0x21, 0x02, 0x10, 0x77, 0xe6, 0x5a, 0x43, 0x59, 0x93, 0x5d, 0x5f, 0x7a, 0x75,
4156 0x80, 0x1a, 0xcd, 0xad, 0xc2, 0x22, 0x17, 0x0d, 0x30, 0x30, 0x30, 0x38, 0x33,
4157 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x36, 0x5a, 0xa0, 0x1a, 0x30, 0x18, 0x30,
4158 0x09, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0b, 0x06,
4159 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x05, 0xa0, 0x30, 0x0d, 0x06,
4160 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x02, 0x05, 0x00, 0x03,
4161 0x81, 0x81, 0x00, 0x18, 0x2c, 0xe8, 0xfc, 0x16, 0x6d, 0x91, 0x4a, 0x3d, 0x88,
4162 0x54, 0x48, 0x5d, 0xb8, 0x11, 0xbf, 0x64, 0xbb, 0xf9, 0xda, 0x59, 0x19, 0xdd,
4163 0x0e, 0x65, 0xab, 0xc0, 0x0c, 0xfa, 0x67, 0x7e, 0x21, 0x1e, 0x83, 0x0e, 0xcf,
4164 0x9b, 0x89, 0x8a, 0xcf, 0x0c, 0x4b, 0xc1, 0x39, 0x9d, 0xe7, 0x6a, 0xac, 0x46,
4165 0x74, 0x6a, 0x91, 0x62, 0x22, 0x0d, 0xc4, 0x08, 0xbd, 0xf5, 0x0a, 0x90, 0x7f,
4166 0x06, 0x21, 0x3d, 0x7e, 0xa7, 0xaa, 0x5e, 0xcd, 0x22, 0x15, 0xe6, 0x0c, 0x75,
4167 0x8e, 0x6e, 0xad, 0xf1, 0x84, 0xe4, 0x22, 0xb4, 0x30, 0x6f, 0xfb, 0x64, 0x8f,
4168 0xd7, 0x80, 0x43, 0xf5, 0x19, 0x18, 0x66, 0x1d, 0x72, 0xa3, 0xe3, 0x94, 0x82,
4169 0x28, 0x52, 0xa0, 0x06, 0x4e, 0xb1, 0xc8, 0x92, 0x0c, 0x97, 0xbe, 0x15, 0x07,
4170 0xab, 0x7a, 0xc9, 0xea, 0x08, 0x67, 0x43, 0x4d, 0x51, 0x63, 0x3b, 0x9c, 0x9c,
41730x30,0x82,0x1d,0xbd,0x30,0x82,0x1d,0x26,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,
41740x86,0xf7,0x0d,0x01,0x01,0x04,0x05,0x00,0x30,0x61,0x31,0x11,0x30,0x0f,0x06,
41750x03,0x55,0x04,0x07,0x13,0x08,0x49,0x6e,0x74,0x65,0x72,0x6e,0x65,0x74,0x31,
41760x17,0x30,0x15,0x06,0x03,0x55,0x04,0x0a,0x13,0x0e,0x56,0x65,0x72,0x69,0x53,
41770x69,0x67,0x6e,0x2c,0x20,0x49,0x6e,0x63,0x2e,0x31,0x33,0x30,0x31,0x06,0x03,
41780x55,0x04,0x0b,0x13,0x2a,0x56,0x65,0x72,0x69,0x53,0x69,0x67,0x6e,0x20,0x43,
41790x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x53,0x6f,0x66,0x74,0x77,
41800x61,0x72,0x65,0x20,0x50,0x75,0x62,0x6c,0x69,0x73,0x68,0x65,0x72,0x73,0x20,
41810x43,0x41,0x17,0x0d,0x30,0x34,0x30,0x33,0x33,0x31,0x30,0x30,0x30,0x30,0x30,
41820x30,0x5a,0x17,0x0d,0x30,0x34,0x30,0x35,0x33,0x31,0x32,0x33,0x35,0x39,0x35,
41830x39,0x5a,0x30,0x82,0x1c,0x92,0x30,0x21,0x02,0x10,0x01,0x22,0xb8,0xb2,0xf3,
41840x76,0x42,0xcc,0x48,0x71,0xb6,0x11,0xbf,0xd1,0xcf,0xda,0x17,0x0d,0x30,0x32,
41850x30,0x34,0x31,0x35,0x31,0x35,0x34,0x30,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,
41860x01,0x83,0x93,0xfb,0x96,0xde,0x1d,0x89,0x4e,0xc3,0x47,0x9c,0xe1,0x60,0x13,
41870x63,0x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x39,0x31,0x33,0x35,0x37,0x35,0x38,
41880x5a,0x30,0x21,0x02,0x10,0x01,0xdc,0xdb,0x63,0xd4,0xc9,0x9f,0x31,0xb8,0x16,
41890xf9,0x2c,0xf5,0xb1,0x08,0x8e,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x38,0x31,
41900x37,0x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x02,0x1a,0xa6,0xaf,0x94,
41910x71,0xf0,0x07,0x6e,0xf1,0x17,0xe4,0xd4,0x17,0x82,0xdb,0x17,0x0d,0x30,0x32,
41920x30,0x37,0x31,0x39,0x32,0x31,0x32,0x38,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,
41930x02,0x4c,0xe8,0x9d,0xfd,0x5f,0x77,0x4d,0x4b,0xf5,0x79,0x8b,0xb1,0x08,0x67,
41940xac,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x32,0x30,0x36,0x31,0x36,0x35,0x30,
41950x5a,0x30,0x21,0x02,0x10,0x02,0x59,0xae,0x6c,0x4c,0x21,0xf1,0x59,0x49,0x87,
41960xb0,0x95,0xf9,0x65,0xf3,0x20,0x17,0x0d,0x30,0x33,0x30,0x36,0x31,0x39,0x30,
41970x38,0x30,0x34,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x03,0x3c,0x41,0x0e,0x2f,
41980x42,0x5c,0x32,0x2c,0xb1,0x35,0xfe,0xe7,0x61,0x97,0xa5,0x17,0x0d,0x30,0x32,
41990x30,0x34,0x32,0x34,0x31,0x39,0x34,0x37,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,
42000x03,0x4e,0x68,0xfa,0x8b,0xb2,0x8e,0xb9,0x72,0xea,0x72,0xe5,0x3b,0x15,0xac,
42010x8b,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x32,0x31,0x35,0x31,0x35,0x31,
42020x5a,0x30,0x21,0x02,0x10,0x03,0xc9,0xa8,0xe3,0x48,0xb0,0x5f,0xcf,0x08,0xee,
42030xb9,0x93,0xf9,0xe9,0xaf,0x0c,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x38,0x31,
42040x33,0x34,0x39,0x32,0x32,0x5a,0x30,0x21,0x02,0x10,0x04,0x9b,0x23,0x6a,0x37,
42050x5c,0x06,0x98,0x0a,0x31,0xc8,0x86,0xdc,0x3a,0x95,0xcc,0x17,0x0d,0x30,0x32,
42060x31,0x30,0x30,0x31,0x32,0x32,0x31,0x30,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,
42070x06,0x08,0xba,0xc7,0xac,0xf8,0x5a,0x7c,0xa1,0xf4,0x25,0x85,0xbb,0x4e,0x8c,
42080x4f,0x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x33,0x30,0x37,0x35,0x37,0x31,0x34,
42090x5a,0x30,0x21,0x02,0x10,0x07,0x66,0x22,0x4a,0x4a,0x9d,0xff,0x6e,0xb5,0x11,
42100x0b,0xa9,0x94,0xfc,0x68,0x20,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x32,0x30,
42110x31,0x34,0x30,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x07,0x8f,0xa1,0x4d,0xb5,
42120xfc,0x0c,0xc6,0x42,0x72,0x88,0x37,0x76,0x29,0x44,0x31,0x17,0x0d,0x30,0x32,
42130x30,0x33,0x31,0x35,0x32,0x30,0x31,0x39,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,
42140x07,0xb9,0xd9,0x42,0x19,0x81,0xc4,0xfd,0x49,0x4f,0x72,0xce,0xf2,0xf8,0x6d,
42150x76,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x35,0x31,0x35,0x33,0x37,0x31,0x39,
42160x5a,0x30,0x21,0x02,0x10,0x08,0x6e,0xf9,0x6c,0x7f,0xbf,0xbc,0xc8,0x86,0x70,
42170x62,0x3f,0xe9,0xc4,0x2f,0x2b,0x17,0x0d,0x30,0x32,0x31,0x31,0x32,0x38,0x30,
42180x30,0x32,0x38,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x09,0x08,0xe4,0xaa,0xf5,
42190x2d,0x2b,0xc0,0x15,0x9e,0x00,0x8b,0x3f,0x97,0x93,0xf9,0x17,0x0d,0x30,0x33,
42200x30,0x32,0x31,0x32,0x32,0x32,0x30,0x30,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,
42210x09,0x13,0x0a,0x4f,0x0f,0x88,0xe5,0x50,0x05,0xc3,0x5f,0xf4,0xff,0x15,0x39,
42220xdd,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,0x38,0x31,0x31,0x33,0x30,
42230x5a,0x30,0x21,0x02,0x10,0x09,0x8d,0xdd,0x37,0xda,0xe7,0x84,0x03,0x9d,0x98,
42240x96,0xf8,0x88,0x3a,0x55,0xca,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x32,
42250x33,0x33,0x35,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x0a,0x35,0x0c,0xd7,0xf4,
42260x53,0xe6,0xc1,0x4e,0xf2,0x2a,0xd3,0xce,0xf8,0x7c,0xe7,0x17,0x0d,0x30,0x32,
42270x30,0x38,0x30,0x32,0x32,0x32,0x32,0x34,0x32,0x38,0x5a,0x30,0x21,0x02,0x10,
42280x0b,0x9c,0xb8,0xf8,0xfb,0x35,0x38,0xf2,0x91,0xfd,0xa1,0xe9,0x69,0x4a,0xb1,
42290x24,0x17,0x0d,0x30,0x33,0x30,0x34,0x30,0x38,0x30,0x31,0x30,0x32,0x32,0x32,
42300x5a,0x30,0x21,0x02,0x10,0x0c,0x2f,0x7f,0x32,0x15,0xe0,0x2f,0x74,0xfa,0x05,
42310x22,0x67,0xbc,0x8a,0x2d,0xd0,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x31,
42320x39,0x30,0x37,0x35,0x34,0x5a,0x30,0x21,0x02,0x10,0x0c,0x32,0x5b,0x78,0x32,
42330xc6,0x7c,0xd8,0xdd,0x25,0x91,0x22,0x4d,0x84,0x0a,0x94,0x17,0x0d,0x30,0x32,
42340x30,0x33,0x31,0x38,0x31,0x32,0x33,0x39,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,
42350x0d,0x76,0x36,0xb9,0x1c,0x72,0xb7,0x9d,0xdf,0xa5,0x35,0x82,0xc5,0xa8,0xf7,
42360xbb,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x37,0x32,0x31,0x34,0x32,0x31,0x31,
42370x5a,0x30,0x21,0x02,0x10,0x0f,0x28,0x79,0x98,0x56,0xb8,0xa5,0x5e,0xeb,0x79,
42380x5f,0x1b,0xed,0x0b,0x86,0x76,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x33,0x30,
42390x31,0x31,0x30,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x0f,0x80,0x3c,0x24,0xf4,
42400x62,0x27,0x24,0xbe,0x6a,0x74,0x9c,0x18,0x8e,0x4b,0x3b,0x17,0x0d,0x30,0x32,
42410x31,0x31,0x32,0x30,0x31,0x37,0x31,0x31,0x33,0x35,0x5a,0x30,0x21,0x02,0x10,
42420x0f,0xf2,0xa7,0x8c,0x80,0x9c,0xbe,0x2f,0xc8,0xa9,0xeb,0xfe,0x94,0x86,0x5a,
42430x5c,0x17,0x0d,0x30,0x32,0x30,0x36,0x32,0x30,0x31,0x39,0x35,0x38,0x34,0x35,
42440x5a,0x30,0x21,0x02,0x10,0x10,0x45,0x13,0x35,0x45,0xf3,0xc6,0x02,0x8d,0x8d,
42450x18,0xb1,0xc4,0x0a,0x7a,0x18,0x17,0x0d,0x30,0x32,0x30,0x34,0x32,0x36,0x31,
42460x37,0x33,0x32,0x35,0x39,0x5a,0x30,0x21,0x02,0x10,0x10,0x79,0xb1,0x71,0x1b,
42470x26,0x98,0x92,0x08,0x1e,0x3c,0xe4,0x8b,0x29,0x37,0xf9,0x17,0x0d,0x30,0x32,
42480x30,0x33,0x32,0x38,0x31,0x36,0x33,0x32,0x35,0x35,0x5a,0x30,0x21,0x02,0x10,
42490x11,0x38,0x80,0x77,0xcb,0x6b,0xe5,0xd6,0xa7,0xf2,0x99,0xa1,0xc8,0xe9,0x40,
42500x25,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x39,0x31,0x32,0x32,0x34,0x31,0x37,
42510x5a,0x30,0x21,0x02,0x10,0x11,0x7a,0xc3,0x82,0xfe,0x74,0x36,0x11,0x21,0xd6,
42520x92,0x86,0x09,0xdf,0xe6,0xf3,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x39,0x31,
42530x35,0x31,0x31,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x11,0xab,0x8e,0x21,0x28,
42540x7f,0x6d,0xf2,0xc1,0xc8,0x40,0x3e,0xa5,0xde,0x98,0xd3,0x17,0x0d,0x30,0x32,
42550x30,0x35,0x30,0x32,0x31,0x38,0x34,0x34,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,
42560x12,0x3c,0x38,0xae,0x3f,0x64,0x53,0x3a,0xf7,0xbc,0x6c,0x27,0xe2,0x9c,0x65,
42570x75,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x32,0x33,0x30,0x38,0x35,0x39,
42580x5a,0x30,0x21,0x02,0x10,0x12,0x88,0xb6,0x6c,0x9b,0xcf,0xe7,0x50,0x92,0xd2,
42590x87,0x63,0x8f,0xb7,0xa6,0xe3,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x32,0x32,
42600x30,0x35,0x35,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x12,0x95,0x4e,0xb6,0x8f,
42610x3a,0x19,0x6a,0x16,0x73,0x4f,0x6e,0x15,0xba,0xa5,0xe7,0x17,0x0d,0x30,0x32,
42620x30,0x36,0x31,0x37,0x31,0x38,0x35,0x36,0x30,0x31,0x5a,0x30,0x21,0x02,0x10,
42630x13,0x37,0x0b,0x41,0x8c,0x31,0x43,0x1c,0x27,0xaa,0xe1,0x83,0x0f,0x99,0x21,
42640xcd,0x17,0x0d,0x30,0x32,0x30,0x37,0x32,0x32,0x31,0x32,0x31,0x37,0x31,0x36,
42650x5a,0x30,0x21,0x02,0x10,0x14,0x7a,0x29,0x0a,0x09,0x38,0xf4,0x53,0x28,0x33,
42660x6f,0x37,0x07,0x23,0x12,0x10,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x30,
42670x32,0x30,0x30,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x15,0x04,0x81,0x1e,0xe2,
42680x6f,0xf0,0xd8,0xdd,0x12,0x55,0x05,0x66,0x51,0x6e,0x1a,0x17,0x0d,0x30,0x32,
42690x30,0x33,0x31,0x33,0x31,0x30,0x35,0x33,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,
42700x15,0x30,0x0d,0x8a,0xbd,0x0e,0x89,0x0e,0x66,0x4f,0x49,0x93,0xa2,0x8f,0xbc,
42710x2e,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x34,0x30,0x36,0x34,0x32,0x32,0x33,
42720x5a,0x30,0x21,0x02,0x10,0x16,0xbe,0x64,0xd6,0x4f,0x90,0xf4,0xf7,0x2b,0xc8,
42730xca,0x67,0x5c,0x82,0x13,0xe8,0x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x36,0x31,
42740x39,0x30,0x39,0x30,0x37,0x5a,0x30,0x21,0x02,0x10,0x18,0x51,0x9c,0xe4,0x48,
42750x62,0x06,0xfe,0xb8,0x2d,0x93,0xb7,0xc9,0xc9,0x1b,0x4e,0x17,0x0d,0x30,0x32,
42760x30,0x34,0x31,0x37,0x30,0x35,0x30,0x30,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,
42770x19,0x82,0xdb,0x39,0x74,0x00,0x38,0x36,0x59,0xf6,0xcc,0xc1,0x23,0x8d,0x40,
42780xe9,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,0x37,0x35,0x34,0x35,0x34,
42790x5a,0x30,0x21,0x02,0x10,0x1b,0x51,0x90,0xf7,0x37,0x24,0x39,0x9c,0x92,0x54,
42800xcd,0x42,0x46,0x37,0x99,0x6a,0x17,0x0d,0x30,0x31,0x30,0x31,0x33,0x30,0x30,
42810x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x21,0x02,0x10,0x1b,0xe4,0xb2,0xbb,0xb6,
42820x74,0x5d,0x6b,0x8b,0x04,0xb6,0xa0,0x1b,0x35,0xeb,0x29,0x17,0x0d,0x30,0x32,
42830x30,0x39,0x32,0x35,0x32,0x30,0x31,0x34,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,
42840x1c,0x1d,0xd5,0x2a,0xf6,0xaa,0xfd,0xbb,0x47,0xc2,0x73,0x36,0xcf,0x53,0xbd,
42850x81,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x31,0x39,0x30,0x33,0x34,0x32,
42860x5a,0x30,0x21,0x02,0x10,0x1c,0xb0,0x5a,0x1f,0xfd,0xa6,0x98,0xf6,0x46,0xf9,
42870x32,0x10,0x9e,0xef,0x52,0x8e,0x17,0x0d,0x30,0x32,0x30,0x36,0x32,0x37,0x31,
42880x33,0x30,0x33,0x32,0x32,0x5a,0x30,0x21,0x02,0x10,0x1d,0x01,0xfc,0xa7,0xdd,
42890xb4,0x0c,0x64,0xbd,0x65,0x45,0xe6,0xbf,0x1c,0x7e,0x90,0x17,0x0d,0x30,0x32,
42900x30,0x32,0x32,0x31,0x30,0x34,0x32,0x30,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,
42910x1e,0x4d,0xc9,0xc6,0x6e,0x57,0xda,0x8a,0x07,0x97,0x70,0xfa,0xee,0x9c,0xc5,
42920x58,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x39,0x32,0x32,0x33,0x34,0x32,0x31,
42930x5a,0x30,0x21,0x02,0x10,0x1e,0xbb,0x9b,0x28,0x61,0x50,0x7f,0x12,0x30,0xfb,
42940x02,0xb5,0xe1,0xb0,0x7e,0x9d,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,
42950x30,0x30,0x34,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x1f,0x5a,0x64,0xc9,0xa5,
42960x51,0x8c,0xe2,0x2d,0x50,0x83,0xc2,0x4c,0x7c,0xe7,0x85,0x17,0x0d,0x30,0x32,
42970x30,0x38,0x32,0x34,0x30,0x36,0x33,0x31,0x32,0x38,0x5a,0x30,0x21,0x02,0x10,
42980x1f,0xc2,0x4e,0xd0,0xac,0x52,0xd3,0x39,0x18,0x6d,0xd0,0x0f,0x23,0xd7,0x45,
42990x72,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x31,0x39,0x31,0x35,0x34,0x32,
43000x5a,0x30,0x20,0x02,0x0f,0x24,0x60,0x7a,0x8e,0x0e,0x86,0xa4,0x88,0x68,0xaf,
43010xd9,0x0c,0x6b,0xba,0xff,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x30,0x35,
43020x31,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x20,0x41,0x73,0xbb,0x72,0x88,
43030x6e,0x4b,0x1c,0xb6,0x70,0x02,0x67,0xaa,0x3b,0x3d,0x17,0x0d,0x30,0x32,0x30,
43040x39,0x30,0x33,0x31,0x37,0x30,0x36,0x32,0x31,0x5a,0x30,0x21,0x02,0x10,0x20,
43050x6e,0x0d,0xdc,0x8c,0xa4,0xac,0xf7,0x08,0x77,0x5c,0x80,0xf9,0xa3,0x68,0x92,
43060x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x32,0x30,0x35,0x37,0x31,0x36,0x5a,
43070x30,0x21,0x02,0x10,0x21,0xe4,0x6b,0x98,0x47,0x91,0xe6,0x02,0xdf,0xb2,0x45,
43080xbc,0x31,0x37,0xa0,0x7c,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x32,0x33,
43090x32,0x33,0x31,0x33,0x5a,0x30,0x21,0x02,0x10,0x22,0x00,0x95,0x70,0x79,0xf9,
43100x9c,0x34,0x91,0xbb,0x84,0xb9,0x91,0xde,0x22,0x55,0x17,0x0d,0x30,0x32,0x30,
43110x32,0x31,0x33,0x30,0x36,0x35,0x39,0x33,0x39,0x5a,0x30,0x21,0x02,0x10,0x22,
43120xf9,0x67,0x4f,0xcd,0x29,0xc6,0xdc,0xc8,0x22,0x6e,0xe9,0x0a,0xa1,0x48,0x5a,
43130x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x33,0x30,0x30,0x34,0x33,0x32,0x36,0x5a,
43140x30,0x21,0x02,0x10,0x24,0xa3,0xa7,0xd0,0xb8,0x1d,0x1c,0xf7,0xe6,0x1f,0x6e,
43150xba,0xc9,0x98,0x59,0xed,0x17,0x0d,0x30,0x33,0x30,0x37,0x32,0x34,0x32,0x30,
43160x35,0x38,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x24,0xef,0x89,0xa1,0x30,0x4f,
43170x51,0x63,0xfe,0xdb,0xdb,0x64,0x6e,0x4c,0x5a,0x81,0x17,0x0d,0x30,0x32,0x30,
43180x37,0x30,0x33,0x30,0x39,0x32,0x31,0x31,0x37,0x5a,0x30,0x21,0x02,0x10,0x25,
43190x08,0xe5,0xac,0xdd,0x6f,0x74,0x44,0x51,0x1a,0xf5,0xdb,0xf8,0xba,0x25,0xe0,
43200x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x39,0x30,0x34,0x31,0x36,0x32,0x32,0x5a,
43210x30,0x21,0x02,0x10,0x25,0x81,0xe8,0x18,0x60,0x88,0xbc,0x1a,0xe9,0x14,0x84,
43220xed,0xd4,0x62,0xf5,0x47,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x33,0x30,0x31,
43230x35,0x37,0x31,0x39,0x5a,0x30,0x21,0x02,0x10,0x26,0xe5,0x5c,0xab,0x16,0xec,
43240x61,0x38,0x49,0x2c,0xd2,0xb1,0x48,0x89,0xd5,0x47,0x17,0x0d,0x30,0x32,0x30,
43250x33,0x31,0x33,0x31,0x38,0x30,0x30,0x33,0x38,0x5a,0x30,0x21,0x02,0x10,0x27,
43260xbe,0xda,0x7f,0x4f,0x1f,0x6c,0x76,0x09,0xc0,0x9a,0xaf,0xd4,0x68,0xe2,0x16,
43270x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x30,0x31,0x38,0x33,0x32,0x33,0x30,0x5a,
43280x30,0x21,0x02,0x10,0x28,0x89,0xd0,0xb3,0xb5,0xc4,0x56,0x36,0x9b,0x3e,0x81,
43290x1a,0x21,0x56,0xaa,0x42,0x17,0x0d,0x30,0x32,0x31,0x31,0x30,0x34,0x31,0x31,
43300x30,0x33,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x28,0xab,0x93,0x06,0xb1,0x1e,
43310x05,0xe0,0xe1,0x25,0x75,0xc7,0x74,0xcb,0x55,0xa6,0x17,0x0d,0x30,0x33,0x30,
43320x31,0x32,0x34,0x31,0x39,0x34,0x38,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x29,
43330xe9,0x3b,0x44,0x8d,0xc3,0x4b,0x80,0x17,0xda,0xe4,0x1c,0x43,0x96,0x83,0x59,
43340x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x37,0x32,0x31,0x34,0x33,0x33,0x39,0x5a,
43350x30,0x21,0x02,0x10,0x2a,0x08,0x64,0x2b,0x48,0xe2,0x17,0x89,0x6a,0x0c,0xf9,
43360x7e,0x10,0x66,0x8f,0xe7,0x17,0x0d,0x30,0x32,0x30,0x38,0x31,0x39,0x31,0x38,
43370x33,0x35,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x2a,0x44,0xee,0x91,0x5d,0xe3,
43380xa5,0x2b,0x09,0xf3,0x56,0x59,0xe0,0x8f,0x25,0x22,0x17,0x0d,0x30,0x32,0x30,
43390x32,0x32,0x31,0x31,0x39,0x33,0x31,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x2a,
43400x8b,0x4e,0xa5,0xb6,0x06,0xc8,0x48,0x3b,0x0e,0x71,0x1e,0x6b,0xf4,0x16,0xc1,
43410x17,0x0d,0x30,0x32,0x30,0x34,0x33,0x30,0x30,0x39,0x32,0x31,0x31,0x38,0x5a,
43420x30,0x21,0x02,0x10,0x2b,0x03,0xfc,0x2f,0xc2,0x8e,0x38,0x29,0x6f,0xa1,0x0f,
43430xe9,0x47,0x1b,0x35,0xd7,0x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x34,0x32,0x30,
43440x31,0x38,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x2c,0x48,0xf7,0xd6,0xd5,0x71,
43450xc0,0xd1,0xbd,0x6a,0x00,0x65,0x1d,0x2d,0xa9,0xdd,0x17,0x0d,0x30,0x32,0x30,
43460x33,0x30,0x36,0x31,0x37,0x32,0x30,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x2c,
43470xbf,0x84,0x1d,0xe4,0x58,0x32,0x79,0x32,0x10,0x37,0xde,0xd7,0x94,0xff,0x85,
43480x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x31,0x39,0x30,0x32,0x32,0x35,0x5a,
43490x30,0x21,0x02,0x10,0x2d,0x03,0x54,0x35,0x54,0x45,0x2c,0x6d,0x39,0xf0,0x1b,
43500x74,0x68,0xde,0xcf,0x93,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x33,0x31,0x33,
43510x32,0x33,0x33,0x37,0x5a,0x30,0x21,0x02,0x10,0x2d,0x24,0x94,0x34,0x19,0x92,
43520xb1,0xf2,0x37,0x9d,0x6e,0xc5,0x35,0x93,0xdd,0xf0,0x17,0x0d,0x30,0x32,0x30,
43530x33,0x31,0x35,0x31,0x37,0x31,0x37,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x2d,
43540x47,0x24,0x61,0x87,0x91,0xba,0x2e,0xf2,0xf7,0x92,0x21,0xf3,0x1b,0x8b,0x1e,
43550x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x34,0x32,0x33,0x30,0x38,0x32,0x32,0x5a,
43560x30,0x21,0x02,0x10,0x2d,0x84,0xc2,0xb1,0x01,0xa1,0x3a,0x6f,0xb0,0x30,0x13,
43570x76,0x5a,0x69,0xec,0x41,0x17,0x0d,0x30,0x32,0x30,0x37,0x31,0x35,0x31,0x37,
43580x32,0x39,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x2d,0xd5,0x26,0xc3,0xcd,0x01,
43590xce,0xfd,0x67,0xb8,0x08,0xac,0x5a,0x70,0xc4,0x34,0x17,0x0d,0x30,0x32,0x30,
43600x32,0x32,0x37,0x30,0x34,0x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x2e,
43610x2b,0x0a,0x94,0x4d,0xf1,0xa4,0x37,0xb7,0xa3,0x9b,0x4b,0x96,0x26,0xa8,0xe3,
43620x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x39,0x30,0x36,0x32,0x38,0x32,0x38,0x5a,
43630x30,0x21,0x02,0x10,0x2e,0x31,0x30,0xc1,0x2e,0x16,0x31,0xd9,0x2b,0x0a,0x70,
43640xca,0x3f,0x31,0x73,0x62,0x17,0x0d,0x30,0x33,0x30,0x31,0x32,0x39,0x30,0x31,
43650x34,0x39,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x2e,0xbd,0x6d,0xdf,0xce,0x20,
43660x6f,0xe7,0xa8,0xf4,0xf3,0x25,0x9c,0xc3,0xc1,0x12,0x17,0x0d,0x30,0x32,0x30,
43670x39,0x32,0x30,0x31,0x33,0x35,0x34,0x34,0x32,0x5a,0x30,0x21,0x02,0x10,0x2f,
43680x56,0x16,0x22,0xba,0x87,0xd5,0xfd,0xff,0xe6,0xb0,0xdd,0x3c,0x08,0x26,0x2c,
43690x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x33,0x31,0x37,0x35,0x33,0x31,0x31,0x5a,
43700x30,0x21,0x02,0x10,0x30,0x3e,0x77,0x7b,0xec,0xcb,0x89,0x2c,0x15,0x55,0x7f,
43710x20,0xf2,0x33,0xc1,0x1e,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x32,0x33,
43720x35,0x30,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,0x30,0x59,0x6c,0xaa,0x5f,0xd3,
43730xac,0x50,0x86,0x2c,0xc4,0xfa,0x3c,0x48,0x50,0xd1,0x17,0x0d,0x30,0x32,0x30,
43740x32,0x32,0x31,0x30,0x34,0x31,0x39,0x33,0x35,0x5a,0x30,0x21,0x02,0x10,0x30,
43750xce,0x9a,0xf1,0xfa,0x17,0xfa,0xf5,0x4c,0xbc,0x52,0x8a,0xf4,0x26,0x2b,0x7b,
43760x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x31,0x31,0x39,0x31,0x32,0x33,0x39,0x5a,
43770x30,0x21,0x02,0x10,0x31,0x16,0x4a,0x6a,0x2e,0x6d,0x34,0x4d,0xd2,0x40,0xf0,
43780x5f,0x47,0xe6,0x5b,0x47,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x32,0x31,0x37,
43790x33,0x38,0x35,0x32,0x5a,0x30,0x21,0x02,0x10,0x31,0xdb,0x97,0x5b,0x06,0x63,
43800x0b,0xd8,0xfe,0x06,0xb3,0xf5,0xf9,0x64,0x0a,0x59,0x17,0x0d,0x30,0x32,0x30,
43810x32,0x31,0x32,0x31,0x35,0x35,0x39,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x32,
43820xbc,0xeb,0x0c,0xca,0x65,0x06,0x3f,0xa4,0xd5,0x4a,0x56,0x46,0x7c,0x22,0x09,
43830x17,0x0d,0x30,0x32,0x30,0x38,0x31,0x36,0x30,0x37,0x33,0x33,0x35,0x35,0x5a,
43840x30,0x21,0x02,0x10,0x33,0x17,0xef,0xe1,0x89,0xec,0x11,0x25,0x15,0x8f,0x3b,
43850x67,0x7a,0x64,0x0b,0x50,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x38,0x31,0x37,
43860x30,0x33,0x34,0x36,0x5a,0x30,0x21,0x02,0x10,0x34,0x24,0xa0,0xd2,0x00,0x61,
43870xeb,0xd3,0x9a,0xa7,0x2a,0x66,0xb4,0x82,0x23,0x77,0x17,0x0d,0x30,0x32,0x30,
43880x33,0x31,0x35,0x32,0x32,0x34,0x33,0x33,0x39,0x5a,0x30,0x21,0x02,0x10,0x34,
43890xa8,0x16,0x67,0xa5,0x1b,0xa3,0x31,0x11,0x5e,0x26,0xc8,0x3f,0x21,0x38,0xbe,
43900x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x31,0x32,0x31,0x31,0x36,0x32,0x31,0x5a,
43910x30,0x21,0x02,0x10,0x36,0x3a,0xbe,0x05,0x55,0x52,0x93,0x4f,0x32,0x5f,0x30,
43920x63,0xc0,0xd4,0x50,0xdf,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x31,
43930x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x37,0x19,0xcc,0xa5,0x9d,0x85,
43940x05,0x56,0xe1,0x63,0x42,0x4b,0x0d,0x3c,0xbf,0xd6,0x17,0x0d,0x30,0x33,0x30,
43950x31,0x30,0x38,0x31,0x38,0x35,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x37,
43960x2f,0xfd,0x2b,0xec,0x4d,0x94,0x35,0x51,0xf4,0x07,0x2a,0xf5,0x0b,0x97,0xc4,
43970x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x31,0x39,0x31,0x38,0x30,0x31,0x5a,
43980x30,0x21,0x02,0x10,0x37,0x83,0xf5,0x1e,0x7e,0xf4,0x5f,0xad,0x1f,0x0c,0x55,
43990x86,0x30,0x02,0x54,0xc1,0x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x38,0x32,0x30,
44000x30,0x33,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x38,0x32,0x3e,0x50,0x2b,0x36,
44010x93,0x01,0x32,0x0a,0x59,0x8c,0xce,0xad,0xa0,0xeb,0x17,0x0d,0x30,0x32,0x30,
44020x34,0x33,0x30,0x32,0x31,0x32,0x34,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x3a,
44030x62,0xd8,0x64,0xd3,0x85,0xd5,0x61,0x1d,0x9d,0x3f,0x61,0x25,0xe9,0x3a,0x1d,
44040x17,0x0d,0x30,0x32,0x30,0x36,0x31,0x37,0x31,0x35,0x31,0x39,0x31,0x36,0x5a,
44050x30,0x21,0x02,0x10,0x3a,0x97,0x36,0xb1,0x26,0x14,0x73,0x50,0xa3,0xcc,0x3f,
44060xd0,0x3b,0x83,0x99,0xc9,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x31,0x30,0x33,
44070x32,0x39,0x33,0x30,0x5a,0x30,0x21,0x02,0x10,0x3b,0x87,0x3e,0x20,0xbe,0x97,
44080xff,0xa7,0x6b,0x2b,0x5f,0xff,0x9a,0x7f,0x4c,0x95,0x17,0x0d,0x30,0x32,0x30,
44090x37,0x30,0x33,0x30,0x30,0x33,0x31,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x3b,
44100xba,0xe5,0xf2,0x23,0x99,0xc6,0xd7,0xae,0xe2,0x98,0x0d,0xa4,0x13,0x5c,0xd4,
44110x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x34,0x31,0x39,0x32,0x38,0x34,0x35,0x5a,
44120x30,0x21,0x02,0x10,0x3b,0xc2,0x7c,0xf0,0xbd,0xd2,0x9a,0x6f,0x97,0xdd,0x76,
44130xbc,0xa9,0x6c,0x45,0x0d,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x30,
44140x34,0x32,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x3b,0xc5,0xda,0x41,0x64,0x7a,
44150x37,0x8e,0x9f,0x7f,0x1f,0x9b,0x25,0x0a,0xb4,0xda,0x17,0x0d,0x30,0x32,0x30,
44160x33,0x30,0x36,0x31,0x33,0x32,0x34,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x3c,
44170x1b,0xf1,0x9a,0x48,0xb0,0xb8,0xa0,0x45,0xd5,0x8f,0x0f,0x57,0x90,0xc2,0xcd,
44180x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x38,0x30,0x36,0x34,0x33,0x32,0x33,0x5a,
44190x30,0x21,0x02,0x10,0x3d,0x15,0x48,0x80,0xb4,0xfe,0x51,0x7e,0xed,0x46,0xae,
44200x51,0xfd,0x47,0x73,0xde,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x37,0x30,0x39,
44210x32,0x30,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x3d,0x61,0x4e,0x87,0xea,0x39,
44220x02,0xf3,0x1e,0x3e,0x56,0x5c,0x0e,0x3b,0xa7,0xe3,0x17,0x0d,0x30,0x32,0x31,
44230x30,0x32,0x39,0x31,0x39,0x35,0x34,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x3d,
44240xdd,0x61,0x92,0x82,0x69,0x6b,0x01,0x79,0x0e,0xef,0x96,0x12,0xa3,0x76,0x80,
44250x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x31,0x32,0x32,0x32,0x34,0x31,0x36,0x5a,
44260x30,0x21,0x02,0x10,0x3e,0x0e,0x14,0x71,0x55,0xf3,0x48,0x09,0x1b,0x56,0x3b,
44270x91,0x7a,0x7d,0xec,0xc9,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x31,0x32,0x31,
44280x34,0x35,0x35,0x31,0x5a,0x30,0x21,0x02,0x10,0x3e,0x23,0x00,0x1f,0x9b,0xbd,
44290xe8,0xb1,0xf0,0x06,0x67,0xa6,0x70,0x42,0x2e,0xc3,0x17,0x0d,0x30,0x32,0x30,
44300x38,0x30,0x38,0x31,0x32,0x32,0x31,0x33,0x32,0x5a,0x30,0x21,0x02,0x10,0x41,
44310x91,0x1a,0x8c,0xde,0x2d,0xb3,0xeb,0x79,0x1d,0xc7,0x99,0x99,0xbe,0x0c,0x0e,
44320x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x35,0x31,0x39,0x31,0x38,0x35,0x34,0x5a,
44330x30,0x21,0x02,0x10,0x41,0xa8,0xd7,0x9c,0x10,0x5e,0x5a,0xac,0x16,0x7f,0x93,
44340xaa,0xd1,0x83,0x34,0x55,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x31,0x32,
44350x35,0x33,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x42,0x88,0x96,0xb0,0x7b,0x28,
44360xa2,0xfa,0x2f,0x91,0x73,0x58,0xa7,0x1e,0x53,0x7c,0x17,0x0d,0x30,0x33,0x30,
44370x33,0x30,0x31,0x30,0x39,0x34,0x33,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,0x42,
44380x93,0x2f,0xd2,0x54,0xd3,0x94,0xd0,0x41,0x6a,0x2e,0x33,0x8b,0x81,0xb4,0x3c,
44390x17,0x0d,0x30,0x32,0x30,0x38,0x30,0x38,0x30,0x30,0x34,0x38,0x34,0x36,0x5a,
44400x30,0x21,0x02,0x10,0x44,0x24,0xdd,0xba,0x85,0xfd,0x3e,0xb2,0xb8,0x17,0x74,
44410xfd,0x9d,0x5c,0x0c,0xbd,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x31,0x31,0x36,
44420x30,0x39,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x45,0x02,0x18,0x7d,0x39,0x9c,
44430xb9,0x14,0xfb,0x10,0x37,0x96,0xf4,0xc1,0xdd,0x2f,0x17,0x0d,0x30,0x32,0x30,
44440x32,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,0x45,
44450x16,0xbc,0x31,0x0b,0x4e,0x87,0x0a,0xcc,0xe3,0xd5,0x14,0x16,0x33,0x11,0x83,
44460x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x32,0x30,0x32,0x32,0x30,0x31,0x37,0x5a,
44470x30,0x21,0x02,0x10,0x46,0x16,0x36,0xde,0x3f,0xef,0x8c,0xfa,0x67,0x53,0x12,
44480xcc,0x76,0x63,0xd6,0xdd,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x34,0x31,0x36,
44490x35,0x39,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x46,0x5f,0x85,0xa3,0xa4,0x98,
44500x3c,0x40,0x63,0xf6,0x1c,0xf7,0xc2,0xbe,0xfd,0x0e,0x17,0x0d,0x30,0x32,0x30,
44510x34,0x30,0x39,0x31,0x35,0x33,0x30,0x30,0x35,0x5a,0x30,0x21,0x02,0x10,0x47,
44520x20,0xc2,0xd8,0x85,0x85,0x54,0x39,0xcd,0xf2,0x10,0xf0,0xa7,0x88,0x52,0x75,
44530x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x30,0x32,0x32,0x32,0x35,0x32,0x37,0x5a,
44540x30,0x21,0x02,0x10,0x47,0x42,0x6e,0xa2,0xab,0xc5,0x33,0x5d,0x50,0x44,0x0b,
44550x88,0x97,0x84,0x59,0x4c,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x35,0x31,0x34,
44560x30,0x35,0x31,0x39,0x5a,0x30,0x21,0x02,0x10,0x49,0x20,0x3f,0xa8,0x6e,0x81,
44570xc8,0x3b,0x26,0x05,0xf4,0xa7,0x9b,0x5a,0x81,0x60,0x17,0x0d,0x30,0x32,0x30,
44580x37,0x31,0x31,0x31,0x37,0x35,0x30,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x49,
44590x8b,0x6f,0x05,0xfb,0xcb,0xf4,0x5a,0xaf,0x09,0x47,0xb1,0x04,0xc5,0xe3,0x51,
44600x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x32,0x31,0x37,0x34,0x38,0x30,0x38,0x5a,
44610x30,0x21,0x02,0x10,0x49,0xb2,0xc3,0x7a,0xbf,0x75,0x2a,0xb3,0x13,0xae,0x53,
44620xc6,0xcb,0x45,0x5a,0x3e,0x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x35,0x32,0x31,
44630x33,0x35,0x33,0x37,0x5a,0x30,0x21,0x02,0x10,0x4b,0xca,0xc3,0xab,0x0a,0xc5,
44640xcd,0x90,0xa2,0xbe,0x43,0xfe,0xdd,0x06,0xe1,0x45,0x17,0x0d,0x30,0x32,0x30,
44650x37,0x32,0x30,0x31,0x37,0x33,0x32,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x4c,
44660x00,0xcc,0x73,0xd5,0x74,0x61,0x62,0x92,0x52,0xff,0xde,0x5b,0xc1,0x55,0xbd,
44670x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x36,0x31,0x34,0x30,0x31,0x35,0x31,0x5a,
44680x30,0x21,0x02,0x10,0x4c,0x59,0xc1,0xc3,0x56,0x40,0x27,0xd4,0x22,0x0e,0x37,
44690xf6,0x5f,0x26,0x50,0xc5,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x30,0x39,
44700x35,0x37,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x4c,0xca,0x12,0x59,0x46,0xf9,
44710x2b,0xc6,0x7d,0x33,0x78,0x40,0x2c,0x3b,0x7a,0x0c,0x17,0x0d,0x30,0x32,0x30,
44720x35,0x33,0x30,0x32,0x30,0x32,0x34,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x4d,
44730x57,0x51,0x35,0x9b,0xe5,0x41,0x2c,0x69,0x66,0xc7,0x21,0xec,0xc6,0x29,0x32,
44740x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x30,0x34,0x33,0x35,0x35,0x36,0x5a,
44750x30,0x21,0x02,0x10,0x4e,0x85,0xab,0x9e,0x17,0x54,0xe7,0x42,0x0f,0x8c,0xa1,
44760x65,0x96,0x88,0x53,0x54,0x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x38,0x30,0x30,
44770x31,0x38,0x35,0x33,0x5a,0x30,0x21,0x02,0x10,0x50,0x3d,0xed,0xac,0x21,0x86,
44780x66,0x5d,0xa5,0x1a,0x13,0xee,0xfc,0xa7,0x0b,0xc6,0x17,0x0d,0x30,0x32,0x30,
44790x32,0x31,0x38,0x31,0x33,0x35,0x35,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,0x50,
44800xa3,0x81,0x9c,0xcb,0x22,0xe4,0x0f,0x80,0xcb,0x7a,0xec,0x35,0xf8,0x73,0x82,
44810x17,0x0d,0x30,0x32,0x31,0x30,0x30,0x35,0x31,0x36,0x35,0x39,0x35,0x39,0x5a,
44820x30,0x21,0x02,0x10,0x51,0x28,0x73,0x26,0x17,0xcf,0x10,0x6e,0xeb,0x4a,0x03,
44830x74,0xa3,0x35,0xe5,0x60,0x17,0x0d,0x30,0x33,0x30,0x36,0x31,0x33,0x31,0x30,
44840x30,0x39,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x51,0x52,0xff,0xdc,0x69,0x6b,
44850x1f,0x1f,0xff,0x7c,0xb1,0x7f,0x03,0x90,0xa9,0x6b,0x17,0x0d,0x30,0x32,0x30,
44860x36,0x31,0x34,0x31,0x36,0x30,0x34,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x52,
44870xd9,0x53,0x69,0x9f,0xec,0xab,0xdd,0x5d,0x2a,0x2f,0xaa,0x57,0x86,0xb9,0x1f,
44880x17,0x0d,0x30,0x32,0x30,0x38,0x33,0x30,0x32,0x33,0x34,0x36,0x34,0x33,0x5a,
44890x30,0x21,0x02,0x10,0x54,0x46,0xa8,0x8f,0x69,0x2e,0x02,0xf4,0xb4,0xb2,0x69,
44900xda,0xbd,0x40,0x02,0xe0,0x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x36,0x30,0x31,
44910x35,0x36,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x54,0xb5,0x81,0x73,0xb5,0x7c,
44920x6d,0xba,0x5c,0x99,0x0d,0xff,0x0a,0x4d,0xee,0xef,0x17,0x0d,0x30,0x32,0x30,
44930x37,0x32,0x34,0x31,0x36,0x33,0x39,0x35,0x31,0x5a,0x30,0x21,0x02,0x10,0x57,
44940x91,0x41,0x20,0x9f,0x57,0x6f,0x42,0x53,0x4e,0x19,0xcc,0xe4,0xc8,0x52,0x4a,
44950x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x38,0x32,0x33,0x32,0x34,0x30,0x30,0x5a,
44960x30,0x21,0x02,0x10,0x57,0xc6,0xdc,0xa0,0xed,0xbf,0x77,0xdd,0x7e,0x18,0x68,
44970x83,0x57,0x0c,0x2a,0x4f,0x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x31,0x31,0x34,
44980x30,0x36,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x57,0xed,0xe2,0x5b,0xe2,0x62,
44990x3f,0x98,0xe1,0xf5,0x4d,0x30,0xa4,0x0e,0xdf,0xdf,0x17,0x0d,0x30,0x32,0x30,
45000x36,0x30,0x39,0x30,0x31,0x34,0x37,0x31,0x38,0x5a,0x30,0x21,0x02,0x10,0x58,
45010x47,0xd9,0xbd,0x83,0x1a,0x63,0x6f,0xb7,0x63,0x7f,0x4a,0x56,0x5e,0x8e,0x4d,
45020x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x35,0x31,0x37,0x32,0x33,0x30,0x33,0x5a,
45030x30,0x21,0x02,0x10,0x58,0xc6,0x62,0x99,0x80,0xe6,0x0c,0x4f,0x00,0x8b,0x25,
45040x38,0x93,0xe6,0x18,0x10,0x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x36,0x30,0x37,
45050x30,0x39,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x59,0x52,0x09,0x0e,0x99,0xf3,
45060xa9,0xe5,0x2f,0xed,0xa9,0xb2,0xd8,0x61,0xe7,0xea,0x17,0x0d,0x30,0x32,0x30,
45070x36,0x32,0x36,0x31,0x34,0x31,0x38,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x59,
45080x5c,0xaa,0xfb,0xbe,0xfb,0x73,0xd1,0xf4,0xab,0xc8,0xe3,0x3d,0x01,0x04,0xdd,
45090x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x37,0x32,0x32,0x32,0x30,0x31,0x30,0x5a,
45100x30,0x21,0x02,0x10,0x59,0x97,0x59,0xa7,0x3d,0xb0,0xd9,0x7e,0xff,0x2a,0xcb,
45110x31,0xcc,0x66,0xf3,0x85,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x32,0x30,0x30,
45120x35,0x35,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x59,0xdd,0x45,0x36,0x61,0xd9,
45130x3e,0xe9,0xff,0xbd,0xad,0x2e,0xbf,0x9a,0x5d,0x98,0x17,0x0d,0x30,0x32,0x30,
45140x37,0x30,0x32,0x32,0x30,0x34,0x30,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x5a,
45150x4b,0x48,0x18,0xa9,0x2a,0x9c,0xd5,0x91,0x2f,0x4f,0xa4,0xf8,0xb3,0x1b,0x4d,
45160x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x34,0x32,0x33,0x33,0x33,0x31,0x32,0x5a,
45170x30,0x21,0x02,0x10,0x5a,0xdf,0x32,0x0d,0x64,0xeb,0x9b,0xd2,0x11,0xe2,0x58,
45180x50,0xbe,0x93,0x0c,0x65,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x35,0x31,0x37,
45190x30,0x37,0x32,0x31,0x5a,0x30,0x21,0x02,0x10,0x5b,0x23,0xbf,0xbb,0xc4,0xb3,
45200xf4,0x02,0xe9,0xcb,0x10,0x9e,0xee,0xa5,0x3f,0xcd,0x17,0x0d,0x30,0x32,0x30,
45210x33,0x32,0x39,0x31,0x36,0x32,0x36,0x35,0x39,0x5a,0x30,0x21,0x02,0x10,0x5b,
45220x51,0xbc,0x38,0xbf,0xaf,0x9f,0x27,0xa9,0xc7,0xed,0x25,0xd0,0x8d,0xec,0x2e,
45230x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x30,0x32,0x35,0x32,0x30,0x5a,
45240x30,0x21,0x02,0x10,0x5c,0x29,0x7f,0x46,0x61,0xdd,0x47,0x90,0x82,0x91,0xbd,
45250x79,0x22,0x6a,0x98,0x38,0x17,0x0d,0x30,0x32,0x31,0x31,0x30,0x38,0x31,0x35,
45260x35,0x34,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x5e,0x38,0xf7,0x5b,0x00,0xf1,
45270xef,0x1c,0xb6,0xff,0xd5,0x5c,0x74,0xfb,0x95,0x5d,0x17,0x0d,0x30,0x32,0x31,
45280x31,0x32,0x33,0x30,0x31,0x34,0x39,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x5e,
45290x88,0xbe,0xb6,0xb4,0xb2,0xaa,0xb0,0x92,0xf3,0xf6,0xc2,0xbc,0x72,0x21,0xca,
45300x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x34,0x30,0x37,0x31,0x32,0x31,0x30,0x5a,
45310x30,0x21,0x02,0x10,0x5f,0x59,0xa0,0xbb,0xaf,0x26,0xc8,0xc1,0xb4,0x04,0x3a,
45320xbb,0xfc,0x4c,0x75,0xa5,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x36,0x31,0x35,
45330x35,0x31,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x5f,0x81,0x08,0x0f,0xa0,0xcd,
45340x44,0x73,0x23,0x58,0x8e,0x49,0x9f,0xb5,0x08,0x35,0x17,0x0d,0x30,0x32,0x30,
45350x36,0x31,0x39,0x31,0x34,0x31,0x37,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x5f,
45360xba,0x1f,0x8f,0xb2,0x23,0x56,0xdd,0xbc,0xa6,0x72,0xb0,0x99,0x13,0xb5,0xb2,
45370x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x36,0x30,0x38,0x34,0x37,0x31,0x30,0x5a,
45380x30,0x21,0x02,0x10,0x60,0x09,0xd5,0xb7,0x6b,0xf1,0x16,0x4a,0xfa,0xd0,0xa5,
45390x4c,0x8e,0xdd,0x02,0xcb,0x17,0x0d,0x30,0x32,0x30,0x36,0x31,0x37,0x31,0x36,
45400x31,0x32,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x60,0x1d,0x19,0xd8,0x55,0xd5,
45410x14,0xd5,0xff,0x03,0x0d,0xad,0x5c,0x07,0x4c,0xe7,0x17,0x0d,0x30,0x32,0x30,
45420x37,0x31,0x35,0x32,0x33,0x30,0x31,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x60,
45430x24,0x67,0xc3,0x0b,0xad,0x53,0x8f,0xce,0x89,0x05,0xb5,0x87,0xaf,0x7c,0xe4,
45440x17,0x0d,0x30,0x32,0x31,0x30,0x30,0x38,0x32,0x30,0x33,0x38,0x35,0x32,0x5a,
45450x30,0x21,0x02,0x10,0x60,0x5c,0xf3,0x3d,0x22,0x23,0x39,0x3f,0xe6,0x21,0x09,
45460xfd,0xdd,0x77,0xc2,0x8f,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x32,0x31,0x37,
45470x32,0x37,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x60,0xa2,0x5e,0xbf,0x07,0x83,
45480xa3,0x18,0x56,0x18,0x48,0x63,0xa7,0xfd,0xc7,0x63,0x17,0x0d,0x30,0x32,0x30,
45490x35,0x30,0x39,0x31,0x39,0x35,0x32,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x60,
45500xc2,0xad,0xa8,0x0e,0xf9,0x9a,0x66,0x5d,0xa2,0x75,0x04,0x5e,0x5c,0x71,0xc2,
45510x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x32,0x31,0x33,0x33,0x36,0x31,0x37,0x5a,
45520x30,0x21,0x02,0x10,0x60,0xdb,0x1d,0x37,0x34,0xf6,0x02,0x9d,0x68,0x1b,0x70,
45530xf1,0x13,0x00,0x2f,0x80,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x30,0x39,
45540x35,0x35,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x61,0xf0,0x38,0xea,0xbc,0x17,
45550x0d,0x11,0xd2,0x89,0xee,0x87,0x50,0x57,0xa0,0xed,0x17,0x0d,0x30,0x33,0x30,
45560x31,0x32,0x39,0x31,0x37,0x34,0x31,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x61,
45570xfa,0x9b,0xeb,0x58,0xf9,0xe5,0xa5,0x9e,0x79,0xa8,0x3d,0x79,0xac,0x35,0x97,
45580x17,0x0d,0x30,0x32,0x31,0x30,0x31,0x30,0x32,0x30,0x31,0x36,0x33,0x37,0x5a,
45590x30,0x21,0x02,0x10,0x62,0x44,0x57,0x24,0x41,0xc0,0x89,0x3f,0x5b,0xd2,0xbd,
45600xe7,0x2f,0x75,0x41,0xfa,0x17,0x0d,0x30,0x32,0x30,0x38,0x30,0x38,0x31,0x38,
45610x33,0x30,0x31,0x35,0x5a,0x30,0x21,0x02,0x10,0x62,0x51,0x3a,0x2d,0x8d,0x82,
45620x39,0x65,0xfe,0xf6,0x8a,0xc8,0x4e,0x29,0x91,0xfd,0x17,0x0d,0x30,0x32,0x30,
45630x39,0x32,0x36,0x30,0x30,0x35,0x34,0x33,0x34,0x5a,0x30,0x21,0x02,0x10,0x62,
45640x52,0x49,0x49,0xf2,0x51,0x67,0x7a,0xe2,0xee,0xc9,0x0c,0x23,0x11,0x3d,0xb2,
45650x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x37,0x31,0x38,0x30,0x36,0x35,0x35,0x5a,
45660x30,0x21,0x02,0x10,0x63,0x52,0xbd,0xdc,0xb7,0xbf,0xbb,0x90,0x6c,0x82,0xee,
45670xb5,0xa3,0x9f,0xd8,0xc9,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x31,0x36,
45680x33,0x30,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x63,0x5e,0x6b,0xe9,0xea,0x3d,
45690xd6,0x3b,0xc3,0x4d,0x09,0xc3,0x13,0xdb,0xdd,0xbc,0x17,0x0d,0x30,0x33,0x30,
45700x36,0x30,0x32,0x31,0x34,0x34,0x37,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x63,
45710xda,0x0b,0xd5,0x13,0x1e,0x98,0x83,0x32,0xa2,0x3a,0x4b,0xdf,0x8c,0x89,0x86,
45720x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x35,0x30,0x38,0x30,0x38,0x31,0x33,0x5a,
45730x30,0x21,0x02,0x10,0x64,0xfe,0xf0,0x1a,0x3a,0xed,0x89,0xf8,0xb5,0x34,0xd3,
45740x1e,0x0f,0xce,0x0d,0xce,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x38,0x32,0x31,
45750x30,0x36,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x65,0xa7,0x49,0xd8,0x37,0x22,
45760x4b,0x4a,0xe5,0xcf,0xa3,0xfe,0xd6,0x3b,0xc0,0x67,0x17,0x0d,0x30,0x32,0x31,
45770x32,0x30,0x34,0x31,0x37,0x31,0x34,0x31,0x36,0x5a,0x30,0x21,0x02,0x10,0x65,
45780xc9,0x9e,0x47,0x76,0x98,0x0d,0x9e,0x57,0xe4,0xae,0xc5,0x1c,0x3e,0xf2,0xe7,
45790x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x33,0x31,0x34,0x30,0x38,0x31,0x38,0x5a,
45800x30,0x21,0x02,0x10,0x65,0xe0,0x7b,0xc5,0x74,0xe4,0xab,0x01,0x4f,0xa3,0x5e,
45810xd6,0xeb,0xcd,0xd5,0x69,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x33,0x31,0x37,
45820x32,0x34,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,0x66,0x51,0xb7,0xe5,0x62,0xb7,
45830xe3,0x31,0xc0,0xee,0xf2,0xe8,0xfe,0x84,0x6a,0x4e,0x17,0x0d,0x30,0x32,0x30,
45840x39,0x30,0x36,0x31,0x33,0x32,0x33,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x67,
45850x7c,0x76,0xac,0x66,0x5a,0x6b,0x41,0x5c,0x07,0x83,0x02,0xd6,0xd9,0x63,0xc0,
45860x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x38,0x31,0x33,0x35,0x35,0x31,0x30,0x5a,
45870x30,0x21,0x02,0x10,0x68,0x67,0xde,0xb3,0xaa,0x20,0xcf,0x4b,0x34,0xa5,0xe0,
45880xc8,0xc0,0xc5,0xc9,0xa4,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x32,0x30,0x31,
45890x30,0x39,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x69,0x23,0x34,0x5d,0x75,0x04,
45900xdc,0x99,0xbd,0xce,0x8d,0x21,0xb4,0x6b,0x10,0xfc,0x17,0x0d,0x30,0x32,0x30,
45910x39,0x30,0x33,0x31,0x33,0x31,0x39,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x69,
45920x9f,0x20,0x31,0xd1,0x3f,0xfa,0x1e,0x70,0x2e,0x37,0xd5,0x9a,0x8c,0x0a,0x16,
45930x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x30,0x30,0x39,0x30,0x31,0x33,0x35,0x5a,
45940x30,0x21,0x02,0x10,0x6a,0x94,0xd6,0x25,0xd0,0x67,0xe4,0x4d,0x79,0x2b,0xc6,
45950xd5,0xc9,0x4a,0x7f,0xc6,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x31,0x31,0x39,
45960x31,0x35,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x6b,0x5c,0xa4,0x45,0x5b,0xe9,
45970xcf,0xe7,0x3b,0x29,0xb1,0x32,0xd7,0xa1,0x04,0x3d,0x17,0x0d,0x30,0x32,0x31,
45980x30,0x31,0x38,0x31,0x35,0x34,0x33,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x6b,
45990xc0,0x7d,0x4f,0x18,0xfe,0xb7,0x07,0xe8,0x56,0x9a,0x6c,0x40,0x0f,0x36,0x53,
46000x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x32,0x31,0x30,0x31,0x32,0x36,0x5a,
46010x30,0x21,0x02,0x10,0x6b,0xe1,0xdd,0x36,0x3b,0xec,0xe0,0xa9,0xf5,0x92,0x7e,
46020x33,0xbf,0xed,0x48,0x46,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x37,0x31,0x34,
46030x34,0x32,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,0x6c,0xac,0xeb,0x37,0x2b,0x6a,
46040x42,0xe2,0xca,0xc8,0xd2,0xda,0xb8,0xb9,0x82,0x6a,0x17,0x0d,0x30,0x32,0x30,
46050x33,0x30,0x31,0x31,0x34,0x32,0x38,0x33,0x34,0x5a,0x30,0x21,0x02,0x10,0x6d,
46060x98,0x1b,0xb4,0x76,0xd1,0x62,0x59,0xa1,0x3c,0xee,0xd2,0x21,0xd8,0xdf,0x4c,
46070x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x34,0x31,0x37,0x35,0x36,0x31,0x32,0x5a,
46080x30,0x21,0x02,0x10,0x6d,0xdd,0x0b,0x5a,0x3c,0x9c,0xab,0xd3,0x3b,0xd9,0x16,
46090xec,0x69,0x74,0xfb,0x9a,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x31,0x32,
46100x32,0x36,0x33,0x38,0x5a,0x30,0x21,0x02,0x10,0x6e,0xde,0xfd,0x89,0x36,0xae,
46110xa0,0x41,0x8d,0x5c,0xec,0x2e,0x90,0x31,0xf8,0x9a,0x17,0x0d,0x30,0x32,0x30,
46120x34,0x30,0x38,0x32,0x32,0x33,0x36,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x6f,
46130xb2,0x6b,0x4c,0x48,0xca,0xfe,0xe6,0x69,0x9a,0x06,0x63,0xc4,0x32,0x96,0xc1,
46140x17,0x0d,0x30,0x33,0x30,0x31,0x31,0x37,0x31,0x37,0x32,0x37,0x32,0x35,0x5a,
46150x30,0x21,0x02,0x10,0x70,0x0b,0xe1,0xee,0x44,0x89,0x51,0x52,0x65,0x27,0x2c,
46160x2d,0x34,0x7c,0xe0,0x8d,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x38,0x30,0x30,
46170x33,0x36,0x30,0x30,0x5a,0x30,0x21,0x02,0x10,0x70,0x2d,0xc0,0xa6,0xb8,0xa5,
46180xa0,0xda,0x48,0x59,0xb3,0x96,0x34,0x80,0xc8,0x25,0x17,0x0d,0x30,0x32,0x30,
46190x38,0x33,0x30,0x31,0x34,0x30,0x31,0x30,0x31,0x5a,0x30,0x21,0x02,0x10,0x70,
46200xe1,0xd9,0x92,0xcd,0x76,0x42,0x63,0x51,0x6e,0xcd,0x8c,0x09,0x29,0x17,0x48,
46210x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x37,0x31,0x31,0x31,0x30,0x34,0x31,0x5a,
46220x30,0x21,0x02,0x10,0x72,0x38,0xe4,0x91,0x6a,0x7a,0x8a,0xf3,0xbf,0xf0,0xd8,
46230xe0,0xa4,0x70,0x8d,0xa8,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x34,0x31,0x39,
46240x30,0x36,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x72,0x97,0xa1,0xd8,0x9c,0x3b,
46250x00,0xc2,0xc4,0x26,0x2d,0x06,0x2b,0x29,0x76,0x4e,0x17,0x0d,0x30,0x32,0x30,
46260x36,0x31,0x38,0x31,0x35,0x30,0x39,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x72,
46270xd2,0x23,0x9b,0xf2,0x33,0xe9,0x7c,0xcf,0xb6,0xa9,0x41,0xd5,0x0e,0x5c,0x39,
46280x17,0x0d,0x30,0x33,0x30,0x34,0x30,0x39,0x31,0x37,0x30,0x32,0x32,0x39,0x5a,
46290x30,0x21,0x02,0x10,0x74,0x5c,0x9c,0xf9,0xaa,0xc3,0xfa,0x94,0x3c,0x25,0x39,
46300x65,0x44,0x95,0x13,0xf1,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x39,0x32,0x33,
46310x35,0x33,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x74,0x98,0x7f,0x68,0xad,0x17,
46320x92,0x93,0xf2,0x65,0x94,0x0c,0x33,0xe6,0xbd,0x49,0x17,0x0d,0x30,0x32,0x30,
46330x34,0x32,0x33,0x30,0x37,0x34,0x34,0x31,0x38,0x5a,0x30,0x21,0x02,0x10,0x75,
46340x0e,0x40,0xff,0x97,0xf0,0x47,0xed,0xf5,0x56,0xc7,0x08,0x4e,0xb1,0xab,0xfd,
46350x17,0x0d,0x30,0x31,0x30,0x31,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
46360x30,0x21,0x02,0x10,0x75,0x26,0x51,0x59,0x65,0xb7,0x33,0x32,0x5f,0xe6,0xcd,
46370xaa,0x30,0x65,0x78,0xe0,0x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x36,0x31,0x38,
46380x32,0x34,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,0x76,0x13,0x6f,0xbf,0xc8,0xde,
46390xd9,0x36,0x30,0x39,0xcc,0x85,0x8f,0x00,0x2f,0x19,0x17,0x0d,0x30,0x32,0x30,
46400x33,0x31,0x34,0x30,0x39,0x34,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x76,
46410x52,0x78,0x89,0x44,0xfa,0xc1,0xb3,0xd7,0xc9,0x4c,0xb3,0x32,0x95,0xaf,0x03,
46420x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x34,0x31,0x39,0x31,0x35,0x34,0x33,0x5a,
46430x30,0x21,0x02,0x10,0x77,0x5d,0x4c,0x40,0xd9,0x8d,0xfa,0xc8,0x9a,0x24,0x8d,
46440x47,0x10,0x90,0x4a,0x0a,0x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x39,0x30,0x31,
46450x31,0x33,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x77,0xe6,0x5a,0x43,0x59,0x93,
46460x5d,0x5f,0x7a,0x75,0x80,0x1a,0xcd,0xad,0xc2,0x22,0x17,0x0d,0x30,0x30,0x30,
46470x38,0x33,0x31,0x31,0x38,0x32,0x32,0x35,0x30,0x5a,0x30,0x21,0x02,0x10,0x78,
46480x19,0xf1,0xb6,0x87,0x83,0xaf,0xdf,0x60,0x8d,0x9a,0x64,0x0d,0xec,0xe0,0x51,
46490x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x30,0x31,0x37,0x32,0x38,0x31,0x36,0x5a,
46500x30,0x21,0x02,0x10,0x78,0x64,0x65,0x8f,0x82,0x79,0xdb,0xa5,0x1c,0x47,0x10,
46510x1d,0x72,0x23,0x66,0x52,0x17,0x0d,0x30,0x33,0x30,0x31,0x32,0x34,0x31,0x38,
46520x34,0x35,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x78,0x64,0xe1,0xc0,0x69,0x8f,
46530x3a,0xc7,0x8b,0x23,0xe3,0x29,0xb1,0xee,0xa9,0x41,0x17,0x0d,0x30,0x32,0x30,
46540x35,0x30,0x38,0x31,0x37,0x34,0x36,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x78,
46550x79,0x89,0x61,0x12,0x67,0x64,0x14,0xfd,0x08,0xcc,0xb3,0x05,0x55,0xc0,0x67,
46560x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x32,0x31,0x33,0x31,0x38,0x35,0x33,0x5a,
46570x30,0x21,0x02,0x10,0x78,0x8a,0x56,0x22,0x08,0xce,0x42,0xee,0xd1,0xa3,0x79,
46580x10,0x14,0xfd,0x3a,0x36,0x17,0x0d,0x30,0x33,0x30,0x32,0x30,0x35,0x31,0x36,
46590x35,0x33,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x7a,0xa0,0x6c,0xba,0x33,0x02,
46600xac,0x5f,0xf5,0x0b,0xb6,0x77,0x61,0xef,0x77,0x09,0x17,0x0d,0x30,0x32,0x30,
46610x32,0x32,0x38,0x31,0x37,0x35,0x35,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x7b,
46620x91,0x33,0x66,0x6c,0xf0,0xd4,0xe3,0x9d,0xf6,0x88,0x29,0x9b,0xf7,0xd0,0xea,
46630x17,0x0d,0x30,0x32,0x31,0x31,0x32,0x30,0x32,0x32,0x31,0x36,0x34,0x39,0x5a,
46640x30,0x21,0x02,0x10,0x7c,0xef,0xf2,0x0a,0x08,0xae,0x10,0x57,0x1e,0xde,0xdc,
46650xd6,0x63,0x76,0xb0,0x5d,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x31,0x30,
46660x32,0x32,0x33,0x30,0x5a,0x30,0x21,0x02,0x10,0x7f,0x76,0xef,0x69,0xeb,0xf5,
46670x3f,0x53,0x2e,0xaa,0xa5,0xed,0xde,0xc0,0xb4,0x06,0x17,0x0d,0x30,0x32,0x30,
46680x35,0x30,0x31,0x30,0x33,0x33,0x33,0x30,0x37,0x5a,0x30,0x21,0x02,0x10,0x7f,
46690xcb,0x6b,0x99,0x91,0xd0,0x76,0xe1,0x3c,0x0e,0x67,0x15,0xc4,0xd4,0x4d,0x7b,
46700x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x32,0x31,0x31,0x38,0x34,0x30,0x5a,
46710x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x04,0x05,0x00,
46720x03,0x81,0x81,0x00,0x5c,0xb9,0xb3,0xbe,0xd3,0xd6,0x73,0xa3,0xfe,0x4a,0xb2,
46730x21,0x80,0xea,0xaa,0x05,0x61,0x14,0x1d,0x67,0xb1,0xdf,0xa6,0xf9,0x42,0x08,
46740x0d,0x59,0x62,0x9c,0x11,0x5f,0x0e,0x92,0xc5,0xc6,0xae,0x74,0x64,0xc7,0x84,
46750x3e,0x64,0x43,0xd2,0xec,0xbb,0xe1,0x9b,0x52,0x74,0x57,0xcf,0x96,0xef,0x68,
46760x02,0x7a,0x7b,0x36,0xb7,0xc6,0x9a,0x5f,0xca,0x9c,0x37,0x47,0xc8,0x3a,0x5c,
46770x34,0x35,0x3b,0x4b,0xca,0x20,0x77,0x44,0x68,0x07,0x02,0x34,0x46,0xaa,0x0f,
46780xd0,0x4d,0xd9,0x47,0xf4,0xb3,0x2d,0xb1,0x44,0xa5,0x69,0xa9,0x85,0x13,0x43,
46790xcd,0xcc,0x1d,0x9a,0xe6,0x2d,0xfd,0x9f,0xdc,0x2f,0x83,0xbb,0x8c,0xe2,0x8c,
46800x61,0xc0,0x99,0x16,0x71,0x05,0xb6,0x25,0x14,0x64,0x4f,0x30 };
4696 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
4709 ok(
info->cCRLEntry == 0,
"Expected 0 CRL entries, got %d\n",
4712 "Wrong issuer size %d\n",
info->Issuer.cbData);
4714 "Unexpected issuer\n");
4724 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %08x\n",
4737 ok(
info->cCRLEntry == 1,
"Expected 1 CRL entries, got %d\n",
4739 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4741 ok(
entry->SerialNumber.cbData == 1,
4742 "Expected serial number size 1, got %d\n",
4743 entry->SerialNumber.cbData);
4745 "Expected serial number %d, got %d\n", *
serialNum,
4746 *
entry->SerialNumber.pbData);
4748 "Wrong issuer size %d\n",
info->Issuer.cbData);
4750 "Unexpected issuer\n");
4763 ok(
info->cCRLEntry == 3,
"Expected 3 CRL entries, got %d\n",
4765 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4766 ok(
info->cExtension == 2,
"Expected 2 extensions, got %d\n",
4780 ok(
info->cCRLEntry == 209,
"Expected 209 CRL entries, got %d\n",
4782 ok(
info->cExtension == 0,
"Expected 0 extensions, got %d\n",
4797 ok(
info->cCRLEntry == 1,
"Expected 1 CRL entries, got %d\n",
4799 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4801 ok(
entry->SerialNumber.cbData == 1,
4802 "Expected serial number size 1, got %d\n",
4803 entry->SerialNumber.cbData);
4805 "Expected serial number %d, got %d\n", *
serialNum,
4806 *
entry->SerialNumber.pbData);
4808 "Wrong issuer size %d\n",
info->Issuer.cbData);
4810 "Unexpected issuer\n");
4811 ok(
info->cExtension == 1,
"Expected 1 extensions, got %d\n",
4823 ok(
info->cExtension == 1,
"Expected 1 extensions, got %d\n",
4832 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03,
4833 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x09,
4834 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01 };
4844 usage.cUsageIdentifier = 0;
4883 "Wrong size %d\n",
size);
4884 ok(
usage->cUsageIdentifier == 0,
"Expected 0 CRL entries, got %d\n",
4885 usage->cUsageIdentifier);
4898 "Wrong size %d\n",
size);
4900 "Wrong CRL entries count %d\n",
usage->cUsageIdentifier);
4901 for (
i = 0;
i <
usage->cUsageIdentifier;
i++)
4904 usage->rgpszUsageIdentifier[
i]);
4922 0x30,0x06,0x80,0x04,0x01,0x02,0x03,0x04 };
4924 0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,
4925 0x20,0x4c,0x61,0x6e,0x67,0x00 };
4958 info.KeyId.cbData = 0;
4972 info.CertIssuer.cbData = 0;
5003 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5004 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5005 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5018 ok(
info->KeyId.cbData ==
sizeof(
keyId),
"Unexpected key id len\n");
5020 "Unexpected key id\n");
5021 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5022 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5035 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5037 "Unexpected issuer len\n");
5040 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5053 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5054 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5056 "Unexpected serial number len\n");
5058 "Unexpected serial number\n");
5064 0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,
5099 info.KeyId.cbData = 0;
5100 info.AuthorityCertIssuer.cAltEntry = 1;
5101 info.AuthorityCertIssuer.rgAltEntry = &
entry;
5117 "Unexpected value\n");
5121 info.AuthorityCertIssuer.cAltEntry = 0;
5152 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5153 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5154 "Expected no issuer name entries\n");
5155 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5156 "Expected no serial number\n");
5169 ok(
info->KeyId.cbData ==
sizeof(
keyId),
"Unexpected key id len\n");
5171 "Unexpected key id\n");
5172 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5173 "Expected no issuer name entries\n");
5174 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5175 "Expected no serial number\n");
5188 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5189 ok(
info->AuthorityCertIssuer.cAltEntry == 1,
5190 "Expected 1 issuer entry, got %d\n",
5191 info->AuthorityCertIssuer.cAltEntry);
5192 ok(
info->AuthorityCertIssuer.rgAltEntry[0].dwAltNameChoice ==
5194 info->AuthorityCertIssuer.rgAltEntry[0].dwAltNameChoice);
5196 url),
"Unexpected URL\n");
5197 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5198 "Expected no serial number\n");
5211 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5212 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5213 "Expected no issuer name entries\n");
5215 "Unexpected serial number len\n");
5217 sizeof(
serialNum)),
"Unexpected serial number\n");
52230x30,0x19,0x30,0x17,0x06,0x02,0x2a,0x03,0x86,0x11,0x68,0x74,0x74,0x70,0x3a,
52240x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
52260x30,0x29,0x30,0x17,0x06,0x02,0x2a,0x03,0x86,0x11,0x68,0x74,0x74,0x70,0x3a,
52270x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67,0x30,0x0e,0x06,
52280x02,0x2d,0x06,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,0x01 };
5232 static char oid1[] =
"1.2.3";
5233 static char oid2[] =
"1.5.6";
5240 memset(accessDescription, 0,
sizeof(accessDescription));
5256 aia.rgAccDescr = accessDescription;
5261 "expected E_INVALIDARG or OSS_LIMITED, got %08x\n",
GetLastError());
5270 U(accessDescription[0].AccessLocation).pwszURL = (
LPWSTR)
url;
5279 "unexpected value\n");
5286 U(accessDescription[1].AccessLocation).IPAddress.cbData =
5288 U(accessDescription[1].AccessLocation).IPAddress.pbData =
5297 "unexpected size %d\n",
size);
5299 "unexpected value\n");
5312 "%s: expected %d access descriptions, got %d\n",
header,
5327 static char oid1[] =
"1.2.3";
5328 static char oid2[] =
"1.5.6";
5359 aia.rgAccDescr = &accessDescription;
5377 U(accessDescription[0].AccessLocation).pwszURL = (
LPWSTR)
url;
5381 U(accessDescription[1].AccessLocation).IPAddress.cbData =
5383 U(accessDescription[1].AccessLocation).IPAddress.pbData =
5386 aia.rgAccDescr = accessDescription;
54080x30,0x17,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54090x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54110x30,0x1a,0x02,0x01,0x01,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54120x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54140x30,0x1b,0x30,0x04,0x06,0x02,0x2a,0x03,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,
54150x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54170x30,0x1a,0x30,0x00,0x04,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54180x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54200x30,0x1a,0x30,0x00,0x02,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54210x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54230x30,0x15,0x30,0x00,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54240x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54260x30,0x24,0x30,0x00,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54270x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54280x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54300x30,0x1b,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54310x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x06,0x06,0x02,0x2d,0x06,0x05,0x00 };
54330x30,0x29,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54340x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x10,0x30,0x0e,0x04,
54350x01,0x01,0x31,0x09,0x30,0x07,0x06,0x02,0x2a,0x03,0x31,0x01,0x01 };
54370x30,0x2a,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54380x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x11,0x30,0x0f,0x04,
54390x01,0x01,0x31,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x31,0x02,0x30,0x00 };
54410x30,0x41,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54420x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x28,0x30,0x0f,0x04,
54430x01,0x01,0x31,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x31,0x02,0x30,0x00,0x30,
54440x15,0x04,0x01,0x01,0x31,0x10,0x30,0x0e,0x06,0x02,0x2d,0x06,0x31,0x08,0x30,
54450x06,0x87,0x04,0x7f,0x00,0x00,0x01 };
5449 static char oid1[] =
"1.2.3";
5450 static char oid2[] =
"1.5.6";
5456 SYSTEMTIME thisUpdate = { 2005, 6, 1, 6, 16, 10, 0, 0 };
5484 info.SubjectUsage.cUsageIdentifier = 1;
5485 info.SubjectUsage.rgpszUsageIdentifier = &pOid1;
5497 info.SubjectUsage.cUsageIdentifier = 0;
5510 info.ListIdentifier.cbData = 0;
5524 info.SequenceNumber.cbData = 0;
5548 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5549 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5550 info.SubjectAlgorithm.pszObjId = oid2;
5564 info.SubjectAlgorithm.pszObjId =
NULL;
5575 info.rgCTLEntry = ctlEntry;
5626 "%s: expected version %d, got %d\n",
header,
expected->dwVersion,
5628 ok(
expected->SubjectUsage.cUsageIdentifier ==
5630 "%s: expected %d usage identifiers, got %d\n",
header,
5631 expected->SubjectUsage.cUsageIdentifier,
5633 for (
i = 0;
i <
expected->SubjectUsage.cUsageIdentifier;
i++)
5636 "%s[%d]: expected %s, got %s\n",
header,
i,
5637 expected->SubjectUsage.rgpszUsageIdentifier[
i],
5640 "%s: expected list identifier of %d bytes, got %d\n",
header,
5642 if (
expected->ListIdentifier.cbData)
5645 "%s: unexpected list identifier value\n",
header);
5647 "%s: expected sequence number of %d bytes, got %d\n",
header,
5649 if (
expected->SequenceNumber.cbData)
5652 "%s: unexpected sequence number value\n",
header);
5654 "%s: expected this update = (%d, %d), got (%d, %d)\n",
header,
5658 "%s: expected next update = (%d, %d), got (%d, %d)\n",
header,
5661 if (
expected->SubjectAlgorithm.pszObjId &&
5663 ok(0,
"%s: expected subject algorithm %s, got NULL\n",
header,
5664 expected->SubjectAlgorithm.pszObjId);
5668 "%s: expected subject algorithm %s, got %s\n",
header,
5670 ok(
expected->SubjectAlgorithm.Parameters.cbData ==
5672 "%s: expected subject algorithm parameters of %d bytes, got %d\n",
header,
5673 expected->SubjectAlgorithm.Parameters.cbData,
5675 if (
expected->SubjectAlgorithm.Parameters.cbData)
5678 expected->SubjectAlgorithm.Parameters.cbData),
5679 "%s: unexpected subject algorithm parameter value\n",
header);
5681 "%s: expected %d CTL entries, got %d\n",
header,
expected->cCTLEntry,
5685 ok(
expected->rgCTLEntry[
i].SubjectIdentifier.cbData ==
5687 "%s[%d]: expected subject identifier of %d bytes, got %d\n",
5690 if (
expected->rgCTLEntry[
i].SubjectIdentifier.cbData)
5693 expected->rgCTLEntry[
i].SubjectIdentifier.cbData),
5694 "%s[%d]: unexpected subject identifier value\n",
5696 for (
j = 0;
j <
expected->rgCTLEntry[
i].cAttribute;
j++)
5700 "%s[%d][%d]: expected attribute OID %s, got %s\n",
header,
i,
j,
5701 expected->rgCTLEntry[
i].rgAttribute[
j].pszObjId,
5703 for (
k = 0;
k <
expected->rgCTLEntry[
i].rgAttribute[
j].cValue;
k++)
5705 ok(
expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData ==
5707 "%s[%d][%d][%d]: expected value of %d bytes, got %d\n",
5709 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData,
5711 if (
expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData)
5713 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].pbData,
5715 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData),
5716 "%s[%d][%d][%d]: unexpected value\n",
5722 "%s: expected %d extensions, got %d\n",
header,
expected->cExtension,
5731 "%s[%d]: expected fCritical = %d, got %d\n",
header,
i,
5735 "%s[%d]: expected extension value to have %d bytes, got %d\n",
5738 if (
expected->rgExtension[
i].Value.cbData)
5742 "%s[%d]: unexpected extension value\n",
header,
i);
57470x30,0x81,0xc7,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,0xa0,
57480x81,0xb9,0x30,0x81,0xb6,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,0x08,0x2a,
57490x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x28,0x06,0x09,0x2a,0x86,
57500x48,0x86,0xf7,0x0d,0x01,0x07,0x01,0xa0,0x1b,0x04,0x19,0x30,0x17,0x30,0x00,
57510x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
57520x30,0x5a,0x30,0x02,0x06,0x00,0x31,0x77,0x30,0x75,0x02,0x01,0x01,0x30,0x1a,
57530x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,
57540x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,
57550x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x04,0x06,0x00,0x05,
57560x00,0x04,0x40,0xca,0xd8,0x32,0xd1,0xbd,0x97,0x61,0x54,0xd6,0x80,0xcf,0x0d,
57570xbd,0xa2,0x42,0xc7,0xca,0x37,0x91,0x7d,0x9d,0xac,0x8c,0xdf,0x05,0x8a,0x39,
57580xc6,0x07,0xc1,0x37,0xe6,0xb9,0xd1,0x0d,0x26,0xec,0xa5,0xb0,0x8a,0x51,0x26,
57590x2b,0x4f,0x73,0x44,0x86,0x83,0x5e,0x2b,0x6e,0xcc,0xf8,0x1b,0x85,0x53,0xe9,
57600x7a,0x80,0x8f,0x6b,0x42,0x19,0x93 };
57620x30,0x82,0x01,0x0f,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,
57630xa0,0x82,0x01,0x00,0x30,0x81,0xfd,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,
57640x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x30,0x06,0x09,
57650x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x0a,0x01,0xa0,0x23,0x30,0x21,0x30,0x00,
57660x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
57670x30,0x5a,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,
57680x00,0x31,0x81,0xb5,0x30,0x81,0xb2,0x02,0x01,0x01,0x30,0x1a,0x30,0x15,0x31,
57690x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,
57700x4c,0x61,0x6e,0x67,0x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,
57710x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0xa0,0x3b,0x30,0x18,0x06,0x09,0x2a,0x86,
57720x48,0x86,0xf7,0x0d,0x01,0x09,0x03,0x31,0x0b,0x06,0x09,0x2b,0x06,0x01,0x04,
57730x01,0x82,0x37,0x0a,0x01,0x30,0x1f,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
57740x01,0x09,0x04,0x31,0x12,0x04,0x10,0x54,0x71,0xbc,0xe1,0x56,0x31,0xa2,0xf9,
57750x65,0x70,0x34,0xf8,0xe2,0xe9,0xb4,0xf4,0x30,0x04,0x06,0x00,0x05,0x00,0x04,
57760x40,0x2f,0x1b,0x9f,0x5a,0x4a,0x15,0x73,0xfa,0xb1,0x93,0x3d,0x09,0x52,0xdf,
57770x6b,0x98,0x4b,0x13,0x5e,0xe7,0xbf,0x65,0xf4,0x9c,0xc2,0xb1,0x77,0x09,0xb1,
57780x66,0x4d,0x72,0x0d,0xb1,0x1a,0x50,0x20,0xe0,0x57,0xa2,0x39,0xc7,0xcd,0x7f,
57790x8e,0xe7,0x5f,0x76,0x2b,0xd1,0x6a,0x82,0xb3,0x30,0x25,0x61,0xf6,0x25,0x23,
57800x57,0x6c,0x0b,0x47,0xb8 };
5784 static char oid1[] =
"1.2.3";
5785 static char oid2[] =
"1.5.6";
5786 static BYTE nullData[] = { 5,0 };
5792 SYSTEMTIME thisUpdate = { 2005, 6, 1, 6, 16, 10, 0, 0 };
5819 info.SubjectUsage.cUsageIdentifier = 1;
5820 info.SubjectUsage.rgpszUsageIdentifier = &pOid1;
5831 info.SubjectUsage.cUsageIdentifier = 0;
5843 info.ListIdentifier.cbData = 0;
5855 info.SequenceNumber.cbData = 0;
5877 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5878 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5879 info.SubjectAlgorithm.pszObjId = oid2;
5880 info.SubjectAlgorithm.Parameters.cbData =
sizeof(nullData);
5881 info.SubjectAlgorithm.Parameters.pbData = nullData;
5898 "expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %08x\n",
5900 info.SubjectAlgorithm.Parameters.cbData = 0;
5901 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5902 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5903 info.SubjectAlgorithm.pszObjId =
NULL;
5914 info.rgCTLEntry = ctlEntry;
5950 "expected CRYPT_E_ASN1_BADTAG or OSS_DATA_ERROR, got %08x\n",
5958 "expected CRYPT_E_ASN1_BADTAG or OSS_DATA_ERROR, got %08x\n",
5968 0x03,0x02,0x01,0x01 };
5977 char oid1[] =
"1.2.3";
5986 "Expected STATUS_ACCESS_VIOLATION, got %x\n",
GetLastError());
5993 "Expected E_INVALIDARG or OSS_LIMITED, got %x\n",
GetLastError());
6016 info.Content.cbData =
ints[0].encoded[1] + 2;
60280x30,0x80,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,0xa0,0x80,
60290x30,0x80,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,
60300xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x80,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,
60310x0d,0x01,0x07,0x01,0xa0,0x80,0x24,0x80,0x04,0x04,0x01,0x02,0x03,0x04,0x04,
60320x04,0x01,0x02,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x81,0xd2,0x30,
60330x81,0xcf,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,0x11,
60340x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
60350x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
60360x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
60370x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
60380x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
60390x00,0x30,0x5c,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,
60400x01,0x05,0x00,0x03,0x4b,0x00,0x30,0x48,0x02,0x41,0x00,0xe2,0x54,0x3a,0xa7,
60410x83,0xb1,0x27,0x14,0x3e,0x59,0xbb,0xb4,0x53,0xe6,0x1f,0xe7,0x5d,0xf1,0x21,
60420x68,0xad,0x85,0x53,0xdb,0x6b,0x1e,0xeb,0x65,0x97,0x03,0x86,0x60,0xde,0xf3,
60430x6c,0x38,0x75,0xe0,0x4c,0x61,0xbb,0xbc,0x62,0x17,0xa9,0xcd,0x79,0x3f,0x21,
60440x4e,0x96,0xcb,0x0e,0xdc,0x61,0x94,0x30,0x18,0x10,0x6b,0xd0,0x1c,0x10,0x79,
60450x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,
60460x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,0x31,
60470x77,0x30,0x75,0x02,0x01,0x01,0x30,0x1a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
60480x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
60490x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,
60500x05,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,0x40,0x57,0xba,0xe0,0xad,
60510xfe,0x36,0x8d,0xb3,0x88,0xa2,0x8d,0x84,0x82,0x52,0x09,0x09,0xd9,0xf0,0xb8,
60520x04,0xfa,0xb5,0x51,0x0b,0x2b,0x2e,0xd5,0x72,0x3e,0x3d,0x13,0x8a,0x51,0xc3,
60530x71,0x65,0x9a,0x52,0xf2,0x8f,0xb2,0x5b,0x39,0x28,0xb3,0x29,0x36,0xa5,0x8d,
60540xe3,0x55,0x71,0x91,0xf9,0x2a,0xd1,0xb8,0xaa,0x52,0xb8,0x22,0x3a,0xeb,0x61,
60550x00,0x00,0x00,0x00,0x00,0x00 };
6101 "1.2.3",
ints[0].encoded,
ints[0].encoded[1] + 2 },
6103 "1.2.840.113549.1.7.2",
NULL, 392 },
6122 "[%u] Unexpected size %d expected %d\n",
i,
info->Content.cbData,
6126 "[%u] Unexpected value\n",
i);
6138 "Expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %x\n",
6156 char oid[] =
"1.2.3";
6165 "Expected STATUS_ACCESS_VIOLATION, got %x\n",
GetLastError());
6172 "Expected E_INVALIDARG or OSS_LIMITED, got %x\n",
GetLastError());
6173 attr.pszObjId = oid;
6197 blob.cbData =
ints[0].encoded[1] + 2;
6223 ok(!
strcmp(
attr->pszObjId,
"1.2.3"),
"Expected 1.2.3, got %s\n",
6225 ok(
attr->cValue == 0,
"Expected no value, got %d\n",
attr->cValue);
6238 "Expected CRYPT_E_ASN1_EOD, CRYPT_E_ASN1_CORRUPT, or OSS_MORE_INPUT, got %x\n",
6248 ok(!
strcmp(
attr->pszObjId,
"1.2.3"),
"Expected 1.2.3, got %s\n",
6250 ok(
attr->cValue == 1,
"Expected 1 value, got %d\n",
attr->cValue);
6251 ok(
attr->rgValue[0].cbData ==
ints[0].encoded[1] + 2,
6252 "Unexpected size %d\n",
attr->rgValue[0].cbData);
6254 attr->rgValue[0].cbData),
"Unexpected value\n");
6261 0x2a,0x03,0x31,0x00 };
6263 0x2a,0x03,0x31,0x00,0x30,0x09,0x06,0x02,0x2d,0x06,0x31,0x03,0x02,0x01,0x01 };
6273 char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6284 attributes.
cAttr = 1;
6291 "Expected E_INVALIDARG or OSS_LIMITED, got %08x\n",
GetLastError());
6301 attr[1].pszObjId = oid2;
6305 blob.cbData =
ints[0].encoded[1] + 2;
6306 attributes.
cAttr = 2;
6332 ok(attributes->
cAttr == 0,
"Expected no attributes, got %d\n",
6343 ok(attributes->
cAttr == 1,
"Expected 1 attribute, got %d\n",
6348 "Expected no attributes, got %d\n", attributes->
rgAttr[0].
cValue);
6358 ok(attributes->
cAttr == 2,
"Expected 2 attributes, got %d\n",
6363 "Expected no attributes, got %d\n", attributes->
rgAttr[0].
cValue);
6367 "Expected 1 attribute, got %d\n", attributes->
rgAttr[1].
cValue);
63880x30,0x06,0x30,0x04,0x06,0x02,0x2d,0x06 };
63900x30,0x0c,0x30,0x04,0x06,0x02,0x2d,0x06,0x30,0x04,0x06,0x02,0x2a,0x03 };
63920x30,0x08,0x30,0x06,0x06,0x02,0x2d,0x06,0x05,0x00 };
6396 static char oid1[] =
"1.5.6", oid2[] =
"1.2.3";
6426 "Expected E_INVALIDARG or OSS_LIMITED, got %08x\n",
GetLastError());
6457 "%s: expected %d capabilities, got %d\n",
header,
expected->cCapability,
6467 "%s[%d]: expected %d bytes, got %d\n",
header,
i,
6468 expected->rgCapability[
i].Parameters.cbData,
6470 if (
expected->rgCapability[
i].Parameters.cbData)
6473 expected->rgCapability[
i].Parameters.cbData),
6474 "%s[%d]: unexpected value\n",
header,
i);
6480 static char oid1[] =
"1.5.6", oid2[] =
"1.2.3";
6518 BYTE NULLparam[] = {0x05, 0x00};
6558 0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
6561 0x30,0x2b,0x02,0x01,0x00,0x30,0x18,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6562 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6563 0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,0x00 };
6565 0x30,0x2c,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6566 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6567 0x01,0x01,0x30,0x04,0x06,0x00,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,
6570 0x30,0x2e,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6571 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6572 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x04,0x06,0x00,0x05,
6575 0x30,0x30,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6576 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6577 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x06,0x06,0x02,0x2d,
6578 0x06,0x05,0x00,0x04,0x00 };
6580 0x30,0x40,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6581 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6582 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x06,0x06,0x02,0x2d,
6583 0x06,0x05,0x00,0x04,0x10,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
6584 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f };
65860x30,0x62,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
65870x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
65880x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0xa0,0x20,0x30,0x1e,0x06,
65890x03,0x55,0x04,0x03,0x31,0x17,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,
65900x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x30,
65910x06,0x06,0x02,0x2d,0x06,0x05,0x00,0x04,0x10,0x00,0x01,0x02,0x03,0x04,0x05,
65920x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f };
6596 static char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6611 skip(
"no PKCS7_SIGNER_INFO encode support\n");
6616 "Expected E_INVALIDARG or OSS_LIMITED, got %08x\n",
GetLastError());
6639 ok(0,
"Unexpected value\n");
6661 "Unexpected value\n");
6663 ok(0,
"Unexpected value\n");
6667 info.HashAlgorithm.pszObjId =
oid1;
6684 "Unexpected value\n");
6686 ok(0,
"Unexpected value\n");
6690 info.HashEncryptionAlgorithm.pszObjId = oid2;
6703 "Unexpected size %d\n",
size);
6706 "Unexpected value\n");
6708 ok(0,
"Unexpected value\n");
6712 info.EncryptedHash.cbData =
sizeof(
hash);
6729 "Unexpected value\n");
6731 ok(0,
"Unexpected value\n");
6735 info.AuthAttrs.cAttr = 1;
6752 "Unexpected value\n");
6754 ok(0,
"Unexpected value\n");
6774 "Expected CRYPT_E_ASN1_CORRUPT or OSS_DATA_ERROR, got %x\n",
6784 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
6787 "Unexpected size %d\n",
info->Issuer.cbData);
6789 info->Issuer.cbData),
"Unexpected value\n");
6791 "Unexpected size %d\n",
info->SerialNumber.cbData);
6793 "Unexpected value\n");
6802 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
6805 "Unexpected size %d\n",
info->Issuer.cbData);
6807 info->Issuer.cbData),
"Unexpected value\n");
6809 "Unexpected size %d\n",
info->SerialNumber.cbData);
6811 "Unexpected value\n");
6813 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6823 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
6826 "Unexpected size %d\n",
info->Issuer.cbData);
6828 info->Issuer.cbData),
"Unexpected value\n");
6830 "Unexpected size %d\n",
info->SerialNumber.cbData);
6832 "Unexpected value\n");
6834 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6835 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId,
"1.5.6"),
6836 "Expected 1.5.6, got %s\n",
info->HashEncryptionAlgorithm.pszObjId);
6845 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
6848 "Unexpected size %d\n",
info->Issuer.cbData);
6850 info->Issuer.cbData),
"Unexpected value\n");
6852 "Unexpected size %d\n",
info->SerialNumber.cbData);
6854 "Unexpected value\n");
6856 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6857 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId,
"1.5.6"),
6858 "Expected 1.5.6, got %s\n",
info->HashEncryptionAlgorithm.pszObjId);
6859 ok(
info->EncryptedHash.cbData ==
sizeof(
hash),
"Unexpected size %d\n",
6860 info->EncryptedHash.cbData);
6862 "Unexpected value\n");
6871 ok(
info->AuthAttrs.cAttr == 1,
"Expected 1 attribute, got %d\n",
6872 info->AuthAttrs.cAttr);
6875 info->AuthAttrs.rgAttr[0].pszObjId);
6876 ok(
info->AuthAttrs.rgAttr[0].cValue == 1,
"Expected 1 value, got %d\n",
6877 info->AuthAttrs.rgAttr[0].cValue);
6878 ok(
info->AuthAttrs.rgAttr[0].rgValue[0].cbData ==
6880 info->AuthAttrs.rgAttr[0].rgValue[0].cbData);
6881 ok(!
memcmp(
info->AuthAttrs.rgAttr[0].rgValue[0].pbData,
68880x30,0x14,0x02,0x01,0x00,0x80,0x01,0x01,0x30,0x04,0x06,0x00,0x05,0x00,0x30,
68890x04,0x06,0x00,0x05,0x00,0x04,0x00 };
6897 static char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6902 ok(!
ret,
"Expected failure, got %d\n",
ret);
6905 skip(
"no CMS_SIGNER_INFO encode support\n");
6914 ok(!
ret,
"Expected failure, got %d\n",
ret);
6917 skip(
"no CMS_SIGNER_INFO encode support\n");
6927 U(
info.SignerId).IssuerSerialNumber.Issuer.cbData =
6946 U(
info.SignerId).IssuerSerialNumber.SerialNumber.cbData =
sizeof(
serialNum);
6990 U(
info.SignerId).HashId.cbData =
sizeof(
hash);
6999 U(
info.SignerId).IssuerSerialNumber.Issuer.cbData =
7002 info.HashAlgorithm.pszObjId =
oid1;
7017 "Unexpected value\n");
7021 info.HashEncryptionAlgorithm.pszObjId = oid2;
7034 "Unexpected size %d\n",
size);
7036 "Unexpected value\n");
7040 info.EncryptedHash.cbData =
sizeof(
hash);
7067 static const char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
7074 ok(!
ret,
"expected failure\n");
7077 skip(
"no CMS_SIGNER_INFO decode support\n");
7081 "Expected CRYPT_E_ASN1_CORRUPT, got %x\n",
GetLastError());
7089 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
7092 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %d\n",
7093 info->SignerId.dwIdChoice);
7094 ok(
U(
info->SignerId).IssuerSerialNumber.Issuer.cbData ==
7096 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData);
7097 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.Issuer.pbData,
7099 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData),
7100 "Unexpected value\n");
7101 ok(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData ==
7102 sizeof(
serialNum),
"Unexpected size %d\n",
7103 U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData);
7104 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.pbData,
7115 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
7118 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %d\n",
7119 info->SignerId.dwIdChoice);
7120 ok(
U(
info->SignerId).IssuerSerialNumber.Issuer.cbData ==
7122 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData);
7123 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.Issuer.pbData,
7125 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData),
7126 "Unexpected value\n");
7127 ok(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData ==
7128 sizeof(
serialNum),
"Unexpected size %d\n",
7129 U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData);
7130 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.pbData,
7133 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7144 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
7147 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %d\n",
7148 info->SignerId.dwIdChoice);
7149 ok(
U(
info->SignerId).IssuerSerialNumber.Issuer.cbData ==
7151 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData);
7152 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.Issuer.pbData,
7154 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData),
7155 "Unexpected value\n");
7156 ok(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData ==
7157 sizeof(
serialNum),
"Unexpected size %d\n",
7158 U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData);
7159 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.pbData,
7162 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7163 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId, oid2),
7164 "Expected %s, got %s\n", oid2,
info->HashEncryptionAlgorithm.pszObjId);
7174 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
7177 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %d\n",
7178 info->SignerId.dwIdChoice);
7179 ok(
U(
info->SignerId).IssuerSerialNumber.Issuer.cbData ==
7181 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData);
7182 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.Issuer.pbData,
7184 U(
info->SignerId).IssuerSerialNumber.Issuer.cbData),
7185 "Unexpected value\n");
7186 ok(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData ==
7187 sizeof(
serialNum),
"Unexpected size %d\n",
7188 U(
info->SignerId).IssuerSerialNumber.SerialNumber.cbData);
7189 ok(!
memcmp(
U(
info->SignerId).IssuerSerialNumber.SerialNumber.pbData,
7192 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7193 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId, oid2),
7194 "Expected %s, got %s\n", oid2,
info->HashEncryptionAlgorithm.pszObjId);
7195 ok(
info->EncryptedHash.cbData ==
sizeof(
hash),
"Unexpected size %d\n",
7196 info->EncryptedHash.cbData);
7198 "Unexpected value\n");
7208 ok(
info->dwVersion == 0,
"Expected version 0, got %d\n",
7211 "Expected CERT_ID_KEY_IDENTIFIER, got %d\n",
7212 info->SignerId.dwIdChoice);
7214 "Unexpected size %d\n",
U(
info->SignerId).KeyId.cbData);
7216 "Unexpected value\n");
72220x30,0x06,0xa0,0x04,0x30,0x02,0x82,0x00 };
72240x30,0x06,0xa1,0x04,0x30,0x02,0x82,0x00 };
72260x30,0x17,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,
72270x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
72290x30,0x25,0xa0,0x0c,0x30,0x0a,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
72300x01,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
72310x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
72330x30,0x28,0xa0,0x0f,0x30,0x0d,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
72340x01,0x80,0x01,0x05,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,
72350x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
72370x30,0x2b,0xa0,0x12,0x30,0x10,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
72380x01,0x80,0x01,0x05,0x81,0x01,0x03,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,
72390x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
7254 skip(
"no X509_NAME_CONSTRAINTS encode support\n");
7279 "Unexpected value\n");
7293 "Unexpected value\n");
7304 "Unexpected value\n");
7317 "Unexpected size\n");
7319 "Unexpected value\n");
7329 "Unexpected size\n");
7331 "Unexpected value\n");
7343 "Unexpected size\n");
7345 "Unexpected value\n");
7408 skip(
"no X509_NAME_CONSTRAINTS decode support\n");
7449static WCHAR noticeText[] = {
'T',
'h',
'i',
's',
' ',
'i',
's',
' ',
'a',
' ',
7450 'n',
'o',
't',
'i',
'c',
'e',0 };
7452 0x30,0x22,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,0x00,
7453 0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,0x74,
7454 0x00,0x69,0x00,0x63,0x00,0x65
7459 0x30,0x32,0x30,0x0e,0x16,0x04,0x57,0x69,0x6e,0x65,0x30,0x06,0x02,0x01,0x02,
7460 0x02,0x01,0x03,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,
7461 0x00,0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,
7462 0x74,0x00,0x69,0x00,0x63,0x00,0x65
7474 ret = pCryptEncodeObjectEx(dwEncoding,
7479 skip(
"no X509_PKIX_POLICY_QUALIFIER_USERNOTICE encode support\n");
7490 ret = pCryptEncodeObjectEx(dwEncoding,
7504 ret = pCryptEncodeObjectEx(dwEncoding,
7522 ret = pCryptDecodeObjectEx(dwEncoding,
7528 skip(
"no X509_PKIX_POLICY_QUALIFIER_USERNOTICE decode support\n");
7534 ok(
notice->pszDisplayText ==
NULL,
"unexpected display text\n");
7535 ok(
notice->pNoticeReference ==
NULL,
"unexpected notice reference\n");
7538 ret = pCryptDecodeObjectEx(dwEncoding,
7546 "unexpected display text\n");
7547 ok(
notice->pNoticeReference ==
NULL,
"unexpected notice reference\n");
7550 ret = pCryptDecodeObjectEx(dwEncoding,
7558 "unexpected display text\n");
7559 ok(
notice->pNoticeReference !=
NULL,
"expected a notice reference\n");
7560 if (
notice->pNoticeReference)
7563 "unexpected organization %s\n",
7564 notice->pNoticeReference->pszOrganization);
7565 ok(
notice->pNoticeReference->cNoticeNumbers == 2,
7566 "expected 2 notice numbers, got %d\n",
7567 notice->pNoticeReference->cNoticeNumbers);
7569 "unexpected notice number %d\n",
7570 notice->pNoticeReference->rgNoticeNumbers[0]);
7572 "unexpected notice number %d\n",
7573 notice->pNoticeReference->rgNoticeNumbers[1]);
7581 0x30,0x08,0x30,0x06,0x06,0x04,0x55,0x1d,0x20,0x00
7586 0x30,0x50,0x30,0x06,0x06,0x04,0x55,0x1d,0x20,0x00,0x30,0x46,0x06,0x02,0x2a,
7587 0x03,0x30,0x40,0x30,0x3e,0x06,0x08,0x2b,0x06,0x01,0x05,0x05,0x07,0x02,0x02,
7588 0x30,0x32,0x30,0x0e,0x16,0x04,0x57,0x69,0x6e,0x65,0x30,0x06,0x02,0x01,0x02,
7589 0x02,0x01,0x03,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,
7590 0x00,0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,
7591 0x74,0x00,0x69,0x00,0x63,0x00,0x65
7614 info.cPolicyInfo = 1;
7620 "expected E_INVALIDARG or OSS_LIMITED, got %08x\n",
GetLastError());
7636 policy[1].cPolicyQualifier = 1;
7638 info.cPolicyInfo = 2;
7662 ok(
info->cPolicyInfo == 0,
"unexpected policy info %d\n",
7672 ok(
info->cPolicyInfo == 1,
"unexpected policy info %d\n",
7675 "unexpected policy id %s\n",
7676 info->rgPolicyInfo[0].pszPolicyIdentifier);
7677 ok(
info->rgPolicyInfo[0].cPolicyQualifier == 0,
7678 "unexpected policy qualifier count %d\n",
7679 info->rgPolicyInfo[0].cPolicyQualifier);
7688 ok(
info->cPolicyInfo == 2,
"unexpected policy info %d\n",
7691 "unexpected policy id %s\n",
7692 info->rgPolicyInfo[0].pszPolicyIdentifier);
7693 ok(
info->rgPolicyInfo[0].cPolicyQualifier == 0,
7694 "unexpected policy qualifier count %d\n",
7695 info->rgPolicyInfo[0].cPolicyQualifier);
7697 "unexpected policy id %s\n",
7698 info->rgPolicyInfo[1].pszPolicyIdentifier);
7699 ok(
info->rgPolicyInfo[1].cPolicyQualifier == 1,
7700 "unexpected policy qualifier count %d\n",
7701 info->rgPolicyInfo[1].cPolicyQualifier);
7703 info->rgPolicyInfo[1].rgPolicyQualifier[0].pszPolicyQualifierId,
7705 info->rgPolicyInfo[1].rgPolicyQualifier[0].pszPolicyQualifierId);
7706 ok(
info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.cbData ==
7708 info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.cbData);
7710 info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.pbData,
7712 "unexpected qualifier value\n");
77290x30,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x06,0x02,0x53,0x04 };
77310x30,0x14,0x30,0x08,0x06,0x02,0x2a,0x03,0x06,0x02,0x53,0x04,0x30,0x08,0x06,
77320x02,0x2b,0x04,0x06,0x02,0x55,0x06 };
7738 static char oid2[] =
"2.3.4";
7739 static char oid3[] =
"1.3.4";
7740 static char oid4[] =
"2.5.6";
7757 win_skip(
"no policy mappings support\n");
7764 "unexpected value\n");
7769 info.cPolicyMapping = 1;
7777 mapping[0].pszSubjectDomainPolicy = oid2;
7784 "unexpected size %d\n",
size);
7786 "unexpected value\n");
7789 mapping[1].pszIssuerDomainPolicy = oid3;
7790 mapping[1].pszSubjectDomainPolicy = oid4;
7791 info.cPolicyMapping = 2;
7798 "unexpected size %d\n",
size);
7800 "unexpected value\n");
7822 win_skip(
"no policy mappings support\n");
7827 ok(
info->cPolicyMapping == 0,
7828 "expected 0 policy mappings, got %d\n",
info->cPolicyMapping);
7837 ok(
info->cPolicyMapping == 1,
7838 "expected 1 policy mappings, got %d\n",
info->cPolicyMapping);
7839 ok(!
strcmp(
info->rgPolicyMapping[0].pszIssuerDomainPolicy,
"1.2.3"),
7840 "unexpected issuer policy %s\n",
7841 info->rgPolicyMapping[0].pszIssuerDomainPolicy);
7842 ok(!
strcmp(
info->rgPolicyMapping[0].pszSubjectDomainPolicy,
7843 "2.3.4"),
"unexpected subject policy %s\n",
7844 info->rgPolicyMapping[0].pszSubjectDomainPolicy);
7853 ok(
info->cPolicyMapping == 2,
7854 "expected 2 policy mappings, got %d\n",
info->cPolicyMapping);
7855 ok(!
strcmp(
info->rgPolicyMapping[0].pszIssuerDomainPolicy,
"1.2.3"),
7856 "unexpected issuer policy %s\n",
7857 info->rgPolicyMapping[0].pszIssuerDomainPolicy);
7858 ok(!
strcmp(
info->rgPolicyMapping[0].pszSubjectDomainPolicy,
7859 "2.3.4"),
"unexpected subject policy %s\n",
7860 info->rgPolicyMapping[0].pszSubjectDomainPolicy);
7861 ok(!
strcmp(
info->rgPolicyMapping[1].pszIssuerDomainPolicy,
"1.3.4"),
7862 "unexpected issuer policy %s\n",
7863 info->rgPolicyMapping[1].pszIssuerDomainPolicy);
7864 ok(!
strcmp(
info->rgPolicyMapping[1].pszSubjectDomainPolicy,
7865 "2.5.6"),
"unexpected subject policy %s\n",
7866 info->rgPolicyMapping[1].pszSubjectDomainPolicy);
78860x30,0x03,0x80,0x01,0x00 };
78880x30,0x03,0x81,0x01,0x01 };
78900x30,0x06,0x80,0x01,0x01,0x81,0x01,0x01 };
7908 win_skip(
"no policy constraints support\n");
7915 "unexpected value\n");
7921 info.fRequireExplicitPolicy =
TRUE;
7928 "unexpected size %d\n",
size);
7935 info.dwRequireExplicitPolicySkipCerts = 0;
7937 info.dwInhibitPolicyMappingSkipCerts = 1;
7944 "unexpected size %d\n",
size);
7950 info.fRequireExplicitPolicy =
TRUE;
7951 info.dwRequireExplicitPolicySkipCerts = 1;
7981 win_skip(
"no policy mappings support\n");
7986 ok(!
info->fRequireExplicitPolicy,
7987 "expected require explicit = FALSE\n");
7988 ok(!
info->fInhibitPolicyMapping,
7989 "expected implicit mapping = FALSE\n");
7999 ok(
info->fRequireExplicitPolicy,
8000 "expected require explicit = TRUE\n");
8001 ok(
info->dwRequireExplicitPolicySkipCerts == 0,
"expected 0, got %d\n",
8002 info->dwRequireExplicitPolicySkipCerts);
8003 ok(!
info->fInhibitPolicyMapping,
8004 "expected implicit mapping = FALSE\n");
8014 ok(!
info->fRequireExplicitPolicy,
8015 "expected require explicit = FALSE\n");
8016 ok(
info->fInhibitPolicyMapping,
8017 "expected implicit mapping = TRUE\n");
8018 ok(
info->dwInhibitPolicyMappingSkipCerts == 1,
"expected 1, got %d\n",
8019 info->dwInhibitPolicyMappingSkipCerts);
8028 ok(
info->fRequireExplicitPolicy,
8029 "expected require explicit = TRUE\n");
8030 ok(
info->dwRequireExplicitPolicySkipCerts == 1,
"expected 1, got %d\n",
8031 info->dwRequireExplicitPolicySkipCerts);
8032 ok(
info->fInhibitPolicyMapping,
8033 "expected implicit mapping = TRUE\n");
8034 ok(
info->dwInhibitPolicyMappingSkipCerts == 1,
"expected 1, got %d\n",
8035 info->dwInhibitPolicyMappingSkipCerts);
80410x30,0x82,0x04,0xa5,0x02,0x01,0x00,0x02,0x82,0x01,0x01,0x00,
80420xae,0xba,0x3c,0x41,0xeb,0x25,0x41,0xb0,0x1c,0x41,0xd4,0x26,
80430xf9,0xf8,0x31,0x64,0x7e,0x97,0x65,0x54,0x9c,0x90,0xdf,0x34,
80440x07,0xfb,0xb0,0x69,0x99,0x3b,0x45,0x39,0x06,0xe4,0x3a,0x7a,
80450x01,0xe0,0xeb,0x3f,0xe1,0xd5,0x91,0xe0,0x16,0xe0,0xf2,0x35,
80460x59,0xdf,0x32,0x2d,0x69,0x3a,0x4a,0xbc,0xd1,0xba,0x1b,0x3b,
80470x7a,0x55,0x76,0xba,0x11,0xdd,0x2f,0xc7,0x58,0x66,0xf2,0x6c,
80480xd1,0x68,0x27,0x6c,0x85,0x74,0x0b,0xc9,0x7b,0x1a,0xde,0x3c,
80490x62,0x73,0xe2,0x9e,0x36,0x3a,0x29,0x3b,0x91,0x85,0x3d,0xd2,
80500xe1,0xe5,0x61,0x84,0x1e,0x28,0xfd,0xb7,0x97,0x68,0xc1,0xbb,
80510x0f,0x93,0x14,0xc2,0x03,0x60,0x41,0x11,0x7a,0xda,0x76,0x01,
80520x65,0x08,0xe6,0x0c,0xf6,0xfc,0x1d,0x64,0x12,0x7b,0x42,0xb0,
80530xb8,0xfe,0x61,0xe5,0xe2,0xe5,0x61,0x44,0xcc,0x94,0xe8,0xc0,
80540x4f,0x58,0x9a,0xea,0x99,0xaf,0x9c,0xa4,0xf2,0xd7,0x2b,0x31,
80550x90,0x3b,0x41,0x2e,0x4a,0x74,0x7c,0x1a,0xfc,0x42,0xa9,0x17,
80560xff,0x53,0x20,0x76,0xa7,0xf0,0x2c,0xb9,0xd5,0x1f,0xa9,0x8a,
80570x77,0xa8,0x09,0x5c,0x0e,0xd1,0x54,0xc5,0xf2,0x86,0xf1,0x2f,
80580x23,0xd6,0x63,0xba,0xe9,0x2b,0x73,0xf9,0xf0,0xdc,0xcb,0xf9,
80590xcb,0xe8,0x40,0x62,0x47,0x09,0x85,0xe1,0x9c,0xfd,0xcf,0x75,
80600x5a,0x65,0xfd,0x86,0x1c,0x50,0xfa,0x24,0x36,0x0f,0x54,0x5e,
80610x81,0xe7,0xf6,0x63,0x2d,0x87,0x0c,0x50,0x03,0x25,0x49,0xe7,
80620xc5,0x20,0xaa,0xbc,0x6c,0xf9,0xbe,0x49,0x8f,0x4f,0xb8,0x9a,
80630x73,0x9f,0x55,0x43,0x02,0x03,0x01,0x00,0x01,0x02,0x82,0x01,
80640x01,0x00,0x99,0x03,0xcd,0x5b,0x69,0x03,0x32,0x98,0x78,0xd6,
80650x89,0x65,0x2c,0xc9,0xd6,0xef,0x8c,0x11,0x27,0x93,0x46,0x9d,
80660x74,0x6a,0xcb,0x86,0xf6,0x02,0x34,0x47,0xfc,0xa2,0x29,0x4f,
80670xdb,0x8a,0x17,0x75,0x12,0x6f,0xda,0x65,0x3f,0x1f,0xc0,0xc9,
80680x74,0x33,0x96,0xa5,0xe8,0xfa,0x6d,0xc9,0xb7,0xc3,0xcd,0xe3,
80690x2e,0x90,0x12,0xdd,0x1f,0x61,0x69,0xdd,0x8b,0x47,0x07,0x3a,
80700xf8,0x98,0xa5,0x76,0x91,0xf7,0xee,0x93,0x26,0xf3,0x66,0x54,
80710xac,0x44,0xb3,0x6f,0x8b,0x09,0x44,0xb2,0x00,0x84,0x03,0x37,
80720x6d,0x61,0xed,0xa4,0x04,0x97,0x40,0x16,0x63,0xc2,0xd0,0xdc,
80730xd3,0xb3,0xee,0xba,0xbe,0x95,0xfd,0x80,0xe0,0xda,0xde,0xfc,
80740xcc,0x15,0x02,0x97,0x1d,0x68,0x43,0x2f,0x9c,0xc8,0x20,0x23,
80750xeb,0x00,0x4c,0x74,0x3d,0x27,0x20,0x14,0x23,0x95,0xfc,0x8c,
80760xb7,0x7e,0x7f,0xb0,0xdb,0xaf,0x8a,0x48,0x1b,0xfe,0x59,0xab,
80770x75,0xe2,0xbf,0x69,0xf2,0x73,0xe3,0xb9,0x92,0xa9,0x90,0x03,
80780xe5,0xd4,0x2d,0x86,0xff,0x12,0x54,0xb3,0xbb,0xe2,0xce,0x81,
80790x58,0x71,0xa4,0xde,0x45,0x05,0xf8,0x2d,0x45,0xf5,0xd8,0x5e,
80800x4c,0x5d,0x06,0x69,0x0c,0x86,0x9f,0x66,0x9f,0xb1,0x60,0xfd,
80810xf2,0x33,0x85,0x15,0xd5,0x18,0xf7,0xba,0x99,0x65,0x15,0x1d,
80820xfa,0xaa,0x76,0xdd,0x25,0xed,0xdf,0x90,0x6e,0xba,0x61,0x96,
80830x79,0xde,0xd2,0xda,0x66,0x03,0x74,0x3b,0x13,0x39,0x68,0xbc,
80840x94,0x01,0x00,0x2d,0xf8,0xf0,0x8c,0xbd,0x4c,0x9c,0x7e,0x87,
80850x9c,0x62,0x9f,0xb6,0x90,0x11,0x02,0x81,0x81,0x00,0xe3,0x5e,
80860xfe,0xdd,0xed,0x76,0xb6,0x4e,0xfc,0x5b,0xe0,0x20,0x99,0x7b,
80870x48,0x3b,0x1e,0x5f,0x7f,0x9f,0xa4,0x68,0xbe,0xc3,0x7f,0xb8,
80880x62,0x98,0xb0,0x95,0x8a,0xfa,0x0d,0xa3,0x79,0x63,0x39,0xf7,
80890xdb,0x76,0x3d,0x53,0x4a,0x0a,0x33,0xdf,0xe0,0x47,0x22,0xd5,
80900x96,0x80,0xc7,0xcd,0x24,0xef,0xac,0x49,0x46,0x37,0x6c,0x25,
80910xcf,0x6c,0x4d,0xe5,0x31,0xf8,0x2f,0xd2,0x59,0x74,0x00,0x38,
80920xdb,0xce,0xd1,0x72,0xc3,0xa8,0x30,0x70,0xd8,0x02,0x20,0xe7,
80930x56,0xe7,0xca,0xf0,0x3b,0x52,0x5d,0x11,0xbe,0x53,0x4e,0xd0,
80940xd9,0x2e,0xa6,0xb8,0xe2,0xd9,0xbf,0xb9,0x77,0xe7,0x3b,0xed,
80950x5e,0xd7,0x16,0x4a,0x3a,0xc5,0x86,0xd7,0x74,0x20,0xa7,0x8e,
80960xbf,0xb7,0x33,0xdb,0x51,0xe9,0x02,0x81,0x81,0x00,0xc4,0xba,
80970x57,0xf0,0x6e,0xcf,0xe8,0xce,0xce,0x9d,0x4a,0xe9,0x0f,0xe1,
80980xab,0x91,0x62,0xaa,0x66,0x5d,0x82,0x66,0x1c,0x72,0x18,0x6f,
80990x68,0x9c,0x7d,0x5e,0xfc,0xaf,0x4a,0xd6,0x8e,0xc6,0xae,0x40,
81000xf2,0x40,0x84,0x93,0xee,0x7c,0x87,0xa9,0xa6,0xcd,0x2b,0xc3,
81010xe6,0x29,0x3a,0xe2,0x4a,0xed,0xb0,0x4d,0x9f,0xc0,0xe9,0xd6,
81020xa3,0xca,0x97,0xee,0xac,0xab,0xa4,0x32,0x05,0x40,0x4d,0xf2,
81030x95,0x99,0xaf,0xa0,0xe1,0xe1,0xe7,0x3a,0x64,0xa4,0x70,0x6b,
81040x3d,0x1d,0x7b,0xf1,0x53,0xfa,0xb0,0xe0,0xe2,0x68,0x1a,0x61,
81050x2c,0x37,0xa5,0x39,0x7b,0xb2,0xcf,0xe6,0x5f,0x9b,0xc6,0x64,
81060xaf,0x48,0x86,0xfb,0xc1,0xf3,0x39,0x97,0x10,0x36,0xf5,0xa9,
81070x3d,0x08,0xa5,0x2f,0xe6,0x4b,0x02,0x81,0x81,0x00,0x86,0xe7,
81080x02,0x08,0xe2,0xaf,0xa0,0x93,0x54,0x9f,0x9e,0x67,0x39,0x29,
81090x30,0x3e,0x03,0x53,0x5e,0x01,0x76,0x26,0xbf,0xa8,0x76,0xcb,
81100x0b,0x94,0xd4,0x90,0xa5,0x98,0x9f,0x26,0xf3,0x0a,0xb0,0x86,
81110x22,0xac,0x10,0xce,0xae,0x0b,0x47,0xa3,0xf9,0x09,0xbb,0xdd,
81120x46,0x22,0xba,0x69,0x39,0x15,0x0a,0xff,0x9e,0xad,0x9b,0x79,
81130x03,0x8c,0x9a,0xda,0xf5,0xbe,0xef,0x80,0xba,0x9a,0x5c,0xd7,
81140x5f,0x73,0x62,0x49,0xd9,0x54,0x9d,0x09,0x16,0xe0,0x8c,0x6d,
81150x35,0xde,0xe9,0x45,0x87,0xac,0xe2,0x93,0x78,0x7d,0x2d,0x32,
81160x34,0xe9,0xbc,0xf9,0xcd,0x7e,0xac,0x86,0x7a,0x61,0xb3,0xe8,
81170xae,0x70,0xa7,0x44,0xfb,0x81,0xde,0xf3,0x4e,0x6f,0x61,0x7b,
81180x0c,0xbc,0xc2,0x03,0xca,0xa1,0x02,0x81,0x80,0x69,0x5b,0x4a,
81190xa1,0x4f,0x17,0x35,0x9d,0x1b,0xf6,0x0d,0x1a,0x48,0x11,0x19,
81200xab,0x20,0xe6,0x15,0x30,0x5b,0x17,0x88,0x80,0x6a,0x29,0xb0,
81210x22,0xae,0xd9,0xe2,0x05,0x96,0xd4,0xd5,0x5d,0xfe,0x10,0x76,
81220x2c,0xab,0x53,0xf6,0x52,0xe6,0xec,0xaa,0x92,0x12,0xb0,0x35,
81230x61,0x3b,0x51,0xd9,0xc2,0xf5,0xba,0x7c,0xa5,0xfa,0x15,0xa3,
81240x5e,0x6a,0x83,0xbe,0x21,0xa6,0x2b,0xcb,0xb8,0x26,0x86,0x96,
81250x2b,0xda,0x6d,0x14,0xcb,0xc0,0xe3,0xfa,0xe6,0x3d,0xf6,0x90,
81260xa2,0x6b,0xb0,0x50,0xc3,0x5f,0x5a,0xf0,0xa5,0xc4,0x0a,0xea,
81270x7d,0x5a,0x95,0x30,0x74,0x10,0xf7,0x55,0x98,0xbd,0x65,0x4a,
81280xa2,0x52,0xf8,0x1d,0x64,0xbf,0x20,0xf1,0xe4,0x1d,0x28,0x67,
81290xb1,0x6b,0x95,0xfd,0x85,0x02,0x81,0x81,0x00,0xda,0xb4,0x31,
81300x34,0xe1,0xec,0x9a,0x1e,0x07,0xd7,0xda,0x20,0x46,0xbf,0x6b,
81310xf0,0x45,0xbd,0x50,0xa2,0x0f,0x8a,0x14,0x51,0x52,0x83,0x7c,
81320x47,0xc8,0x9c,0x4e,0x68,0x6b,0xae,0x00,0x25,0x63,0xdd,0x13,
81330x2a,0x66,0x65,0xb6,0x74,0x91,0x5b,0xb6,0x47,0x3e,0x8e,0x46,
81340x62,0xcd,0x9d,0xc1,0xf7,0x14,0x14,0xbc,0x60,0xd6,0x3c,0x7c,
81350x3a,0xce,0xff,0x96,0x04,0x84,0xf6,0x44,0x1a,0xf8,0xdb,0x40,
81360x1c,0xf2,0xf1,0x4d,0xb2,0x68,0x3e,0xa3,0x0b,0xc6,0xb1,0xd0,
81370xa6,0x88,0x18,0x68,0xa1,0x05,0x2a,0xfc,0x2b,0x3a,0xa1,0xe6,
81380x31,0x4a,0x46,0x88,0x39,0x1e,0x44,0x11,0x6c,0xc5,0x8b,0xb6,
81390x8b,0xce,0x3d,0xd5,0xcb,0xbd,0xf0,0xd4,0xd9,0xfb,0x02,0x35,
81400x96,0x39,0x26,0x85,0xf9 };
81420x43,0x55,0x9f,0x73,0x9a,0xb8,0x4f,0x8f,0x49,0xbe,0xf9,0x6c,
81430xbc,0xaa,0x20,0xc5,0xe7,0x49,0x25,0x03,0x50,0x0c,0x87,0x2d,
81440x63,0xf6,0xe7,0x81,0x5e,0x54,0x0f,0x36,0x24,0xfa,0x50,0x1c,
81450x86,0xfd,0x65,0x5a,0x75,0xcf,0xfd,0x9c,0xe1,0x85,0x09,0x47,
81460x62,0x40,0xe8,0xcb,0xf9,0xcb,0xdc,0xf0,0xf9,0x73,0x2b,0xe9,
81470xba,0x63,0xd6,0x23,0x2f,0xf1,0x86,0xf2,0xc5,0x54,0xd1,0x0e,
81480x5c,0x09,0xa8,0x77,0x8a,0xa9,0x1f,0xd5,0xb9,0x2c,0xf0,0xa7,
81490x76,0x20,0x53,0xff,0x17,0xa9,0x42,0xfc,0x1a,0x7c,0x74,0x4a,
81500x2e,0x41,0x3b,0x90,0x31,0x2b,0xd7,0xf2,0xa4,0x9c,0xaf,0x99,
81510xea,0x9a,0x58,0x4f,0xc0,0xe8,0x94,0xcc,0x44,0x61,0xe5,0xe2,
81520xe5,0x61,0xfe,0xb8,0xb0,0x42,0x7b,0x12,0x64,0x1d,0xfc,0xf6,
81530x0c,0xe6,0x08,0x65,0x01,0x76,0xda,0x7a,0x11,0x41,0x60,0x03,
81540xc2,0x14,0x93,0x0f,0xbb,0xc1,0x68,0x97,0xb7,0xfd,0x28,0x1e,
81550x84,0x61,0xe5,0xe1,0xd2,0x3d,0x85,0x91,0x3b,0x29,0x3a,0x36,
81560x9e,0xe2,0x73,0x62,0x3c,0xde,0x1a,0x7b,0xc9,0x0b,0x74,0x85,
81570x6c,0x27,0x68,0xd1,0x6c,0xf2,0x66,0x58,0xc7,0x2f,0xdd,0x11,
81580xba,0x76,0x55,0x7a,0x3b,0x1b,0xba,0xd1,0xbc,0x4a,0x3a,0x69,
81590x2d,0x32,0xdf,0x59,0x35,0xf2,0xe0,0x16,0xe0,0x91,0xd5,0xe1,
81600x3f,0xeb,0xe0,0x01,0x7a,0x3a,0xe4,0x06,0x39,0x45,0x3b,0x99,
81610x69,0xb0,0xfb,0x07,0x34,0xdf,0x90,0x9c,0x54,0x65,0x97,0x7e,
81620x64,0x31,0xf8,0xf9,0x26,0xd4,0x41,0x1c,0xb0,0x41,0x25,0xeb,
81630x41,0x3c,0xba,0xae };
81650xe9,0x51,0xdb,0x33,0xb7,0xbf,0x8e,0xa7,0x20,0x74,0xd7,0x86,
81660xc5,0x3a,0x4a,0x16,0xd7,0x5e,0xed,0x3b,0xe7,0x77,0xb9,0xbf,
81670xd9,0xe2,0xb8,0xa6,0x2e,0xd9,0xd0,0x4e,0x53,0xbe,0x11,0x5d,
81680x52,0x3b,0xf0,0xca,0xe7,0x56,0xe7,0x20,0x02,0xd8,0x70,0x30,
81690xa8,0xc3,0x72,0xd1,0xce,0xdb,0x38,0x00,0x74,0x59,0xd2,0x2f,
81700xf8,0x31,0xe5,0x4d,0x6c,0xcf,0x25,0x6c,0x37,0x46,0x49,0xac,
81710xef,0x24,0xcd,0xc7,0x80,0x96,0xd5,0x22,0x47,0xe0,0xdf,0x33,
81720x0a,0x4a,0x53,0x3d,0x76,0xdb,0xf7,0x39,0x63,0x79,0xa3,0x0d,
81730xfa,0x8a,0x95,0xb0,0x98,0x62,0xb8,0x7f,0xc3,0xbe,0x68,0xa4,
81740x9f,0x7f,0x5f,0x1e,0x3b,0x48,0x7b,0x99,0x20,0xe0,0x5b,0xfc,
81750x4e,0xb6,0x76,0xed,0xdd,0xfe,0x5e,0xe3 };
81770x4b,0xe6,0x2f,0xa5,0x08,0x3d,0xa9,0xf5,0x36,0x10,0x97,0x39,
81780xf3,0xc1,0xfb,0x86,0x48,0xaf,0x64,0xc6,0x9b,0x5f,0xe6,0xcf,
81790xb2,0x7b,0x39,0xa5,0x37,0x2c,0x61,0x1a,0x68,0xe2,0xe0,0xb0,
81800xfa,0x53,0xf1,0x7b,0x1d,0x3d,0x6b,0x70,0xa4,0x64,0x3a,0xe7,
81810xe1,0xe1,0xa0,0xaf,0x99,0x95,0xf2,0x4d,0x40,0x05,0x32,0xa4,
81820xab,0xac,0xee,0x97,0xca,0xa3,0xd6,0xe9,0xc0,0x9f,0x4d,0xb0,
81830xed,0x4a,0xe2,0x3a,0x29,0xe6,0xc3,0x2b,0xcd,0xa6,0xa9,0x87,
81840x7c,0xee,0x93,0x84,0x40,0xf2,0x40,0xae,0xc6,0x8e,0xd6,0x4a,
81850xaf,0xfc,0x5e,0x7d,0x9c,0x68,0x6f,0x18,0x72,0x1c,0x66,0x82,
81860x5d,0x66,0xaa,0x62,0x91,0xab,0xe1,0x0f,0xe9,0x4a,0x9d,0xce,
81870xce,0xe8,0xcf,0x6e,0xf0,0x57,0xba,0xc4 };
81890xa1,0xca,0x03,0xc2,0xbc,0x0c,0x7b,0x61,0x6f,0x4e,0xf3,0xde,
81900x81,0xfb,0x44,0xa7,0x70,0xae,0xe8,0xb3,0x61,0x7a,0x86,0xac,
81910x7e,0xcd,0xf9,0xbc,0xe9,0x34,0x32,0x2d,0x7d,0x78,0x93,0xe2,
81920xac,0x87,0x45,0xe9,0xde,0x35,0x6d,0x8c,0xe0,0x16,0x09,0x9d,
81930x54,0xd9,0x49,0x62,0x73,0x5f,0xd7,0x5c,0x9a,0xba,0x80,0xef,
81940xbe,0xf5,0xda,0x9a,0x8c,0x03,0x79,0x9b,0xad,0x9e,0xff,0x0a,
81950x15,0x39,0x69,0xba,0x22,0x46,0xdd,0xbb,0x09,0xf9,0xa3,0x47,
81960x0b,0xae,0xce,0x10,0xac,0x22,0x86,0xb0,0x0a,0xf3,0x26,0x9f,
81970x98,0xa5,0x90,0xd4,0x94,0x0b,0xcb,0x76,0xa8,0xbf,0x26,0x76,
81980x01,0x5e,0x53,0x03,0x3e,0x30,0x29,0x39,0x67,0x9e,0x9f,0x54,
81990x93,0xa0,0xaf,0xe2,0x08,0x02,0xe7,0x86 };
82010x85,0xfd,0x95,0x6b,0xb1,0x67,0x28,0x1d,0xe4,0xf1,0x20,0xbf,
82020x64,0x1d,0xf8,0x52,0xa2,0x4a,0x65,0xbd,0x98,0x55,0xf7,0x10,
82030x74,0x30,0x95,0x5a,0x7d,0xea,0x0a,0xc4,0xa5,0xf0,0x5a,0x5f,
82040xc3,0x50,0xb0,0x6b,0xa2,0x90,0xf6,0x3d,0xe6,0xfa,0xe3,0xc0,
82050xcb,0x14,0x6d,0xda,0x2b,0x96,0x86,0x26,0xb8,0xcb,0x2b,0xa6,
82060x21,0xbe,0x83,0x6a,0x5e,0xa3,0x15,0xfa,0xa5,0x7c,0xba,0xf5,
82070xc2,0xd9,0x51,0x3b,0x61,0x35,0xb0,0x12,0x92,0xaa,0xec,0xe6,
82080x52,0xf6,0x53,0xab,0x2c,0x76,0x10,0xfe,0x5d,0xd5,0xd4,0x96,
82090x05,0xe2,0xd9,0xae,0x22,0xb0,0x29,0x6a,0x80,0x88,0x17,0x5b,
82100x30,0x15,0xe6,0x20,0xab,0x19,0x11,0x48,0x1a,0x0d,0xf6,0x1b,
82110x9d,0x35,0x17,0x4f,0xa1,0x4a,0x5b,0x69 };
82130xf9,0x85,0x26,0x39,0x96,0x35,0x02,0xfb,0xd9,0xd4,0xf0,0xbd,
82140xcb,0xd5,0x3d,0xce,0x8b,0xb6,0x8b,0xc5,0x6c,0x11,0x44,0x1e,
82150x39,0x88,0x46,0x4a,0x31,0xe6,0xa1,0x3a,0x2b,0xfc,0x2a,0x05,
82160xa1,0x68,0x18,0x88,0xa6,0xd0,0xb1,0xc6,0x0b,0xa3,0x3e,0x68,
82170xb2,0x4d,0xf1,0xf2,0x1c,0x40,0xdb,0xf8,0x1a,0x44,0xf6,0x84,
82180x04,0x96,0xff,0xce,0x3a,0x7c,0x3c,0xd6,0x60,0xbc,0x14,0x14,
82190xf7,0xc1,0x9d,0xcd,0x62,0x46,0x8e,0x3e,0x47,0xb6,0x5b,0x91,
82200x74,0xb6,0x65,0x66,0x2a,0x13,0xdd,0x63,0x25,0x00,0xae,0x6b,
82210x68,0x4e,0x9c,0xc8,0x47,0x7c,0x83,0x52,0x51,0x14,0x8a,0x0f,
82220xa2,0x50,0xbd,0x45,0xf0,0x6b,0xbf,0x46,0x20,0xda,0xd7,0x07,
82230x1e,0x9a,0xec,0xe1,0x34,0x31,0xb4,0xda };
82250x11,0x90,0xb6,0x9f,0x62,0x9c,0x87,0x7e,0x9c,0x4c,0xbd,0x8c,
82260xf0,0xf8,0x2d,0x00,0x01,0x94,0xbc,0x68,0x39,0x13,0x3b,0x74,
82270x03,0x66,0xda,0xd2,0xde,0x79,0x96,0x61,0xba,0x6e,0x90,0xdf,
82280xed,0x25,0xdd,0x76,0xaa,0xfa,0x1d,0x15,0x65,0x99,0xba,0xf7,
82290x18,0xd5,0x15,0x85,0x33,0xf2,0xfd,0x60,0xb1,0x9f,0x66,0x9f,
82300x86,0x0c,0x69,0x06,0x5d,0x4c,0x5e,0xd8,0xf5,0x45,0x2d,0xf8,
82310x05,0x45,0xde,0xa4,0x71,0x58,0x81,0xce,0xe2,0xbb,0xb3,0x54,
82320x12,0xff,0x86,0x2d,0xd4,0xe5,0x03,0x90,0xa9,0x92,0xb9,0xe3,
82330x73,0xf2,0x69,0xbf,0xe2,0x75,0xab,0x59,0xfe,0x1b,0x48,0x8a,
82340xaf,0xdb,0xb0,0x7f,0x7e,0xb7,0x8c,0xfc,0x95,0x23,0x14,0x20,
82350x27,0x3d,0x74,0x4c,0x00,0xeb,0x23,0x20,0xc8,0x9c,0x2f,0x43,
82360x68,0x1d,0x97,0x02,0x15,0xcc,0xfc,0xde,0xda,0xe0,0x80,0xfd,
82370x95,0xbe,0xba,0xee,0xb3,0xd3,0xdc,0xd0,0xc2,0x63,0x16,0x40,
82380x97,0x04,0xa4,0xed,0x61,0x6d,0x37,0x03,0x84,0x00,0xb2,0x44,
82390x09,0x8b,0x6f,0xb3,0x44,0xac,0x54,0x66,0xf3,0x26,0x93,0xee,
82400xf7,0x91,0x76,0xa5,0x98,0xf8,0x3a,0x07,0x47,0x8b,0xdd,0x69,
82410x61,0x1f,0xdd,0x12,0x90,0x2e,0xe3,0xcd,0xc3,0xb7,0xc9,0x6d,
82420xfa,0xe8,0xa5,0x96,0x33,0x74,0xc9,0xc0,0x1f,0x3f,0x65,0xda,
82430x6f,0x12,0x75,0x17,0x8a,0xdb,0x4f,0x29,0xa2,0xfc,0x47,0x34,
82440x02,0xf6,0x86,0xcb,0x6a,0x74,0x9d,0x46,0x93,0x27,0x11,0x8c,
82450xef,0xd6,0xc9,0x2c,0x65,0x89,0xd6,0x78,0x98,0x32,0x03,0x69,
82460x5b,0xcd,0x03,0x99 };
8258 "Expected CRYPT_E_ASN1_EOD, got %08x\n",
8272 static const int bitlen = 2048;
8275 BYTE *prime2 = prime1 + bitlen/16;
8276 BYTE *exponent1 = prime2 + bitlen/16;
8277 BYTE *exponent2 = exponent1 + bitlen/16;
8278 BYTE *coefficient = exponent2 + bitlen/16;
8279 BYTE *privateExponent = coefficient + bitlen/16;
8289 "Expected version CUR_BLOB_VERSION (%d), got %d\n",
8291 ok(
hdr->reserved == 0,
"Expected reserved 0, got %d\n",
8294 "Expected CALG_RSA_KEYX, got %08x\n",
hdr->aiKeyAlg);
8296 ok(rsaPubKey->
magic == 0x32415352,
8297 "Expected magic 0x32415352, got 0x%x\n", rsaPubKey->
magic);
8299 "Expected bitlen %d, got %d\n", bitlen, rsaPubKey->
bitlen);
8301 "Expected pubexp 65537, got %d\n", rsaPubKey->
pubexp);
8304 "unexpected modulus\n");
8306 "unexpected prime1\n");
8308 "unexpected prime2\n");
8310 "unexpected exponent1\n");
8312 "unexpected exponent2\n");
8314 "unexpected coefficient\n");
8316 "unexpected privateExponent\n");
8334 "Expected ERROR_INVALID_PARAMETER, got %08x\n",
GetLastError());
8338 "Expected ERROR_INVALID_PARAMETER, got %08x\n",
GetLastError());
8342 "Expected ERROR_INVALID_PARAMETER, got %08x\n",
GetLastError());
8346 "Expected ERROR_INVALID_PARAMETER, got %08x\n",
GetLastError());
8364 ok(
ret,
"CryptExportPublicKeyInfoEx failed: %08x\n",
8373 (*pInfo)->Algorithm.pszObjId);
8381 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xc4, 0xd7, 0x7f, 0x0e, 0x6f, 0xa6,
8382 0x8c, 0xaa, 0x47, 0x47, 0x40, 0xe7, 0xb7, 0x0b, 0x4a, 0x7f, 0x30, 0x09, 0x06,
8383 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d, 0x05, 0x00, 0x30, 0x1f, 0x31, 0x1d, 0x30,
8384 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x61, 0x72, 0x69, 0x63, 0x40,
8385 0x63, 0x6f, 0x64, 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63,
8386 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x36, 0x39, 0x30, 0x31, 0x30, 0x31, 0x30,
8387 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x37, 0x30, 0x30, 0x31, 0x30,
8388 0x31, 0x30, 0x36, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1f, 0x31, 0x1d, 0x30,
8389 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x61, 0x72, 0x69, 0x63, 0x40,
8390 0x63, 0x6f, 0x64, 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63,
8391 0x6f, 0x6d, 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
8392 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00, 0x30, 0x48, 0x02, 0x41,
8393 0x00, 0xa1, 0xaf, 0x4a, 0xea, 0xa7, 0x83, 0x57, 0xc0, 0x37, 0x33, 0x7e, 0x29,
8394 0x5e, 0x0d, 0xfc, 0x44, 0x74, 0x3a, 0x1d, 0xc3, 0x1b, 0x1d, 0x96, 0xed, 0x4e,
8395 0xf4, 0x1b, 0x98, 0xec, 0x69, 0x1b, 0x04, 0xea, 0x25, 0xcf, 0xb3, 0x2a, 0xf5,
8396 0xd9, 0x22, 0xd9, 0x8d, 0x08, 0x39, 0x81, 0xc6, 0xe0, 0x4f, 0x12, 0x37, 0x2a,
8397 0x3f, 0x80, 0xa6, 0x6c, 0x67, 0x43, 0x3a, 0xdd, 0x95, 0x0c, 0xbb, 0x2f, 0x6b,
8398 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
8399 0x1d, 0x05, 0x00, 0x03, 0x41, 0x00, 0x8f, 0xa2, 0x5b, 0xd6, 0xdf, 0x34, 0xd0,
8400 0xa2, 0xa7, 0x47, 0xf1, 0x13, 0x79, 0xd3, 0xf3, 0x39, 0xbd, 0x4e, 0x2b, 0xa3,
8401 0xf4, 0x63, 0x37, 0xac, 0x5a, 0x0c, 0x5e, 0x4d, 0x0d, 0x54, 0x87, 0x4f, 0x31,
8402 0xfb, 0xa0, 0xce, 0x8f, 0x9a, 0x2f, 0x4d, 0x48, 0xc6, 0x84, 0x8d, 0xf5, 0x70,
8403 0x74, 0x17, 0xa5, 0xf3, 0x66, 0x47, 0x06, 0xd6, 0x64, 0x45, 0xbc, 0x52, 0xef,
8404 0x49, 0xe5, 0xf9, 0x65, 0xf3 };
8423 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
8426 "Expected ERROR_FILE_NOT_FOUND, got %08x\n",
GetLastError());
8430 "Expected ERROR_INVALID_PARAMETER, got %08x\n",
GetLastError());
8442 ok(
dwSize ==
sizeof(ai),
"CryptGetKeyParam returned size %d\n",
dwSize);
8443 ok(ai ==
CALG_RSA_KEYX,
"Default ALG_ID is %04x (expected CALG_RSA_KEYX)\n", ai);
8458 ok(
dwSize ==
sizeof(ai),
"CryptGetKeyParam returned size %d\n",
dwSize);
8459 ok(ai ==
CALG_RSA_SIGN,
"ALG_ID is %04x (expected CALG_RSA_SIGN)\n", ai);
8467 ok(
context !=
NULL,
"CertCreateCertificateContext failed: %08x\n",
8472 context->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId),
8474 context->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId);
8496 ok(
ret,
"CryptAcquireContextA failed\n");
8505 ok(
ret,
"CryptAcquireContextA failed\n");
8516 pCryptDecodeObjectEx = (
void*)
GetProcAddress(hCrypt32,
"CryptDecodeObjectEx");
8517 pCryptEncodeObjectEx = (
void*)
GetProcAddress(hCrypt32,
"CryptEncodeObjectEx");
8518 if (!pCryptDecodeObjectEx || !pCryptEncodeObjectEx)
8520 win_skip(
"CryptDecodeObjectEx() is not available\n");
int strcmp(const char *String1, const char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
ACPI_SIZE strlen(const char *String)
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
_In_ fcb _In_ chunk _In_ uint64_t _In_ uint64_t _In_ bool _In_opt_ void _In_opt_ PIRP _In_ LIST_ENTRY _In_ uint8_t _In_ uint64_t decoded_size
BOOL WINAPI CryptDestroyKey(HCRYPTKEY hKey)
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
BOOL WINAPI CryptAcquireContextA(HCRYPTPROV *phProv, LPCSTR pszContainer, LPCSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
BOOL WINAPI CryptGenKey(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKEY *phKey)
BOOL WINAPI CryptGetKeyParam(HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
PCCERT_CONTEXT WINAPI CertCreateCertificateContext(DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded)
BOOL WINAPI CryptExportPublicKeyInfoEx(HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProv, DWORD dwKeySpec, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo)
BOOL WINAPI CryptImportPublicKeyInfoEx(HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, ALG_ID aiKeyAlg, DWORD dwFlags, void *pvAuxInfo, HCRYPTKEY *phKey)
static WCHAR aia[MAX_STRING_RESOURCE_LEN]
#define ERROR_INVALID_PARAMETER
#define GetProcAddress(x, y)
#define HeapFree(x, y, z)
static const WCHAR *const ext[]
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
BOOL WINAPI FileTimeToSystemTime(IN CONST FILETIME *lpFileTime, OUT LPSYSTEMTIME lpSystemTime)
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum GLenum GLenum GLenum mapping
GLsizeiptr const GLvoid GLenum usage
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
HLOCAL NTAPI LocalFree(HLOCAL hMem)
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
int WINAPI lstrlenA(LPCSTR lpString)
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static struct test_info tests[]
#define sprintf(buf, format,...)
static const BYTE distPointWithIssuer[]
static void test_decodeCertToBeSigned(DWORD dwEncoding)
static const BYTE mod2_encoded[]
static const BYTE policyConstraintsWithRequireExplicit[]
static const char surName[]
static void test_decodeOctets(DWORD dwEncoding)
static const BYTE rsaPrivKeyDer[]
static void compareRDNs(const CERT_RDN *expected, const CERT_RDN *got)
static const BYTE indefiniteSignedPKCSContent[]
static CERT_EXTENSION nonCriticalExt
static void test_encodeEnumerated(DWORD dwEncoding)
static struct EncodedNameValue embeddedNullNameValue
static const unsigned char encoded_empty_octet[]
static void test_encodeName(DWORD dwEncoding)
static void test_encodePolicyQualifierUserNotice(DWORD dwEncoding)
static const unsigned char bin53[]
static const BYTE bin43[]
static void test_decodeAuthorityKeyId(DWORD dwEncoding)
static const unsigned char encoded_constructed_hi_octet[]
static void test_decodeName(DWORD dwEncoding)
static const BYTE v1CRL[]
static void test_encodeAltName(DWORD dwEncoding)
static const struct EncodedRSAPubKey rsaPubKeys[]
static const BYTE encodedIPAddr[]
static const unsigned char bin59[]
static void test_encodeInt(DWORD dwEncoding)
static void testTimeEncoding(DWORD dwEncoding, LPCSTR structType, const struct encodedFiletime *time)
static void test_decodeCTL(DWORD dwEncoding)
static const char cspName[]
static void test_encodeRsaPublicKey(DWORD dwEncoding)
static void test_decodeCRLIssuingDistPoint(DWORD dwEncoding)
static const BYTE bin35[]
static const BYTE emptyPKCSContentInfo[]
static const BYTE badFlagsIDP[]
static const unsigned char bin65[]
static const BYTE emptyPKCSContentInfoExtraBytes[]
static const BYTE noticeWithDisplayText[]
static const BYTE emptyCTL[]
static void compareDistPointName(const CRL_DIST_POINT_NAME *expected, const CRL_DIST_POINT_NAME *got)
static const BYTE twoRDNsExtraBytes[]
static void test_decodeCertPolicyMappings(DWORD dwEncoding)
static const BYTE v3Cert[]
static void test_decodePKCSAttributes(DWORD dwEncoding)
static const BYTE doublePKCSAttributes[]
static const BYTE mod4_encoded[]
static const BYTE bin33[]
static const WCHAR dnsName[]
static const unsigned char bin63[]
static const BYTE bin38[]
static void compareSMimeCapabilities(LPCSTR header, const CRYPT_SMIME_CAPABILITIES *expected, const CRYPT_SMIME_CAPABILITIES *got)
static BYTE nihongoUTF8[]
static const BYTE ctlWithOneEntry[]
static const BYTE bin27[]
static const char * printFileTime(const FILETIME *ft)
static const BYTE policyMappingWithTwoMappings[]
static char embedded_null[]
static const BYTE v2CRLWithExt[]
static const BYTE CMSSignerWithKeyId[]
static const BYTE bin19[]
static const unsigned char bin68[]
static const BYTE encodedTwoRDNs[]
static void test_encodePKCSAttribute(DWORD dwEncoding)
static char oid_any_policy[]
static const BYTE policyMappingWithOneMapping[]
static const BYTE minimalPKCSSigner[]
static BYTE generalCommonNameValue[]
static const BYTE bin36[]
static const BYTE bin13[]
static void test_encodePKCSSMimeCapabilities(DWORD dwEncoding)
static const BYTE ctlWithUsageIdentifier[]
static CERT_GENERAL_SUBTREE IPAddressWithMinSubtree
static const BYTE bin21[]
static BYTE crit_ext_data[]
static void test_decodeCMSSignerInfo(DWORD dwEncoding)
static const BYTE bytesToEncode[]
static CERT_GENERAL_SUBTREE DNSSubtree
static const BYTE serialNum[]
static void test_encodeCTL(DWORD dwEncoding)
static void compareRDNAttrs(const CERT_RDN_ATTR *expected, const CERT_RDN_ATTR *got)
static void test_decodeNameValue(DWORD dwEncoding)
static const BYTE twoPolicies[]
static const BYTE bin32[]
static const BYTE bin11[]
static const BYTE bigCert[]
static const BYTE rsaPrivKeyPrime1[]
static BYTE emptyDNSPermittedConstraints[]
static const BYTE intPKCSAttr[]
static void compareAltNameInfo(const CERT_ALT_NAME_INFO *expected, const CERT_ALT_NAME_INFO *got)
static const BYTE modulus1[]
static const struct encodedInt enums[]
static CERT_RDN_ATTR decodedRdnAttrs[]
static const BYTE v1Cert[]
static BYTE ia5CommonNameValue[]
static const BYTE modulus4[]
static void compareNameValues(const CERT_NAME_VALUE *expected, const CERT_NAME_VALUE *got)
static const BYTE emptyCTLWithVersion1[]
static BYTE emptyDNSExcludedConstraints[]
static const unsigned char encoded_constructed_hi_octet_invalid_end[]
static const BYTE mod3_encoded[]
static void test_encodeExtensions(DWORD dwEncoding)
static CERT_EXTENSION extWithShortOid
static void test_decodePKCSAttribute(DWORD dwEncoding)
static void test_encodeCertPolicyConstraints(DWORD dwEncoding)
static const unsigned char encoded_something_long_octet[]
static const LPCSTR enumeratedTypes[]
static const unsigned char bin71[]
static const BYTE content_constructed_abcd[]
static void test_decodeBasicConstraints(DWORD dwEncoding)
static const unsigned char encodedCommonName[]
static const BYTE v2CRL[]
static BYTE onePrintable[]
static const BYTE emptyDistPoint[]
static void test_decodePublicKeyInfo(DWORD dwEncoding)
static char oid_user_notice[]
static void test_encodeCertPolicies(DWORD dwEncoding)
static const BYTE twoRDNsNoNull[]
static const BYTE emptyIndefiniteSequence[]
static void test_decodeAuthorityKeyId2(DWORD dwEncoding)
static struct UnicodeExpectedError unicodeErrors[]
static CHAR oid_basic_constraints2[]
static void test_decodeCRLDistPoints(DWORD dwEncoding)
static const BYTE v1CertWithSubjectIssuerSerialAndIssuerUniqueId[]
static const BYTE authorityInfoAccessWithUrl[]
static const BYTE authorityKeyIdWithIssuer[]
static void test_decodePKCSSignerInfo(DWORD dwEncoding)
static const BYTE ctlWithThisAndNextUpdate[]
static const LPCSTR mappingOids[]
static const BYTE bin26[]
static const BYTE PKCSSignerWithHashAndEncryptionAlgo[]
static const BYTE intPKCSContentInfo[]
static BYTE DNSExcludedConstraints[]
static void test_encodeCert(DWORD dwEncoding)
static const BYTE verisignCRL[]
static const BYTE singleCapabilitywithNULL[]
static const BYTE ctlWithTwoEntries[]
static const BYTE signedCTL[]
static const BYTE modulus2[]
static const BYTE emptyPKCSAttributes[]
static const BYTE minnesota[]
static const BYTE bin30[]
static void compareCRLIssuingDistPoints(const CRL_ISSUING_DIST_POINT *expected, const CRL_ISSUING_DIST_POINT *got)
static void test_decodeInt(DWORD dwEncoding)
static const BYTE modulus3[]
static void test_decodeCertPolicies(DWORD dwEncoding)
static int noticeNumbers[]
static const BYTE bin10[]
static void test_decodeBits(DWORD dwEncoding)
static BYTE visibleCommonNameValue[]
static void testExportPublicKey(HCRYPTPROV csp, PCERT_PUBLIC_KEY_INFO *pInfo)
static CERT_GENERAL_SUBTREE IPAddressSubtree
static void test_encodeAuthorityInfoAccess(DWORD dwEncoding)
static const WCHAR quoteW[]
static const unsigned char bin61[]
static BYTE printableCommonNameValue[]
static const char bogusPrintable[]
static const BYTE signedCTLWithCTLInnerContent[]
static void test_encodeBasicConstraints(DWORD dwEncoding)
static void compareTime(const SYSTEMTIME *expected, const FILETIME *got)
static const BYTE bin15[]
static void test_encodeCRLDistPoints(DWORD dwEncoding)
static const BYTE bogusPKCSContentInfo[]
static void test_encodeBits(DWORD dwEncoding)
static const unsigned char bin60[]
static const BYTE encoded_abcd[]
static const BYTE v1CRLWithExt[]
static void test_decodeRsaPublicKey(DWORD dwEncoding)
static void test_encodeFiletime(DWORD dwEncoding)
static const struct encodedPublicKey pubKeys[]
static void test_decodeNameConstraints(DWORD dwEncoding)
static const struct encodedInt ints[]
static void test_encodeUnicodeNameValue(DWORD dwEncoding)
static BYTE oneUniversal[]
static void test_decodeExtensions(DWORD dwEncoding)
static void test_encodeEnhancedKeyUsage(DWORD dwEncoding)
static void test_decodePKCSSMimeCapabilities(DWORD dwEncoding)
static void test_decodeAltName(DWORD dwEncoding)
static const BYTE codeweavers[]
static WCHAR commonNameW[]
static const BYTE authorityKeyIdWithId[]
static const WCHAR oneW[]
static const unsigned char bin62[]
static void test_decodeEnhancedKeyUsage(DWORD dwEncoding)
static BYTE numericCommonNameValue[]
static const BYTE rsaPrivKeyModulus[]
static const char commonName[]
static void compareCTLInfo(LPCSTR header, const CTL_INFO *expected, const CTL_INFO *got)
static const BYTE bin14[]
static const BYTE content_abcd[]
static void test_decodeAuthorityInfoAccess(DWORD dwEncoding)
static void test_encodeCRLToBeSigned(DWORD dwEncoding)
static const BYTE v1CertWithPubKeyNoNull[]
static const BYTE policyConstraintsWithInhibitMapping[]
static const BYTE PCRYPT_DECODE_PARA
static const BYTE ctlWithListIdentifier[]
static BYTE bmpCommonNameValue[]
static void test_encodeNameValue(DWORD dwEncoding)
static const unsigned char bin57[]
static const BYTE policyConstraintsWithBoth[]
static void test_encodeUnicodeName(DWORD dwEncoding)
static void comparePublicKeyInfo(const CERT_PUBLIC_KEY_INFO *expected, const CERT_PUBLIC_KEY_INFO *got)
static const BYTE distPointWithUrl[]
static const LPCSTR keyUsages[]
static const BYTE bin28[]
static void test_encodeSequenceOfAny(DWORD dwEncoding)
static const BYTE bin31[]
static const unsigned char bin69[]
static const BYTE intSequence[]
static const BYTE twoCapabilities[]
static CHAR oid_codeweavers[]
static const BYTE authorityKeyIdWithIssuerUrl[]
static CHAR oid_localhostAttr[]
static CERT_GENERAL_SUBTREE emptyDNSSubtree
static const unsigned char decoded_something_long_octet[]
static void test_decodePolicyQualifierUserNotice(DWORD dwEncoding)
static BYTE permittedAndExcludedWithMinMaxConstraints[]
static const BYTE anyType[]
static const BYTE bin12[]
static const BYTE v1CertWithPubKey[]
static const BYTE params[]
static const BYTE policiesWithAnyPolicy[]
static const BYTE crlReason
static const BYTE authorityInfoAccessWithUrlAndIPAddr[]
static const BYTE authorityKeyIdWithSerial[]
static const BYTE emptyConstraint[]
static const unsigned char bin52[]
static const BYTE expiredCert[]
static void test_encodePKCSAttributes(DWORD dwEncoding)
static BYTE noticeWithReference[]
static const BYTE v1CRLWithEntryExt[]
static WCHAR noticeText[]
static const BYTE v2Cert[]
static const BYTE ctlWithThisUpdate[]
static const BYTE v1CertWithConstraints[]
static BYTE videotexCommonNameValue[]
static struct UnicodeExpectedResult unicodeResults[]
static void test_encodePKCSContentInfo(DWORD dwEncoding)
static BYTE noncrit_ext_data[]
static const struct encodedFiletime times[]
static const BYTE v1CRLWithIssuerAndEmptyEntry[]
static BYTE nihongoGeneral[]
static const BYTE v1CertWithSerial[]
static const unsigned char bin64[]
static void test_encodePublicKeyInfo(DWORD dwEncoding)
static const BYTE encodedRDNAttrs[]
static CHAR oid_minnesota[]
static void test_encodeCRLIssuingDistPoint(DWORD dwEncoding)
static const BYTE emptyNameIDP[]
static const BYTE bin18[]
static const BYTE rsaPrivKeyExponent1[]
static CERT_EXTENSION criticalExt
static const BYTE bin17[]
static const BYTE v1CertWithSubjectKeyId[]
static const BYTE PKCSSignerWithHash[]
static const unsigned char bin56[]
static const BYTE distPointWithReason[]
static const BYTE mixedSequence[]
static const BYTE localhostAttr[]
static BYTE permittedAndExcludedConstraints[]
static const BYTE emptyPKCSAttr[]
static void test_encodeCertPolicyMappings(DWORD dwEncoding)
static unsigned char bin72[]
static const BYTE mod1_encoded[]
static BYTE encodedCommonNameNoNull[]
static const BYTE v1CertWithIssuerUniqueId[]
static const BYTE constraintWithDomainName[]
static const BYTE void DWORD *static const void PCRYPT_ENCODE_PARA
static void testTimeDecoding(DWORD dwEncoding, LPCSTR structType, const struct encodedFiletime *time)
static void test_encodeCMSSignerInfo(DWORD dwEncoding)
static void testImportPublicKey(HCRYPTPROV csp, PCERT_PUBLIC_KEY_INFO info)
static BYTE utf8CommonNameValue[]
static void test_encodePKCSSignerInfo(DWORD dwEncoding)
static const unsigned char bin66[]
static const BYTE bin22[]
static const BYTE bin23[]
static const unsigned char bin67[]
static const BYTE ctlWithSequenceNumber[]
static const BYTE encodedUsage[]
static void test_decodeCRLToBeSigned(DWORD dwEncoding)
static const BYTE signedBigCert[]
static void test_decodeCert(DWORD dwEncoding)
static const BYTE bin37[]
static const BYTE rsaPrivKeyExponent2[]
static const BYTE bin42[]
static const BYTE bin24[]
static struct UnicodeExpectedResult unicodeWeirdness[]
static const BYTE encodedOidName[]
static const BYTE PKCSSignerWithAuthAttr[]
static void test_encodeAuthorityKeyId(DWORD dwEncoding)
static const BYTE signedBigCertWithIndefiniteSeq[]
static const BYTE bogusPKCSAttr[]
static void test_encodeNameConstraints(DWORD dwEncoding)
static void testPortPublicKeyInfo(void)
static const BYTE rsaPrivKeyCoefficient[]
static const BYTE bin34[]
static void compareAltNameEntry(const CERT_ALT_NAME_ENTRY *expected, const CERT_ALT_NAME_ENTRY *got)
static const BYTE rsaPrivKeyPrivateExponent[]
static void compareNames(const CERT_NAME_INFO *expected, const CERT_NAME_INFO *got)
static const struct Constraints2 constraints2[]
static const BYTE v1CertWithSubjectIssuerSerialAndIssuerUniqueIdNoNull[]
static const BYTE verisignCRLWithLotsOfEntries[]
static const BYTE PKCSSignerWithHashAlgo[]
static const unsigned char bin70[]
static const BYTE v1CRLWithIssuerAndEntry[]
static const struct encodedBigInt bigUInts[]
static BYTE graphicCommonNameValue[]
static const BYTE emptyURLExtraBytes[]
static const char * printSystemTime(const SYSTEMTIME *st)
static const BYTE twoRDNs[]
static void test_encodeOctets(DWORD dwEncoding)
static void test_decodeUnicodeNameValue(DWORD dwEncoding)
static const unsigned char encoded_constructed_hi_octet2[]
static void test_decodeCertPolicyConstraints(DWORD dwEncoding)
static const BYTE rsaPrivKeyPrime2[]
static const BYTE emptySequence[]
static const BYTE encodedURL[]
static const BYTE bin25[]
static CERT_RDN_ATTR rdnAttrs[]
static struct EncodedNameValue nameValues[]
static BYTE octetCommonNameValue[]
static const BYTE bin29[]
static BYTE oneVideotex[]
static void test_decodeFiletime(DWORD dwEncoding)
static const BYTE localhost[]
static const BYTE bin16[]
static const char bogusIA5[]
static BYTE ia5EmbeddedNull[]
static const char bogusNumeric[]
static CERT_GENERAL_SUBTREE IPAddressWithMinMaxSubtree
static const BYTE minneapolis[]
static const unsigned char decoded_hi_octet[]
static const BYTE PKCSSignerWithSerial[]
static const unsigned char bin54[]
static const BYTE singleCapability[]
static void test_decodeRsaPrivateKey(DWORD dwEncoding)
static void test_decodePKCSContentInfo(DWORD dwEncoding)
static const BYTE v4Cert[]
static const struct encodedBigInt bigInts[]
static const BYTE ctlWithBogusEntry[]
static BYTE t61CommonNameValue[]
static void test_decodeSequenceOfAny(DWORD dwEncoding)
static const BYTE bin20[]
static const BYTE bin44[]
static const BYTE ctlWithAlgId[]
static const struct EncodedNameConstraints encodedNameConstraints[]
static const unsigned char bin55[]
static const WCHAR nihongoURL[]
static void test_decodeEnumerated(DWORD dwEncoding)
static const BYTE emptyURL[]
static void test_encodeAuthorityKeyId2(DWORD dwEncoding)
static void compareAuthorityInfoAccess(LPCSTR header, const CERT_AUTHORITY_INFO_ACCESS *expected, const CERT_AUTHORITY_INFO_ACCESS *got)
static const BYTE encodedDnsName[]
static const BYTE encodedDirectoryName[]
static const BYTE emptyRDNs[]
static const unsigned char encoded_constructed_hi_octet3[]
static const struct encodedExtensions exts[]
static CHAR oid_minneapolis[]
static const BYTE v1CRLWithIssuer[]
static const BYTE encodedDomainName[]
static const BYTE distPointWithUrlAndIssuer[]
static void test_decodeUnicodeName(DWORD dwEncoding)
static const BYTE urlIDP[]
static void test_encodeCertToBeSigned(DWORD dwEncoding)
static const unsigned char encoded_hi_octet[]
static BYTE permittedAndExcludedWithMinConstraints[]
static const BYTE singlePKCSAttributes[]
static APTTYPEQUALIFIER * qualifier
#define STATUS_ACCESS_VIOLATION
#define strncmpW(s1, s2, n)
#define ASN_OBJECTIDENTIFIER
CERT_BASIC_CONSTRAINTS2_INFO info
CERT_NAME_CONSTRAINTS_INFO constraints
CERT_ALT_NAME_ENTRY AccessLocation
PCERT_ALT_NAME_ENTRY rgAltEntry
PCERT_ACCESS_DESCRIPTION rgAccDescr
PCERT_GENERAL_SUBTREE rgPermittedSubtree
PCERT_GENERAL_SUBTREE rgExcludedSubtree
CERT_RDN_VALUE_BLOB Value
CRYPT_ALGORITHM_IDENTIFIER Algorithm
CERT_RDN_VALUE_BLOB Value
DWORD dwDistPointNameChoice
CRL_DIST_POINT_NAME DistPointName
BOOL fOnlyContainsUserCerts
CRYPT_BIT_BLOB OnlySomeReasonFlags
BOOL fOnlyContainsCACerts
CRYPT_OBJID_BLOB Parameters
PCRYPT_SMIME_CAPABILITY rgCapability
CRYPT_OBJID_BLOB Parameters
CRYPT_DATA_BLOB SubjectIdentifier
PCRYPT_ATTRIBUTE rgAttribute
CRYPT_INTEGER_BLOB SequenceNumber
CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm
CRYPT_DATA_BLOB ListIdentifier
PCERT_EXTENSION rgExtension
LPSTR * rgpszUsageIdentifier
CERT_PUBLIC_KEY_INFO info
CERT_PUBLIC_KEY_INFO decoded
const BYTE * encodedNoNull
DWORD WINAPI GetLastError(void)
#define X509_ISSUING_DIST_POINT
#define X509_AUTHORITY_KEY_ID2
#define CERT_ID_ISSUER_SERIAL_NUMBER
#define CERT_RDN_UTF8_STRING
#define CERT_RDN_IA5_STRING
#define CERT_RDN_GENERAL_STRING
#define CRL_REASON_AFFILIATION_CHANGED
#define X509_POLICY_MAPPINGS
#define X509_CERT_TO_BE_SIGNED
#define X509_UNICODE_NAME
#define CERT_RDN_PRINTABLE_STRING
#define szOID_POLICY_MAPPINGS
#define CERT_ALT_NAME_URL
#define X509_MULTI_BYTE_UINT
#define X509_OCTET_STRING
#define szOID_BASIC_CONSTRAINTS2
#define X509_MULTI_BYTE_INTEGER
#define CRL_DIST_POINT_ISSUER_RDN_NAME
#define CERT_ALT_NAME_DIRECTORY_NAME
#define CERT_ID_KEY_IDENTIFIER
#define CERT_ALT_NAME_IP_ADDRESS
#define szOID_LEGACY_POLICY_MAPPINGS
#define X509_AUTHORITY_INFO_ACCESS
#define GET_CERT_ALT_NAME_VALUE_ERR_INDEX(x)
#define CERT_ALT_NAME_EDI_PARTY_NAME
#define CERT_RDN_UNIVERSAL_STRING
#define szOID_PKIX_KP_CLIENT_AUTH
#define CERT_ALT_NAME_RFC822_NAME
#define PKCS_CONTENT_INFO
#define CERT_RDN_VISIBLE_STRING
#define szOID_PKIX_KP_CODE_SIGNING
#define CRYPT_DELETEKEYSET
#define CRL_DIST_POINT_NO_NAME
#define CRYPT_DECODE_SHARE_OID_STRING_FLAG
#define X509_ASN_ENCODING
#define X509_CHOICE_OF_TIME
#define CRYPT_DECODE_ALLOC_FLAG
#define CRL_DIST_POINT_FULL_NAME
#define szOID_SUBJECT_KEY_IDENTIFIER
#define X509_AUTHORITY_KEY_ID
struct _CERT_NAME_VALUE * PCERT_NAME_VALUE
#define CERT_RDN_VIDEOTEX_STRING
#define szOID_CRL_REASON_CODE
#define X509_CERT_POLICIES
#define RSA_CSP_PUBLICKEYBLOB
#define szOID_RSA_signingTime
#define X509_SEQUENCE_OF_ANY
#define CERT_ALT_NAME_DNS_NAME
#define PKCS7_SIGNER_INFO
#define CERT_RDN_T61_STRING
#define PKCS_RSA_PRIVATE_KEY
#define X509_BASIC_CONSTRAINTS2
struct _PUBLICKEYSTRUC BLOBHEADER
#define PKCS_SMIME_CAPABILITIES
#define CERT_RDN_OCTET_STRING
#define CRYPT_ENCODE_ALLOC_FLAG
#define CERT_RDN_ENCODED_BLOB
#define szOID_RSA_SHA1RSA
#define CERT_RDN_NUMERIC_STRING
#define X509_PUBLIC_KEY_INFO
#define X509_ALTERNATE_NAME
#define szOID_COMMON_NAME
#define CERT_ID_SHA1_HASH
#define PKCS_7_ASN_ENCODING
struct _CRL_DIST_POINTS_INFO * PCRL_DIST_POINTS_INFO
#define CERT_RDN_TELETEX_STRING
#define X509_NAME_CONSTRAINTS
#define CERT_RDN_BMP_STRING
#define X509_CRL_DIST_POINTS
#define X509_CERT_CRL_TO_BE_SIGNED
#define X509_BASIC_CONSTRAINTS
#define CERT_ALT_NAME_REGISTERED_ID
#define CERT_RDN_ANY_TYPE
#define X509_ENHANCED_KEY_USAGE
#define CERT_ALT_NAME_X400_ADDRESS
#define X509_PKIX_POLICY_QUALIFIER_USERNOTICE
#define CRL_REASON_KEY_COMPROMISE
#define CERT_RDN_GRAPHIC_STRING
#define X509_POLICY_CONSTRAINTS
#define X509_UNICODE_NAME_VALUE
#define CRYPT_E_INVALID_PRINTABLE_STRING
#define CRYPT_E_ASN1_CORRUPT
#define CRYPT_E_NOT_CHAR_STRING
#define CRYPT_E_BAD_ENCODE
#define CRYPT_E_ASN1_LARGE
#define CRYPT_E_INVALID_IA5_STRING
#define CRYPT_E_INVALID_NUMERIC_STRING
#define CRYPT_E_ASN1_BADTAG