33 for (
i = 0;
i <
len;
i++) {
46static const BYTE bin3[] = {0x02,0x02,0x00,0x80};
47static const BYTE bin4[] = {0x02,0x02,0x01,0x00};
49static const BYTE bin6[] = {0x02,0x02,0xff,0x7f};
50static const BYTE bin7[] = {0x02,0x04,0xba,0xdd,0xf0,0x0d};
69static const BYTE bin8[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
70static const BYTE bin9[] = {0x02,0x0a,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0};
71static const BYTE bin10[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
73static const BYTE bin11[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0xff,0};
74static const BYTE bin12[] = {0x02,0x09,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
75static const BYTE bin13[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0};
82static const BYTE bin14[] = {0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
83static const BYTE bin15[] = {0x02,0x0a,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0};
84static const BYTE bin16[] = {0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01,0xff,0xff,0xff,0};
85static const BYTE bin17[] = {0x02,0x0c,0x00,0xff,0xff,0xff,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0};
109 "Expected ERROR_FILE_NOT_FOUND, got %ld\n",
GetLastError());
114 "Expected STATUS_ACCESS_VIOLATION, got %08lx\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 %ld\n",
GetLastError());
230 "Expected CRYPT_E_ASN1_EOD, got %08lx\n",
GetLastError());
235 "Expected CRYPT_E_ASN1_LARGE, got %ld\n",
GetLastError());
240 "Expected CRYPT_E_ASN1_BADTAG, got %08lx\n",
GetLastError());
249 "Expected success and NOERROR, got %ld\n",
GetLastError());
255 ok(
buf !=
NULL,
"Expected allocated buffer\n");
269 "Expected success and NOERROR, got %ld\n",
GetLastError());
275 ok(
buf !=
NULL,
"Expected allocated buffer\n");
284 "Unexpected value\n");
294 "Expected success and NOERROR, got %ld\n",
GetLastError());
300 ok(
buf !=
NULL,
"Expected allocated buffer\n");
309 "Unexpected value\n");
319 ok(*(
int *)
buf == 1,
"Expected 1, got %d\n", *(
int *)
buf);
328 ok(*(
int *)
buf == 1,
"Expected 1, got %d\n", *(
int *)
buf);
351 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
356static const BYTE bin19[] = {0x0a,0x05,0x00,0xff,0xff,0xff,0x80};
391 "Got unexpected type %d for enumerated (expected 0xa)\n",
397 "Encoded value of 0x%08x didn't match expected\n",
422 "Got unexpected size %ld for enumerated\n",
bufSize);
451 (
time->sysTime.wYear >= 1950 &&
time->sysTime.wYear <= 2050))
455 ok(
buf !=
NULL,
"Expected an allocated buffer\n");
459 "Expected type 0x%02x, got 0x%02x\n",
time->encodedTime[0],
461 ok(
buf[1] ==
time->encodedTime[1],
"Expected %d bytes, got %ld\n",
464 "Got unexpected value for time encoding\n");
470 "Expected CRYPT_E_BAD_ENCODE, got 0x%08lx\n",
GetLastError());
505 "Got unexpected value for time decoding:\nexpected %s, got %s\n",
522 (
time->sysTime.wYear >= 1950 &&
time->sysTime.wYear <= 2050))
531 "Expected CRYPT_E_ASN1_BADTAG, got %08lx\n",
GetLastError());
535 0x17,0x0d,
'0',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
537 0x18,0x0f,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
539 0x18,0x0f,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'Z'};
542 { { 2005, 6, 1, 6, 16, 10, 0, 0 },
bin20 },
543 { { 1945, 6, 1, 6, 16, 10, 0, 0 },
bin21 },
544 { { 2145, 6, 1, 6, 16, 10, 0, 0 },
bin22 },
560 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'.',
'0',
'0',
'0',
'Z'};
562 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'.',
'9',
'9',
'9',
'Z'};
564 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'+',
'0',
'1',
'0',
'0'};
566 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'-',
'0',
'1',
'0',
'0'};
568 0x18,0x13,
'1',
'9',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'0',
'0',
'-',
'0',
'1',
'1',
'5'};
570 0x18,0x0a,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6'};
572 0x17,0x0a,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0'};
574 0x17,0x0b,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'Z'};
576 0x17,0x0d,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'+',
'0',
'1'};
578 0x17,0x0d,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'-',
'0',
'1'};
580 0x17,0x0f,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'+',
'0',
'1',
'0',
'0'};
582 0x17,0x0f,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6',
'1',
'0',
'-',
'0',
'1',
'0',
'0'};
584 0x17,0x08,
'4',
'5',
'0',
'6',
'0',
'6',
'1',
'6'};
586 0x18,0x0f,
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'a',
'Z'};
588 0x18,0x04,
'2',
'1',
'4',
'5'};
590 0x18,0x08,
'2',
'1',
'4',
'5',
'0',
'6',
'0',
'6'};
595 { { 1945, 6, 1, 6, 16, 10, 0, 0 },
bin23 },
596 { { 1945, 6, 1, 6, 16, 10, 0, 999 },
bin24 },
597 { { 1945, 6, 1, 6, 17, 10, 0, 0 },
bin25 },
598 { { 1945, 6, 1, 6, 15, 10, 0, 0 },
bin26 },
599 { { 1945, 6, 1, 6, 14, 55, 0, 0 },
bin27 },
600 { { 2145, 6, 1, 6, 16, 0, 0, 0 },
bin28 },
601 { { 2045, 6, 1, 6, 16, 10, 0, 0 },
bin29 },
602 { { 2045, 6, 1, 6, 16, 10, 0, 0 },
bin30 },
603 { { 2045, 6, 1, 6, 17, 10, 0, 0 },
bin31 },
604 { { 2045, 6, 1, 6, 15, 10, 0, 0 },
bin32 },
605 { { 2045, 6, 1, 6, 17, 10, 0, 0 },
bin33 },
606 { { 2045, 6, 1, 6, 15, 10, 0, 0 },
bin34 },
611 static const unsigned char *bogusTimes[] = {
649 bogusTimes[
i], bogusTimes[
i][1] + 2, 0,
NULL, &ft1, &
size);
651 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
661 0x30,0x23,0x31,0x21,0x30,0x0c,0x06,0x03,0x55,0x04,0x04,
662 0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
663 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0};
6650x30,0x2e,0x31,0x2c,0x30,0x2a,0x06,0x03,0x55,0x04,0x03,0x30,0x23,0x31,0x21,
6660x30,0x0c,0x06,0x03,0x55,0x04,0x04,0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,
6670x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
675 0x6f, 0x6c, 0x69, 0x73 };
677 0x76, 0x65, 0x72, 0x73 };
678static const BYTE wine[] = { 0x57, 0x69, 0x6e, 0x65, 0x20, 0x44, 0x65, 0x76,
679 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74 };
682static const BYTE aric[] = { 0x61, 0x72, 0x69, 0x63, 0x40, 0x63, 0x6f, 0x64,
683 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63, 0x6f, 0x6d };
685#define RDNA(arr) oid_ ## arr, CERT_RDN_PRINTABLE_STRING, { sizeof(arr), (LPBYTE)arr }
686#define RDNIA5(arr) oid_ ## arr, CERT_RDN_IA5_STRING, { sizeof(arr), (LPBYTE)arr }
7140x30,0x81,0x96,0x31,0x81,0x93,0x30,0x09,0x06,0x03,0x55,0x04,0x06,0x13,0x02,0x55,
7150x53,0x30,0x10,0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x6c,0x6f,0x63,0x61,0x6c,0x68,
7160x6f,0x73,0x74,0x30,0x10,0x06,0x03,0x55,0x04,0x08,0x13,0x09,0x4d,0x69,0x6e,0x6e,
7170x65,0x73,0x6f,0x74,0x61,0x30,0x12,0x06,0x03,0x55,0x04,0x07,0x13,0x0b,0x4d,0x69,
7180x6e,0x6e,0x65,0x61,0x70,0x6f,0x6c,0x69,0x73,0x30,0x12,0x06,0x03,0x55,0x04,0x0a,
7190x13,0x0b,0x43,0x6f,0x64,0x65,0x57,0x65,0x61,0x76,0x65,0x72,0x73,0x30,0x17,0x06,
7200x03,0x55,0x04,0x0b,0x13,0x10,0x57,0x69,0x6e,0x65,0x20,0x44,0x65,0x76,0x65,0x6c,
7210x6f,0x70,0x6d,0x65,0x6e,0x74,0x30,0x21,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
7220x01,0x09,0x01,0x16,0x14,0x61,0x72,0x69,0x63,0x40,0x63,0x6f,0x64,0x65,0x77,0x65,
7230x61,0x76,0x65,0x72,0x73,0x2e,0x63,0x6f,0x6d
741 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
752 "Got unexpected encoding for empty name\n");
761 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
774 "Got unexpected encoding for empty RDN array\n");
784 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
789 attrs[0].
pszObjId = oid_common_name;
805 "Got unexpected encoding for two RDN array\n");
820 "Unexpected value for re-encoded two RDN array\n");
849 0x30,0x21,0x31,0x1f,0x30,0x0b,0x06,0x03,0x55,0x04,0x04,0x13,0x04,0x4c,0x61,
850 0x6e,0x67,0x30,0x10,0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,
851 0x20,0x4c,0x61,0x6e,0x67 };
853 0x30,0x2f,0x31,0x2d,0x30,0x2b,0x06,0x03,0x55,0x04,0x03,0x1e,0x24,0x23,0x30,
854 0x21,0x31,0x0c,0x30,0x03,0x06,0x04,0x55,0x13,0x04,0x4c,0x05,0x6e,0x61,0x00,
855 0x67,0x11,0x30,0x03,0x06,0x04,0x55,0x13,0x03,0x4a,0x0a,0x61,0x75,0x20,0x6e,
856 0x61,0x4c,0x67,0x6e };
872 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
883 "Got unexpected encoding for empty name\n");
889 attrs[0].
pszObjId = oid_common_name;
900 "Expected CRYPT_E_INVALID_PRINTABLE_STRING, got %08lx\n",
GetLastError());
901 ok(
size == 9,
"Unexpected error index %08lx\n",
size);
905 attrs[0].
pszObjId = oid_common_name;
923 "Got unexpected encoding for two RDN array\n");
938 "Unexpected value for re-encoded two RDN array\n");
959 "Expected string type %ld, got %ld\n",
expected->dwValueType,
963 "String type %ld: unexpected data size, got %ld, expected %ld\n",
968 "String type %ld: unexpected value\n",
expected->dwValueType);
981 "Got unexpected OID %s, expected %s\n", got->
pszObjId,
1011 for (
i = 0;
i < got->
cRDN;
i++)
1018 0x30,0x23,0x31,0x21,0x30,0x0c,0x06,0x03,0x55,0x04,0x04,
1019 0x13,0x05,0x4c,0x61,0x6e,0x67,0x00,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
1020 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0,0,0,0,0,0};
1044 "Expected 0 RDNs in empty info, got %ld\n",
1057 "Expected 0 RDNs in empty info, got %ld\n",
1073 info->cRDN == 1 &&
info->rgRDN &&
info->rgRDN[0].cRDNAttr == 0,
1074 "Got unexpected value for empty RDN\n");
1139 "Got wrong bufSize %ld\n",
bufSize);
1141 "Expected 0 RDNs in empty info, got %ld\n",
1157 info->cRDN == 1 &&
info->rgRDN &&
info->rgRDN[0].cRDNAttr == 0,
1158 "Got unexpected value for empty RDN\n");
1201 0x04,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1203 0x12,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1205 0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1207 0x14,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1209 0x15,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1211 0x16,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1213 0x19,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1215 0x1a,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1217 0x1b,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1219 0x1e,0x14,0x00,0x4a,0x00,0x75,0x00,0x61,0x00,0x6e,0x00,0x20,0x00,0x4c,0x00,
1220 0x61,0x00,0x6e,0x00,0x67,0x00,0x00 };
1222 0x0c,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1225 0x16,0x07,0x66,0x6f,0x6f,0x00,0x63,0x6f,0x6d };
1286 "Unexpected encoding\n");
1293 ok(
ret,
"Type %ld: CryptEncodeObjectEx failed: %08lx\n",
1300 "Got unexpected encoding\n");
1306 ok(
ret,
"Type %ld: CryptEncodeObjectEx failed: %08lx\n",
1313 "Got unexpected encoding\n");
1331 ok(
ret,
"Value type %ld: CryptDecodeObjectEx failed: %08lx\n",
1362 "Expected CERT_RDN_ENCODED_BLOB or CERT_RDN_IA5_STRING, got %ld\n",
1371 "String type %ld: unexpected data size, got %ld, expected %ld\n",
1376 "String type %ld: unexpected value\n",
expected->dwValueType);
1386 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71, 0x2e,
1390 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
1395 0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,
'J',
'u',
'a',
'n',
' ',
'L',
'a',
'n',
'g',0};
13980x30,0x19,0xa4,0x17,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,
13990x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00 };
1408 char oid[] =
"1.2.3";
1451 "Expected CRYPT_E_INVALID_IA5_STRING, got %08lx\n",
GetLastError());
1454 "Expected invalid char at index 7, got %ld\n",
1491 entry.pszRegisteredID = oid;
1516 static const BYTE unimplementedType[] = { 0x30, 0x06, 0x85, 0x04, 0x7f,
1518 static const BYTE bogusType[] = { 0x30, 0x06, 0x89, 0x04, 0x7f, 0x00, 0x00,
1520 static const BYTE dns_embedded_null[] = { 0x30,0x10,0x82,0x0e,0x66,0x6f,
1521 0x6f,0x2e,0x63,0x6f,0x6d,0x00,0x62,0x61,0x64,0x64,0x69,0x65 };
1522 static const BYTE dns_embedded_bell[] = { 0x30,0x10,0x82,0x0e,0x66,0x6f,
1523 0x6f,0x2e,0x63,0x6f,0x6d,0x07,0x62,0x61,0x64,0x64,0x69,0x65 };
1524 static const BYTE url_embedded_null[] = { 0x30,0x10,0x86,0x0e,0x66,0x6f,
1525 0x6f,0x2e,0x63,0x6f,0x6d,0x00,0x62,0x61,0x64,0x64,0x69,0x65 };
1536 "Expected CRYPT_E_ASN1_BADTAG, got %08lx\n",
GetLastError());
1541 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
1550 ok(
info->cAltEntry == 0,
"Expected 0 entries, got %ld\n",
1561 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1564 "Expected CERT_ALT_NAME_URL, got %ld\n",
1565 info->rgAltEntry[0].dwAltNameChoice);
1566 ok(
info->rgAltEntry[0].pwszURL ==
NULL || !*
info->rgAltEntry[0].pwszURL,
1567 "Expected empty URL\n");
1580 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1583 "Expected CERT_ALT_NAME_URL, got %ld\n",
1584 info->rgAltEntry[0].dwAltNameChoice);
1595 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1598 "Expected CERT_ALT_NAME_DNS_NAME, got %ld\n",
1599 info->rgAltEntry[0].dwAltNameChoice);
1601 "Unexpected DNS name\n");
1611 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1614 "Expected CERT_ALT_NAME_IP_ADDRESS, got %ld\n",
1615 info->rgAltEntry[0].dwAltNameChoice);
1617 "Unexpected IP address length %ld\n",
1618 info->rgAltEntry[0].IPAddress.cbData);
1620 sizeof(
localhost)),
"Unexpected IP address value\n");
1630 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1633 "Expected CERT_ALT_NAME_REGISTERED_ID, got %ld\n",
1634 info->rgAltEntry[0].dwAltNameChoice);
1635 ok(!
strcmp(
info->rgAltEntry[0].pszRegisteredID,
"1.2.3"),
1636 "Expected OID 1.2.3, got %s\n",
info->rgAltEntry[0].pszRegisteredID);
1647 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1650 "Expected CERT_ALT_NAME_DIRECTORY_NAME, got %ld\n",
1651 info->rgAltEntry[0].dwAltNameChoice);
1652 ok(
info->rgAltEntry[0].DirectoryName.cbData ==
1654 info->rgAltEntry[0].DirectoryName.cbData);
1657 "Unexpected directory name value\n");
1663#if defined(__REACTOS__) && defined(_M_AMD64)
1666 ok(!
ret,
"expected failure\n");
1676 ok(
info->cAltEntry == 1,
"Expected 1 entries, got %ld\n",
1679 "Expected CERT_ALT_NAME_DNS_NAME, got %ld\n",
1680 info->rgAltEntry[0].dwAltNameChoice);
1686#if defined(__REACTOS__) && defined(_M_AMD64)
1689 ok(!
ret,
"expected failure\n");
1727static BYTE nihongoT61[] = { 0x14,0x09,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x6f,
1731static BYTE nihongoBMP[] = { 0x1e,0x12,0x00,0x68,0x00,0x74,0x00,0x74,0x00,0x70,
1732 0x00,0x3a,0x00,0x2f,0x00,0x2f,0x22,0x6f,0x57,0x5b };
1734 0xe2,0x89,0xaf,0xe5,0x9d,0x9b };
1767 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
1770 value.dwValueType = 0;
1772 value.Value.cbData = 0;
1776 "Expected CRYPT_E_NOT_CHAR_STRING, got %08lx\n",
GetLastError());
1781 "Expected CRYPT_E_NOT_CHAR_STRING, got %08lx\n",
GetLastError());
1787 "Expected CRYPT_E_NOT_CHAR_STRING, got %08lx\n",
GetLastError());
1788 value.Value.cbData =
sizeof(
L"1");
1792 "Expected CRYPT_E_NOT_CHAR_STRING, got %08lx\n",
GetLastError());
1800 "Expected CRYPT_E_NOT_CHAR_STRING, got %08lx\n",
GetLastError());
1802 value.Value.cbData = 0;
1810 "Value type %ld: expected %08lx, got %08lx\n",
value.dwValueType,
1813 "Expected error index %ld, got %ld\n",
unicodeErrors[
i].errorIndex,
1817 value.Value.cbData = 0;
1828 "Value type %ld: expected size %ld, got %ld\n",
1831 "Value type %ld: unexpected value\n",
value.dwValueType);
1849 "Value type %ld: expected size %ld, got %ld\n",
1852 "Value type %ld: unexpected value\n",
value.dwValueType);
1878 value->dwValueType);
1881 "Unexpected decoded value for index %ld (value type %ld)\n",
i,
1891 's',
'o',
'm',
'e',
'l',
'o',
'n',
'g',0xff,
's',
't',
'r',
'i',
'n',
'g' };
1893 ASN_OCTETSTRING,15,
's',
'o',
'm',
'e',
'l',
'o',
'n',
'g',0xff,
's',
't',
'r',
'i',
'n',
'g' };
1901 static const struct {
1902 const BYTE *decoded;
1932 ok(
bufSize ==
tests[
i].encoded_size,
"[%lu] buf size %lu expected %u\n",
1934 ok(
buf[0] == 4,
"Got unexpected type %d for octet string (expected 4)\n",
buf[0]);
1948 {
ASN_CONSTRUCTOR|
ASN_OCTETSTRING,8,
ASN_CONSTRUCTOR|
ASN_OCTETSTRING,0x80,
ASN_OCTETSTRING,2,
'h',
'i', 0,0, 0,0 };
1956 static const struct {
1957 const BYTE *encoded;
1959 const BYTE *decoded;
2010 "[%lu] Expected size >= %d, got %ld\n",
i,
2012 ok(
buf !=
NULL,
"Expected allocated buffer\n");
2017 ok (
blob->cbData ==
tests[
i].decoded_size,
"[%lu] cbData = %lu\n",
i,
blob->cbData);
2020 "Unexpected value\n");
2036static const unsigned char bin52[] = { 0x03,0x03,0x00,0xff,0xff };
2037static const unsigned char bin53[] = { 0xff,0xff };
2038static const unsigned char bin54[] = { 0x03,0x03,0x01,0xff,0xfe };
2039static const unsigned char bin55[] = { 0xff,0xfe };
2040static const unsigned char bin56[] = { 0x03,0x02,0x01,0xfe };
2041static const unsigned char bin57[] = { 0xfe };
2071 "%ld: Got unexpected size %ld, expected %d\n",
i,
bufSize,
2074 "%ld: Unexpected value\n",
i);
2082 static const BYTE ber[] =
"\x03\x02\x01\xff";
2083 static const BYTE berDecoded = 0xfe;
2101 "Got unexpected size %ld\n",
bufSize);
2104 "Got unexpected length %ld, expected %ld\n",
blob->cbData,
2108 "Unexpected value\n");
2123 "Got unexpected size %ld\n",
bufSize);
2125 ok(
blob->cbData ==
sizeof(berDecoded),
2126 "Got unexpected length %ld\n",
blob->cbData);
2128 ok(*
blob->pbData == berDecoded,
"Unexpected value\n");
2139static const unsigned char bin59[] = { 0x30,0x00 };
2140static const unsigned char bin60[] = { 0x30,0x03,0x01,0x01,0xff };
2141static const unsigned char bin61[] = { 0x30,0x03,0x02,0x01,0x00 };
2142static const unsigned char bin62[] = { 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2158 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16,
2159 0x03, 0x6f, 0x72, 0x67, 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
2160 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x06, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71 };
2162 0x30, 0x2d, 0x30, 0x2b, 0x31, 0x29, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
2163 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x6f, 0x72, 0x67, 0x30,
2164 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19,
2165 0x16, 0x06, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71 };
2194 info.SubjectType.cbData = 0;
2196 info.cSubtreesConstraint = 0;
2204 "Unexpected value\n");
2210 info.cSubtreesConstraint = 1;
2211 info.rgSubtreesConstraint = &nameBlob;
2225static const unsigned char bin63[] = { 0x30,0x06,0x01,0x01,0x01,0x02,0x01,0x01 };
2229 static const BYTE inverted[] = { 0x30, 0x06, 0x02, 0x01, 0x01, 0x01, 0x01,
2243 ok(
ret,
"CryptDecodeObjectEx failed for item %ld: %08lx\n",
i,
2251 "Unexpected value for item %ld\n",
i);
2261 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
2262 ok(!
buf,
"Expected buf to be set to NULL\n");
2281 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
2291 ok(
info->SubjectType.cbData == 0,
"Expected no subject type\n");
2292 ok(!
info->fPathLenConstraint,
"Expected no path length constraint\n");
2293 ok(
info->cSubtreesConstraint == 0,
"Expected no subtree constraints\n");
2304 ok(
info->SubjectType.cbData == 0,
"Expected no subject type\n");
2305 ok(!
info->fPathLenConstraint,
"Expected no path length constraint\n");
2306 ok(
info->cSubtreesConstraint == 1,
"Expected a subtree constraint\n");
2307 if (
info->cSubtreesConstraint &&
info->rgSubtreesConstraint)
2309 ok(
info->rgSubtreesConstraint[0].cbData ==
2311 info->rgSubtreesConstraint[0].cbData);
2324static const BYTE mod1_encoded[] = { 0x30,0x0f,0x02,0x08,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x01 };
2325static const BYTE mod2_encoded[] = { 0x30,0x0c,0x02,0x05,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x02,0x00,0x01 };
2326static const BYTE mod3_encoded[] = { 0x30,0x0c,0x02,0x05,0x01,0x01,0x01,0x01,0x80,0x02,0x03,0x02,0x00,0x01 };
2327static const BYTE mod4_encoded[] = { 0x30,0x10,0x02,0x09,0x00,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x02,0x03,0x02,0x00,0x01 };
2358 rsaPubKey->
magic = 0x31415352;
2360 rsaPubKey->
pubexp = 131073;
2409 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
2413 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
2429 "Unexpected value\n");
2447 "Expected CRYPT_E_ASN1_EOD, got %08lx\n",
GetLastError());
2453 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
2458 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
2476 "Expected type PUBLICKEYBLOB (%d), got %d\n",
PUBLICKEYBLOB,
2479 "Expected version CUR_BLOB_VERSION (%d), got %d\n",
2481 ok(
hdr->reserved == 0,
"Expected reserved 0, got %d\n",
2484 "Expected CALG_RSA_KEYX, got %08x\n",
hdr->aiKeyAlg);
2485 ok(rsaPubKey->
magic == 0x31415352,
2486 "Expected magic RSA1, got %08lx\n", rsaPubKey->
magic);
2488 "Wrong bit len %ld\n", rsaPubKey->
bitlen);
2489 ok(rsaPubKey->
pubexp == 131073,
"Expected pubexp 131073, got %ld\n",
2493 "Unexpected modulus\n");
2506 BYTE pubexp[] = {0x01,0x00,0x02,0x00};
2511 hdr->cbPublicExp =
sizeof(pubexp);
2546 "Unexpected value\n");
2565 "Expected CRYPT_E_ASN1_EOD, got %08lx\n",
GetLastError());
2577 BYTE pubexp[] = {0xff,0xff,0xff,0xcc}, pubexp_expected[] = {0x01,0x00,0x02};
2589 "Wrong bit len %ld\n",
hdr->BitLength);
2593 ok(
hdr->cbPublicExp == 3,
"Expected cbPublicExp 3, got %ld\n",
hdr->cbPublicExp);
2595 "Wrong modulus len %ld\n",
hdr->cbModulus);
2596 ok(
hdr->cbPrime1 == 0,
"Wrong cbPrime1 %ld\n",
hdr->cbPrime1);
2597 ok(
hdr->cbPrime2 == 0,
"Wrong cbPrime2 %ld\n",
hdr->cbPrime2);
2598 ok(!
memcmp(pubexp, pubexp_expected,
sizeof(pubexp_expected)),
"Wrong exponent\n");
2599 ok(pubexp[3] == 0xcc,
"Got %02x\n", pubexp[3]);
2610 "Unexpected modulus\n");
2618 0x7f, 0x02, 0x02, 0x00, 0x80, 0x02, 0x02, 0x01, 0x00, 0x02, 0x01, 0x80, 0x02,
2619 0x02, 0xff, 0x7f, 0x02, 0x04, 0xba, 0xdd, 0xf0, 0x0d };
2622 0x36, 0x30, 0x36, 0x31, 0x36, 0x31, 0x30, 0x30, 0x30, 0x5a, 0x02, 0x01, 0x7f,
2623 0x02, 0x02, 0x00, 0x80, 0x02, 0x02, 0x01, 0x00, 0x02, 0x01, 0x80, 0x02, 0x02,
2624 0xff, 0x7f, 0x02, 0x04, 0xba, 0xdd, 0xf0, 0x0d };
2665 "Unexpected value\n");
2688 "Expected %d bytes, got %ld\n",
ints[
i].encoded[1] + 2,
2691 ints[
i].encoded[1] + 2),
"Unexpected value\n");
2706 "Expected %d bytes, got %ld\n",
times[0].encodedTime[1] + 2,
2709 times[0].encodedTime[1] + 2),
"Unexpected value\n");
2732static const BYTE ext1[] = { 0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,
2733 0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2734static const BYTE ext2[] = { 0x30,0x11,0x30,0x0f,0x06,0x03,0x55,0x1d,0x13,0x04,
2735 0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
2736static const BYTE ext3[] = { 0x30,0x07,0x30,0x05,0x06,0x01,0x29,0x04,0x00 };
2763 "Unexpected value\n");
2788 ok(
ext->cExtension ==
exts[
i].exts.cExtension,
2789 "Expected %ld extensions, see %ld\n",
exts[
i].exts.cExtension,
2791 for (
j = 0;
j <
min(
ext->cExtension,
exts[
i].exts.cExtension);
j++)
2794 exts[
i].exts.rgExtension[
j].pszObjId),
2795 "Expected OID %s, got %s\n",
2796 exts[
i].exts.rgExtension[
j].pszObjId,
2797 ext->rgExtension[
j].pszObjId);
2799 exts[
i].exts.rgExtension[
j].Value.pbData,
2800 exts[
i].exts.rgExtension[
j].Value.cbData),
2801 "Unexpected value\n");
2832static const BYTE aKey[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd,
2837 0x30,0x0b,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x03,0x01,0x00};
2839 0x30,0x09,0x30,0x04,0x06,0x02,0x2a,0x03,0x03,0x01,0x00};
2841 0x30,0x0f,0x30,0x0a,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x05,0x00,0x03,0x01,0x00};
2843 0x30,0x0d,0x30,0x08,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x03,0x01,0x00};
2845 0x30,0x1f,0x30,0x0a,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x05,0x00,0x03,0x11,0x00,0x00,0x01,
2846 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
2848 0x30,0x1d,0x30,0x08,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x03,0x11,0x00,0x00,0x01,
2849 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
2851 0x30,0x20,0x30,0x0b,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x01,0x01,
2852 0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
2855 0x30,0x20,0x30,0x0b,0x06,0x06,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x01,0x01,
2856 0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
2858static unsigned char bin72[] = { 0x05,0x00};
2903 "Unexpected value\n");
2913 "Expected OID %s, got %s\n",
expected->Algorithm.pszObjId,
2917 "Expected parameters of %ld bytes, got %ld\n",
2919 if (
expected->Algorithm.Parameters.cbData)
2922 "Unexpected algorithm parameters\n");
2924 "Expected public key of %ld bytes, got %ld\n",
2933 static const BYTE bogusPubKeyInfo[] = { 0x30, 0x22, 0x30, 0x0d, 0x06, 0x06,
2934 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03,
2935 0x11, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
2936 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };
2971 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
2974static const BYTE v1Cert[] = { 0x30, 0x33, 0x02, 0x00, 0x30, 0x02, 0x06, 0x00,
2975 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30,
2976 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30,
2977 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x07, 0x30,
2978 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
2979static const BYTE v2Cert[] = { 0x30, 0x38, 0xa0, 0x03, 0x02, 0x01, 0x01, 0x02,
2980 0x00, 0x30, 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31,
2981 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f,
2982 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
2983 0x30, 0x5a, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
2984static const BYTE v3Cert[] = { 0x30, 0x38, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
2985 0x00, 0x30, 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31,
2986 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f,
2987 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
2988 0x30, 0x5a, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00 };
29900x30,0x38,0xa0,0x03,0x02,0x01,0x03,0x02,0x00,0x30,0x02,0x06,0x00,0x30,0x22,
29910x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
29920x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,
29930x30,0x30,0x30,0x5a,0x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00 };
2995 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31,
2996 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36,
2997 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a,
2998 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00, 0xa3, 0x16, 0x30, 0x14,
2999 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30,
3000 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
3002 0x02, 0x06, 0x00, 0x30, 0x22, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31,
3003 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36,
3004 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a,
3005 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01, 0x00, 0xa3, 0x16, 0x30, 0x14,
3006 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30,
3007 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
3008static const BYTE bigCert[] = { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
3009 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
3010 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22,
3011 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30,
3012 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30,
3013 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30,
3014 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20,
3015 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01,
3016 0x00, 0xa3, 0x16, 0x30, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
3017 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 };
30190x30,0x81,0x95,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30200x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30210x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30220x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30230x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30240x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30250x67,0x00,0x30,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30260x01,0x01,0x05,0x00,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
30270x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,
30280x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,
30310x30,0x81,0x93,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30320x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30330x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30340x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30350x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30360x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30370x67,0x00,0x30,0x20,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30380x01,0x01,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
30390x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
30400x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
30420x30,0x7b,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,0x11,
30430x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30440x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
30450x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
30460x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
30470x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
30480x00,0x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00,0xa3,0x17,0x30,0x15,0x30,
30490x13,0x06,0x03,0x55,0x1d,0x0e,0x04,0x0c,0x04,0x0a,0x4a,0x75,0x61,0x6e,0x20,
30500x4c,0x61,0x6e,0x67,0x00 };
30520x30,0x38,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,
30530x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,
30540x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
30550x30,0x07,0x30,0x02,0x06,0x00,0x03,0x01,0x00,0x81,0x02,0x00,0x01 };
30570x30,0x81,0x99,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30580x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30590x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30600x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30610x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30620x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30630x67,0x00,0x30,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30640x01,0x01,0x05,0x00,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
30650x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x81,0x02,0x00,0x01,0xa3,0x16,0x30,
30660x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,
30670x01,0x01,0xff,0x02,0x01,0x01 };
30690x30,0x81,0x97,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,
30700x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,
30710x6e,0x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,
30720x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
30730x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,
30740x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
30750x67,0x00,0x30,0x20,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,
30760x01,0x01,0x03,0x11,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
30770x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x81,0x02,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,
30780x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,
30790xff,0x02,0x01,0x01 };
3097 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
3105 ok(
size ==
v1Cert[1] + 2,
"Expected size %d, got %ld\n",
3146 info.cExtension = 1;
3170 info.cExtension = 0;
3180 "Got unexpected value\n");
3184 info.IssuerUniqueId.cbData = 0;
3186 info.cExtension = 1;
3201 info.SubjectPublicKeyInfo.Algorithm.pszObjId = oid_rsa_rsa;
3202 info.SubjectPublicKeyInfo.PublicKey.cbData =
sizeof(
aKey);
3214 "Got unexpected value\n");
3227 "Wrong size %ld\n",
size);
3230 size),
"unexpected value\n");
3235 "unexpected value\n");
3239 info.IssuerUniqueId.cbData = 0;
3241 info.SubjectPublicKeyInfo.Algorithm.pszObjId =
NULL;
3242 info.SubjectPublicKeyInfo.PublicKey.cbData = 0;
3243 info.SubjectPublicKeyInfo.PublicKey.pbData =
NULL;
3244 ext.pszObjId = oid_subject_key_identifier;
3248 info.cExtension = 1;
3272 "Expected CRYPT_E_ASN1_EOD, got %08lx\n",
GetLastError());
3277 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
3288 ok(!
ret,
"Expected failure\n");
3302 ok(
info->dwVersion ==
CERT_V1,
"expected CERT_V1, got %ld\n",
3304 ok(
info->cExtension == 1,
"expected 1 extension, got %ld\n",
3321 ok(
info->dwVersion ==
CERT_V1,
"expected CERT_V1, got %ld\n",
3324 "unexpected issuer unique id size %ld\n",
info->IssuerUniqueId.cbData);
3326 "unexpected issuer unique id value\n");
3338 ok(
info->SerialNumber.cbData == 1,
3339 "Expected serial number size 1, got %ld\n",
info->SerialNumber.cbData);
3341 "Expected serial number %d, got %d\n", *
serialNum,
3342 *
info->SerialNumber.pbData);
3344 "Wrong size %ld\n",
info->Issuer.cbData);
3346 "Unexpected issuer\n");
3348 "Wrong size %ld\n",
info->Subject.cbData);
3350 info->Subject.cbData),
"Unexpected subject\n");
3363 ok(
info->SerialNumber.cbData == 1,
3364 "Expected serial number size 1, got %ld\n",
info->SerialNumber.cbData);
3366 "Expected serial number %d, got %d\n", *
serialNum,
3367 *
info->SerialNumber.pbData);
3369 "Wrong size %ld\n",
info->Issuer.cbData);
3371 "Unexpected issuer\n");
3373 "Wrong size %ld\n",
info->Subject.cbData);
3375 info->Subject.cbData),
"Unexpected subject\n");
3376 ok(!
strcmp(
info->SubjectPublicKeyInfo.Algorithm.pszObjId,
3378 info->SubjectPublicKeyInfo.Algorithm.pszObjId);
3379 ok(
info->SubjectPublicKeyInfo.PublicKey.cbData ==
sizeof(
aKey),
3380 "Wrong size %ld\n",
info->SubjectPublicKeyInfo.PublicKey.cbData);
3382 sizeof(
aKey)),
"Unexpected public key\n");
3387static const BYTE hash[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd,
3400 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3402 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3403 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3408 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3418 ASN_OCTETSTRING,8, 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,
3421 ASN_BITS,17, 0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,
3422 0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00
3435 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3437 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3438 0x18,15, 0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
3444 0x13,10, 0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,
3455 ASN_OCTETSTRING,8, 0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,
3458 ASN_BITS,17, 0x00,0x0f,0x0e,0x0d,0x0c,0x0b,0x0a,0x09,0x08,
3459 0x07,0x06,0x05,0x04,0x03,0x02,0x01,0x00
3499 "Wrong cert size %ld\n",
info->ToBeSigned.cbData);
3501 "Unexpected cert\n");
3503 "Wrong signature size %ld\n",
info->Signature.cbData);
3505 "Unexpected signature\n");
3517 ok(
info->SerialNumber.cbData == 1,
3518 "Expected serial number size 1, got %ld\n",
info->SerialNumber.cbData);
3520 "Expected serial number %d, got %d\n", *
serialNum,
3521 *
info->SerialNumber.pbData);
3523 "Wrong size %ld\n",
info->Issuer.cbData);
3525 "Unexpected issuer\n");
3527 "Wrong size %ld\n",
info->Subject.cbData);
3529 info->Subject.cbData),
"Unexpected subject\n");
3540 ok(
info->SerialNumber.cbData == 1,
3541 "Expected serial number size 1, got %ld\n",
info->SerialNumber.cbData);
3543 "Expected serial number %d, got %d\n", *
serialNum,
3544 *
info->SerialNumber.pbData);
3546 "Wrong size %ld\n",
info->Issuer.cbData);
3548 "Unexpected issuer\n");
3550 "Wrong size %ld\n",
info->Subject.cbData);
3552 info->Subject.cbData),
"Unexpected subject\n");
3559 0xa0, 0x13, 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69,
3560 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
3564 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65,
3565 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67 };
3567 0x15, 0xa0, 0x13, 0x86, 0x11, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77,
3568 0x69, 0x6e, 0x65, 0x68, 0x71, 0x2e, 0x6f, 0x72, 0x67, 0xa2, 0x13, 0x86, 0x11,
3569 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x69, 0x6e, 0x65, 0x68, 0x71,
3570 0x2e, 0x6f, 0x72, 0x67 };
3589 info.cDistPoint = 1;
3604 point.DistPointName.FullName.cAltEntry = 1;
3605 point.DistPointName.FullName.rgAltEntry = &
entry;
3609 "Expected CRYPT_E_INVALID_IA5_STRING, got %08lx\n",
GetLastError());
3612 "Expected invalid char at index 7, got %ld\n",
3639 point.ReasonFlags.cbData = 0;
3640 point.CRLIssuer.cAltEntry = 1;
3659 "Wrong size %ld\n",
size);
3682 "Wrong size %ld\n",
size);
3683 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %ld\n",
3687 "Expected CRL_DIST_POINT_NO_NAME, got %ld\n",
3688 point->DistPointName.dwDistPointNameChoice);
3689 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3690 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3701 "Wrong size %ld\n",
size);
3702 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %ld\n",
3705 ok(
point->DistPointName.dwDistPointNameChoice ==
3707 "Expected CRL_DIST_POINT_FULL_NAME, got %ld\n",
3708 point->DistPointName.dwDistPointNameChoice);
3709 ok(
point->DistPointName.FullName.cAltEntry == 1,
3710 "Expected 1 name entry, got %ld\n",
3711 point->DistPointName.FullName.cAltEntry);
3712 entry =
point->DistPointName.FullName.rgAltEntry;
3714 "Expected CERT_ALT_NAME_URL, got %ld\n",
entry->dwAltNameChoice);
3716 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3717 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3728 "Wrong size %ld\n",
size);
3729 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %ld\n",
3732 ok(
point->DistPointName.dwDistPointNameChoice ==
3734 "Expected CRL_DIST_POINT_NO_NAME, got %ld\n",
3735 point->DistPointName.dwDistPointNameChoice);
3737 "Expected reason length\n");
3739 "Unexpected reason\n");
3740 ok(
point->CRLIssuer.cAltEntry == 0,
"Expected no issuer\n");
3751 "Wrong size %ld\n",
size);
3752 ok(
info->cDistPoint == 1,
"Expected 1 dist points, got %ld\n",
3755 ok(
point->DistPointName.dwDistPointNameChoice ==
3757 "Expected CRL_DIST_POINT_FULL_NAME, got %ld\n",
3758 point->DistPointName.dwDistPointNameChoice);
3759 ok(
point->DistPointName.FullName.cAltEntry == 1,
3760 "Expected 1 name entry, got %ld\n",
3761 point->DistPointName.FullName.cAltEntry);
3762 entry =
point->DistPointName.FullName.rgAltEntry;
3764 "Expected CERT_ALT_NAME_URL, got %ld\n",
entry->dwAltNameChoice);
3766 ok(
point->ReasonFlags.cbData == 0,
"Expected no reason\n");
3767 ok(
point->CRLIssuer.cAltEntry == 1,
3768 "Expected 1 issuer entry, got %ld\n",
point->CRLIssuer.cAltEntry);
3771 "Expected CERT_ALT_NAME_URL, got %ld\n",
entry->dwAltNameChoice);
3792static const BYTE urlIDP[] = { 0x30,0x17,0xa0,0x15,0xa0,0x13,0x86,0x11,0x68,
3793 0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,
3807 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
3838 point.DistPointName.FullName.cAltEntry = 0;
3851 point.DistPointName.FullName.cAltEntry = 1;
3852 point.DistPointName.FullName.rgAltEntry = &
entry;
3868 "Expected name choice %ld, got %ld\n",
expected->dwAltNameChoice,
3883 "Unexpected name\n");
3922 "Unexpected fOnlyContainsUserCerts\n");
3924 "Unexpected fOnlyContainsCACerts\n");
3926 "Unexpected reason flags\n");
3928 "Unexpected fIndirectCRL\n");
3953 point.fOnlyContainsUserCerts =
point.fOnlyContainsCACerts =
TRUE;
3965 point.DistPointName.FullName.cAltEntry = 0;
3978 point.DistPointName.FullName.cAltEntry = 1;
3979 point.DistPointName.FullName.rgAltEntry = &
entry;
3985static const BYTE v1CRL[] = { 0x30, 0x15, 0x30, 0x02, 0x06, 0x00, 0x18, 0x0f,
3986 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
3988static const BYTE v2CRL[] = { 0x30, 0x18, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
3989 0x00, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30,
3990 0x30, 0x30, 0x30, 0x30, 0x5a };
3992 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a,
3993 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18, 0x0f, 0x31,
3994 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
3997 0x06, 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
3998 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18,
3999 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30,
4000 0x30, 0x30, 0x5a, 0x30, 0x15, 0x30, 0x13, 0x02, 0x00, 0x18, 0x0f, 0x31, 0x36,
4001 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a };
4003 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
4004 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x18, 0x0f,
4005 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30,
4006 0x30, 0x5a, 0x30, 0x16, 0x30, 0x14, 0x02, 0x01, 0x01, 0x18, 0x0f, 0x31, 0x36,
4007 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a };
4009 0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,
4010 0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
4011 0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x2c,0x30,0x2a,0x02,0x01,
4012 0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,
4013 0x30,0x30,0x5a,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,0xff,
4014 0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4016 0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,
4017 0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
4018 0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x16,0x30,0x14,0x02,0x01,0x01,
4019 0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
4020 0x30,0x5a,0xa0,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,
4021 0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4023 0x00,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,
4024 0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,
4025 0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x16,0x30,0x14,
4026 0x02,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,
4027 0x30,0x30,0x30,0x30,0x5a,0xa0,0x13,0x30,0x11,0x30,0x0f,0x06,0x03,0x55,0x1d,
4028 0x13,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01 };
4055 ok(
size ==
v2CRL[1] + 2,
"Expected size %d, got %ld\n",
4079 "Expected STATUS_ACCESS_VIOLATION, got %08lx\n",
GetLastError());
4089 "Wrong size %ld\n",
size);
4091 "Got unexpected value\n");
4102 "Wrong size %ld\n",
size);
4104 "Got unexpected value\n");
4108 entry.cExtension = 1;
4120 entry.cExtension = 0;
4121 info.cExtension = 1;
4147 0x1a, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
4148 0x0d, 0x01, 0x01, 0x02, 0x05, 0x00, 0x30, 0x61, 0x31, 0x11, 0x30, 0x0f, 0x06,
4149 0x03, 0x55, 0x04, 0x07, 0x13, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
4150 0x74, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0e, 0x56,
4151 0x65, 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e,
4152 0x31, 0x33, 0x30, 0x31, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x2a, 0x56, 0x65,
4153 0x72, 0x69, 0x53, 0x69, 0x67, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x72,
4154 0x63, 0x69, 0x61, 0x6c, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
4155 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x20, 0x43,
4156 0x41, 0x17, 0x0d, 0x30, 0x31, 0x30, 0x33, 0x32, 0x34, 0x30, 0x30, 0x30, 0x30,
4157 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x30, 0x34, 0x30, 0x31, 0x30, 0x37, 0x32, 0x33,
4158 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x69, 0x30, 0x21, 0x02, 0x10, 0x1b, 0x51,
4159 0x90, 0xf7, 0x37, 0x24, 0x39, 0x9c, 0x92, 0x54, 0xcd, 0x42, 0x46, 0x37, 0x99,
4160 0x6a, 0x17, 0x0d, 0x30, 0x31, 0x30, 0x31, 0x33, 0x30, 0x30, 0x30, 0x30, 0x31,
4161 0x32, 0x34, 0x5a, 0x30, 0x21, 0x02, 0x10, 0x75, 0x0e, 0x40, 0xff, 0x97, 0xf0,
4162 0x47, 0xed, 0xf5, 0x56, 0xc7, 0x08, 0x4e, 0xb1, 0xab, 0xfd, 0x17, 0x0d, 0x30,
4163 0x31, 0x30, 0x31, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x34, 0x39, 0x5a, 0x30,
4164 0x21, 0x02, 0x10, 0x77, 0xe6, 0x5a, 0x43, 0x59, 0x93, 0x5d, 0x5f, 0x7a, 0x75,
4165 0x80, 0x1a, 0xcd, 0xad, 0xc2, 0x22, 0x17, 0x0d, 0x30, 0x30, 0x30, 0x38, 0x33,
4166 0x31, 0x30, 0x30, 0x30, 0x30, 0x35, 0x36, 0x5a, 0xa0, 0x1a, 0x30, 0x18, 0x30,
4167 0x09, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0b, 0x06,
4168 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x05, 0xa0, 0x30, 0x0d, 0x06,
4169 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x02, 0x05, 0x00, 0x03,
4170 0x81, 0x81, 0x00, 0x18, 0x2c, 0xe8, 0xfc, 0x16, 0x6d, 0x91, 0x4a, 0x3d, 0x88,
4171 0x54, 0x48, 0x5d, 0xb8, 0x11, 0xbf, 0x64, 0xbb, 0xf9, 0xda, 0x59, 0x19, 0xdd,
4172 0x0e, 0x65, 0xab, 0xc0, 0x0c, 0xfa, 0x67, 0x7e, 0x21, 0x1e, 0x83, 0x0e, 0xcf,
4173 0x9b, 0x89, 0x8a, 0xcf, 0x0c, 0x4b, 0xc1, 0x39, 0x9d, 0xe7, 0x6a, 0xac, 0x46,
4174 0x74, 0x6a, 0x91, 0x62, 0x22, 0x0d, 0xc4, 0x08, 0xbd, 0xf5, 0x0a, 0x90, 0x7f,
4175 0x06, 0x21, 0x3d, 0x7e, 0xa7, 0xaa, 0x5e, 0xcd, 0x22, 0x15, 0xe6, 0x0c, 0x75,
4176 0x8e, 0x6e, 0xad, 0xf1, 0x84, 0xe4, 0x22, 0xb4, 0x30, 0x6f, 0xfb, 0x64, 0x8f,
4177 0xd7, 0x80, 0x43, 0xf5, 0x19, 0x18, 0x66, 0x1d, 0x72, 0xa3, 0xe3, 0x94, 0x82,
4178 0x28, 0x52, 0xa0, 0x06, 0x4e, 0xb1, 0xc8, 0x92, 0x0c, 0x97, 0xbe, 0x15, 0x07,
4179 0xab, 0x7a, 0xc9, 0xea, 0x08, 0x67, 0x43, 0x4d, 0x51, 0x63, 0x3b, 0x9c, 0x9c,
41820x30,0x82,0x1d,0xbd,0x30,0x82,0x1d,0x26,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,
41830x86,0xf7,0x0d,0x01,0x01,0x04,0x05,0x00,0x30,0x61,0x31,0x11,0x30,0x0f,0x06,
41840x03,0x55,0x04,0x07,0x13,0x08,0x49,0x6e,0x74,0x65,0x72,0x6e,0x65,0x74,0x31,
41850x17,0x30,0x15,0x06,0x03,0x55,0x04,0x0a,0x13,0x0e,0x56,0x65,0x72,0x69,0x53,
41860x69,0x67,0x6e,0x2c,0x20,0x49,0x6e,0x63,0x2e,0x31,0x33,0x30,0x31,0x06,0x03,
41870x55,0x04,0x0b,0x13,0x2a,0x56,0x65,0x72,0x69,0x53,0x69,0x67,0x6e,0x20,0x43,
41880x6f,0x6d,0x6d,0x65,0x72,0x63,0x69,0x61,0x6c,0x20,0x53,0x6f,0x66,0x74,0x77,
41890x61,0x72,0x65,0x20,0x50,0x75,0x62,0x6c,0x69,0x73,0x68,0x65,0x72,0x73,0x20,
41900x43,0x41,0x17,0x0d,0x30,0x34,0x30,0x33,0x33,0x31,0x30,0x30,0x30,0x30,0x30,
41910x30,0x5a,0x17,0x0d,0x30,0x34,0x30,0x35,0x33,0x31,0x32,0x33,0x35,0x39,0x35,
41920x39,0x5a,0x30,0x82,0x1c,0x92,0x30,0x21,0x02,0x10,0x01,0x22,0xb8,0xb2,0xf3,
41930x76,0x42,0xcc,0x48,0x71,0xb6,0x11,0xbf,0xd1,0xcf,0xda,0x17,0x0d,0x30,0x32,
41940x30,0x34,0x31,0x35,0x31,0x35,0x34,0x30,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,
41950x01,0x83,0x93,0xfb,0x96,0xde,0x1d,0x89,0x4e,0xc3,0x47,0x9c,0xe1,0x60,0x13,
41960x63,0x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x39,0x31,0x33,0x35,0x37,0x35,0x38,
41970x5a,0x30,0x21,0x02,0x10,0x01,0xdc,0xdb,0x63,0xd4,0xc9,0x9f,0x31,0xb8,0x16,
41980xf9,0x2c,0xf5,0xb1,0x08,0x8e,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x38,0x31,
41990x37,0x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x02,0x1a,0xa6,0xaf,0x94,
42000x71,0xf0,0x07,0x6e,0xf1,0x17,0xe4,0xd4,0x17,0x82,0xdb,0x17,0x0d,0x30,0x32,
42010x30,0x37,0x31,0x39,0x32,0x31,0x32,0x38,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,
42020x02,0x4c,0xe8,0x9d,0xfd,0x5f,0x77,0x4d,0x4b,0xf5,0x79,0x8b,0xb1,0x08,0x67,
42030xac,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x32,0x30,0x36,0x31,0x36,0x35,0x30,
42040x5a,0x30,0x21,0x02,0x10,0x02,0x59,0xae,0x6c,0x4c,0x21,0xf1,0x59,0x49,0x87,
42050xb0,0x95,0xf9,0x65,0xf3,0x20,0x17,0x0d,0x30,0x33,0x30,0x36,0x31,0x39,0x30,
42060x38,0x30,0x34,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x03,0x3c,0x41,0x0e,0x2f,
42070x42,0x5c,0x32,0x2c,0xb1,0x35,0xfe,0xe7,0x61,0x97,0xa5,0x17,0x0d,0x30,0x32,
42080x30,0x34,0x32,0x34,0x31,0x39,0x34,0x37,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,
42090x03,0x4e,0x68,0xfa,0x8b,0xb2,0x8e,0xb9,0x72,0xea,0x72,0xe5,0x3b,0x15,0xac,
42100x8b,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x32,0x31,0x35,0x31,0x35,0x31,
42110x5a,0x30,0x21,0x02,0x10,0x03,0xc9,0xa8,0xe3,0x48,0xb0,0x5f,0xcf,0x08,0xee,
42120xb9,0x93,0xf9,0xe9,0xaf,0x0c,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x38,0x31,
42130x33,0x34,0x39,0x32,0x32,0x5a,0x30,0x21,0x02,0x10,0x04,0x9b,0x23,0x6a,0x37,
42140x5c,0x06,0x98,0x0a,0x31,0xc8,0x86,0xdc,0x3a,0x95,0xcc,0x17,0x0d,0x30,0x32,
42150x31,0x30,0x30,0x31,0x32,0x32,0x31,0x30,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,
42160x06,0x08,0xba,0xc7,0xac,0xf8,0x5a,0x7c,0xa1,0xf4,0x25,0x85,0xbb,0x4e,0x8c,
42170x4f,0x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x33,0x30,0x37,0x35,0x37,0x31,0x34,
42180x5a,0x30,0x21,0x02,0x10,0x07,0x66,0x22,0x4a,0x4a,0x9d,0xff,0x6e,0xb5,0x11,
42190x0b,0xa9,0x94,0xfc,0x68,0x20,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x32,0x30,
42200x31,0x34,0x30,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x07,0x8f,0xa1,0x4d,0xb5,
42210xfc,0x0c,0xc6,0x42,0x72,0x88,0x37,0x76,0x29,0x44,0x31,0x17,0x0d,0x30,0x32,
42220x30,0x33,0x31,0x35,0x32,0x30,0x31,0x39,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,
42230x07,0xb9,0xd9,0x42,0x19,0x81,0xc4,0xfd,0x49,0x4f,0x72,0xce,0xf2,0xf8,0x6d,
42240x76,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x35,0x31,0x35,0x33,0x37,0x31,0x39,
42250x5a,0x30,0x21,0x02,0x10,0x08,0x6e,0xf9,0x6c,0x7f,0xbf,0xbc,0xc8,0x86,0x70,
42260x62,0x3f,0xe9,0xc4,0x2f,0x2b,0x17,0x0d,0x30,0x32,0x31,0x31,0x32,0x38,0x30,
42270x30,0x32,0x38,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x09,0x08,0xe4,0xaa,0xf5,
42280x2d,0x2b,0xc0,0x15,0x9e,0x00,0x8b,0x3f,0x97,0x93,0xf9,0x17,0x0d,0x30,0x33,
42290x30,0x32,0x31,0x32,0x32,0x32,0x30,0x30,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,
42300x09,0x13,0x0a,0x4f,0x0f,0x88,0xe5,0x50,0x05,0xc3,0x5f,0xf4,0xff,0x15,0x39,
42310xdd,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,0x38,0x31,0x31,0x33,0x30,
42320x5a,0x30,0x21,0x02,0x10,0x09,0x8d,0xdd,0x37,0xda,0xe7,0x84,0x03,0x9d,0x98,
42330x96,0xf8,0x88,0x3a,0x55,0xca,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x32,
42340x33,0x33,0x35,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x0a,0x35,0x0c,0xd7,0xf4,
42350x53,0xe6,0xc1,0x4e,0xf2,0x2a,0xd3,0xce,0xf8,0x7c,0xe7,0x17,0x0d,0x30,0x32,
42360x30,0x38,0x30,0x32,0x32,0x32,0x32,0x34,0x32,0x38,0x5a,0x30,0x21,0x02,0x10,
42370x0b,0x9c,0xb8,0xf8,0xfb,0x35,0x38,0xf2,0x91,0xfd,0xa1,0xe9,0x69,0x4a,0xb1,
42380x24,0x17,0x0d,0x30,0x33,0x30,0x34,0x30,0x38,0x30,0x31,0x30,0x32,0x32,0x32,
42390x5a,0x30,0x21,0x02,0x10,0x0c,0x2f,0x7f,0x32,0x15,0xe0,0x2f,0x74,0xfa,0x05,
42400x22,0x67,0xbc,0x8a,0x2d,0xd0,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x31,
42410x39,0x30,0x37,0x35,0x34,0x5a,0x30,0x21,0x02,0x10,0x0c,0x32,0x5b,0x78,0x32,
42420xc6,0x7c,0xd8,0xdd,0x25,0x91,0x22,0x4d,0x84,0x0a,0x94,0x17,0x0d,0x30,0x32,
42430x30,0x33,0x31,0x38,0x31,0x32,0x33,0x39,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,
42440x0d,0x76,0x36,0xb9,0x1c,0x72,0xb7,0x9d,0xdf,0xa5,0x35,0x82,0xc5,0xa8,0xf7,
42450xbb,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x37,0x32,0x31,0x34,0x32,0x31,0x31,
42460x5a,0x30,0x21,0x02,0x10,0x0f,0x28,0x79,0x98,0x56,0xb8,0xa5,0x5e,0xeb,0x79,
42470x5f,0x1b,0xed,0x0b,0x86,0x76,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x33,0x30,
42480x31,0x31,0x30,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x0f,0x80,0x3c,0x24,0xf4,
42490x62,0x27,0x24,0xbe,0x6a,0x74,0x9c,0x18,0x8e,0x4b,0x3b,0x17,0x0d,0x30,0x32,
42500x31,0x31,0x32,0x30,0x31,0x37,0x31,0x31,0x33,0x35,0x5a,0x30,0x21,0x02,0x10,
42510x0f,0xf2,0xa7,0x8c,0x80,0x9c,0xbe,0x2f,0xc8,0xa9,0xeb,0xfe,0x94,0x86,0x5a,
42520x5c,0x17,0x0d,0x30,0x32,0x30,0x36,0x32,0x30,0x31,0x39,0x35,0x38,0x34,0x35,
42530x5a,0x30,0x21,0x02,0x10,0x10,0x45,0x13,0x35,0x45,0xf3,0xc6,0x02,0x8d,0x8d,
42540x18,0xb1,0xc4,0x0a,0x7a,0x18,0x17,0x0d,0x30,0x32,0x30,0x34,0x32,0x36,0x31,
42550x37,0x33,0x32,0x35,0x39,0x5a,0x30,0x21,0x02,0x10,0x10,0x79,0xb1,0x71,0x1b,
42560x26,0x98,0x92,0x08,0x1e,0x3c,0xe4,0x8b,0x29,0x37,0xf9,0x17,0x0d,0x30,0x32,
42570x30,0x33,0x32,0x38,0x31,0x36,0x33,0x32,0x35,0x35,0x5a,0x30,0x21,0x02,0x10,
42580x11,0x38,0x80,0x77,0xcb,0x6b,0xe5,0xd6,0xa7,0xf2,0x99,0xa1,0xc8,0xe9,0x40,
42590x25,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x39,0x31,0x32,0x32,0x34,0x31,0x37,
42600x5a,0x30,0x21,0x02,0x10,0x11,0x7a,0xc3,0x82,0xfe,0x74,0x36,0x11,0x21,0xd6,
42610x92,0x86,0x09,0xdf,0xe6,0xf3,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x39,0x31,
42620x35,0x31,0x31,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x11,0xab,0x8e,0x21,0x28,
42630x7f,0x6d,0xf2,0xc1,0xc8,0x40,0x3e,0xa5,0xde,0x98,0xd3,0x17,0x0d,0x30,0x32,
42640x30,0x35,0x30,0x32,0x31,0x38,0x34,0x34,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,
42650x12,0x3c,0x38,0xae,0x3f,0x64,0x53,0x3a,0xf7,0xbc,0x6c,0x27,0xe2,0x9c,0x65,
42660x75,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x32,0x33,0x30,0x38,0x35,0x39,
42670x5a,0x30,0x21,0x02,0x10,0x12,0x88,0xb6,0x6c,0x9b,0xcf,0xe7,0x50,0x92,0xd2,
42680x87,0x63,0x8f,0xb7,0xa6,0xe3,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x32,0x32,
42690x30,0x35,0x35,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x12,0x95,0x4e,0xb6,0x8f,
42700x3a,0x19,0x6a,0x16,0x73,0x4f,0x6e,0x15,0xba,0xa5,0xe7,0x17,0x0d,0x30,0x32,
42710x30,0x36,0x31,0x37,0x31,0x38,0x35,0x36,0x30,0x31,0x5a,0x30,0x21,0x02,0x10,
42720x13,0x37,0x0b,0x41,0x8c,0x31,0x43,0x1c,0x27,0xaa,0xe1,0x83,0x0f,0x99,0x21,
42730xcd,0x17,0x0d,0x30,0x32,0x30,0x37,0x32,0x32,0x31,0x32,0x31,0x37,0x31,0x36,
42740x5a,0x30,0x21,0x02,0x10,0x14,0x7a,0x29,0x0a,0x09,0x38,0xf4,0x53,0x28,0x33,
42750x6f,0x37,0x07,0x23,0x12,0x10,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x30,
42760x32,0x30,0x30,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x15,0x04,0x81,0x1e,0xe2,
42770x6f,0xf0,0xd8,0xdd,0x12,0x55,0x05,0x66,0x51,0x6e,0x1a,0x17,0x0d,0x30,0x32,
42780x30,0x33,0x31,0x33,0x31,0x30,0x35,0x33,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,
42790x15,0x30,0x0d,0x8a,0xbd,0x0e,0x89,0x0e,0x66,0x4f,0x49,0x93,0xa2,0x8f,0xbc,
42800x2e,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x34,0x30,0x36,0x34,0x32,0x32,0x33,
42810x5a,0x30,0x21,0x02,0x10,0x16,0xbe,0x64,0xd6,0x4f,0x90,0xf4,0xf7,0x2b,0xc8,
42820xca,0x67,0x5c,0x82,0x13,0xe8,0x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x36,0x31,
42830x39,0x30,0x39,0x30,0x37,0x5a,0x30,0x21,0x02,0x10,0x18,0x51,0x9c,0xe4,0x48,
42840x62,0x06,0xfe,0xb8,0x2d,0x93,0xb7,0xc9,0xc9,0x1b,0x4e,0x17,0x0d,0x30,0x32,
42850x30,0x34,0x31,0x37,0x30,0x35,0x30,0x30,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,
42860x19,0x82,0xdb,0x39,0x74,0x00,0x38,0x36,0x59,0xf6,0xcc,0xc1,0x23,0x8d,0x40,
42870xe9,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,0x37,0x35,0x34,0x35,0x34,
42880x5a,0x30,0x21,0x02,0x10,0x1b,0x51,0x90,0xf7,0x37,0x24,0x39,0x9c,0x92,0x54,
42890xcd,0x42,0x46,0x37,0x99,0x6a,0x17,0x0d,0x30,0x31,0x30,0x31,0x33,0x30,0x30,
42900x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x21,0x02,0x10,0x1b,0xe4,0xb2,0xbb,0xb6,
42910x74,0x5d,0x6b,0x8b,0x04,0xb6,0xa0,0x1b,0x35,0xeb,0x29,0x17,0x0d,0x30,0x32,
42920x30,0x39,0x32,0x35,0x32,0x30,0x31,0x34,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,
42930x1c,0x1d,0xd5,0x2a,0xf6,0xaa,0xfd,0xbb,0x47,0xc2,0x73,0x36,0xcf,0x53,0xbd,
42940x81,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x31,0x39,0x30,0x33,0x34,0x32,
42950x5a,0x30,0x21,0x02,0x10,0x1c,0xb0,0x5a,0x1f,0xfd,0xa6,0x98,0xf6,0x46,0xf9,
42960x32,0x10,0x9e,0xef,0x52,0x8e,0x17,0x0d,0x30,0x32,0x30,0x36,0x32,0x37,0x31,
42970x33,0x30,0x33,0x32,0x32,0x5a,0x30,0x21,0x02,0x10,0x1d,0x01,0xfc,0xa7,0xdd,
42980xb4,0x0c,0x64,0xbd,0x65,0x45,0xe6,0xbf,0x1c,0x7e,0x90,0x17,0x0d,0x30,0x32,
42990x30,0x32,0x32,0x31,0x30,0x34,0x32,0x30,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,
43000x1e,0x4d,0xc9,0xc6,0x6e,0x57,0xda,0x8a,0x07,0x97,0x70,0xfa,0xee,0x9c,0xc5,
43010x58,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x39,0x32,0x32,0x33,0x34,0x32,0x31,
43020x5a,0x30,0x21,0x02,0x10,0x1e,0xbb,0x9b,0x28,0x61,0x50,0x7f,0x12,0x30,0xfb,
43030x02,0xb5,0xe1,0xb0,0x7e,0x9d,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x36,0x30,
43040x30,0x30,0x34,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x1f,0x5a,0x64,0xc9,0xa5,
43050x51,0x8c,0xe2,0x2d,0x50,0x83,0xc2,0x4c,0x7c,0xe7,0x85,0x17,0x0d,0x30,0x32,
43060x30,0x38,0x32,0x34,0x30,0x36,0x33,0x31,0x32,0x38,0x5a,0x30,0x21,0x02,0x10,
43070x1f,0xc2,0x4e,0xd0,0xac,0x52,0xd3,0x39,0x18,0x6d,0xd0,0x0f,0x23,0xd7,0x45,
43080x72,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x31,0x39,0x31,0x35,0x34,0x32,
43090x5a,0x30,0x20,0x02,0x0f,0x24,0x60,0x7a,0x8e,0x0e,0x86,0xa4,0x88,0x68,0xaf,
43100xd9,0x0c,0x6b,0xba,0xff,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x30,0x35,
43110x31,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x20,0x41,0x73,0xbb,0x72,0x88,
43120x6e,0x4b,0x1c,0xb6,0x70,0x02,0x67,0xaa,0x3b,0x3d,0x17,0x0d,0x30,0x32,0x30,
43130x39,0x30,0x33,0x31,0x37,0x30,0x36,0x32,0x31,0x5a,0x30,0x21,0x02,0x10,0x20,
43140x6e,0x0d,0xdc,0x8c,0xa4,0xac,0xf7,0x08,0x77,0x5c,0x80,0xf9,0xa3,0x68,0x92,
43150x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x32,0x30,0x35,0x37,0x31,0x36,0x5a,
43160x30,0x21,0x02,0x10,0x21,0xe4,0x6b,0x98,0x47,0x91,0xe6,0x02,0xdf,0xb2,0x45,
43170xbc,0x31,0x37,0xa0,0x7c,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x32,0x33,
43180x32,0x33,0x31,0x33,0x5a,0x30,0x21,0x02,0x10,0x22,0x00,0x95,0x70,0x79,0xf9,
43190x9c,0x34,0x91,0xbb,0x84,0xb9,0x91,0xde,0x22,0x55,0x17,0x0d,0x30,0x32,0x30,
43200x32,0x31,0x33,0x30,0x36,0x35,0x39,0x33,0x39,0x5a,0x30,0x21,0x02,0x10,0x22,
43210xf9,0x67,0x4f,0xcd,0x29,0xc6,0xdc,0xc8,0x22,0x6e,0xe9,0x0a,0xa1,0x48,0x5a,
43220x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x33,0x30,0x30,0x34,0x33,0x32,0x36,0x5a,
43230x30,0x21,0x02,0x10,0x24,0xa3,0xa7,0xd0,0xb8,0x1d,0x1c,0xf7,0xe6,0x1f,0x6e,
43240xba,0xc9,0x98,0x59,0xed,0x17,0x0d,0x30,0x33,0x30,0x37,0x32,0x34,0x32,0x30,
43250x35,0x38,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x24,0xef,0x89,0xa1,0x30,0x4f,
43260x51,0x63,0xfe,0xdb,0xdb,0x64,0x6e,0x4c,0x5a,0x81,0x17,0x0d,0x30,0x32,0x30,
43270x37,0x30,0x33,0x30,0x39,0x32,0x31,0x31,0x37,0x5a,0x30,0x21,0x02,0x10,0x25,
43280x08,0xe5,0xac,0xdd,0x6f,0x74,0x44,0x51,0x1a,0xf5,0xdb,0xf8,0xba,0x25,0xe0,
43290x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x39,0x30,0x34,0x31,0x36,0x32,0x32,0x5a,
43300x30,0x21,0x02,0x10,0x25,0x81,0xe8,0x18,0x60,0x88,0xbc,0x1a,0xe9,0x14,0x84,
43310xed,0xd4,0x62,0xf5,0x47,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x33,0x30,0x31,
43320x35,0x37,0x31,0x39,0x5a,0x30,0x21,0x02,0x10,0x26,0xe5,0x5c,0xab,0x16,0xec,
43330x61,0x38,0x49,0x2c,0xd2,0xb1,0x48,0x89,0xd5,0x47,0x17,0x0d,0x30,0x32,0x30,
43340x33,0x31,0x33,0x31,0x38,0x30,0x30,0x33,0x38,0x5a,0x30,0x21,0x02,0x10,0x27,
43350xbe,0xda,0x7f,0x4f,0x1f,0x6c,0x76,0x09,0xc0,0x9a,0xaf,0xd4,0x68,0xe2,0x16,
43360x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x30,0x31,0x38,0x33,0x32,0x33,0x30,0x5a,
43370x30,0x21,0x02,0x10,0x28,0x89,0xd0,0xb3,0xb5,0xc4,0x56,0x36,0x9b,0x3e,0x81,
43380x1a,0x21,0x56,0xaa,0x42,0x17,0x0d,0x30,0x32,0x31,0x31,0x30,0x34,0x31,0x31,
43390x30,0x33,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x28,0xab,0x93,0x06,0xb1,0x1e,
43400x05,0xe0,0xe1,0x25,0x75,0xc7,0x74,0xcb,0x55,0xa6,0x17,0x0d,0x30,0x33,0x30,
43410x31,0x32,0x34,0x31,0x39,0x34,0x38,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x29,
43420xe9,0x3b,0x44,0x8d,0xc3,0x4b,0x80,0x17,0xda,0xe4,0x1c,0x43,0x96,0x83,0x59,
43430x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x37,0x32,0x31,0x34,0x33,0x33,0x39,0x5a,
43440x30,0x21,0x02,0x10,0x2a,0x08,0x64,0x2b,0x48,0xe2,0x17,0x89,0x6a,0x0c,0xf9,
43450x7e,0x10,0x66,0x8f,0xe7,0x17,0x0d,0x30,0x32,0x30,0x38,0x31,0x39,0x31,0x38,
43460x33,0x35,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x2a,0x44,0xee,0x91,0x5d,0xe3,
43470xa5,0x2b,0x09,0xf3,0x56,0x59,0xe0,0x8f,0x25,0x22,0x17,0x0d,0x30,0x32,0x30,
43480x32,0x32,0x31,0x31,0x39,0x33,0x31,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x2a,
43490x8b,0x4e,0xa5,0xb6,0x06,0xc8,0x48,0x3b,0x0e,0x71,0x1e,0x6b,0xf4,0x16,0xc1,
43500x17,0x0d,0x30,0x32,0x30,0x34,0x33,0x30,0x30,0x39,0x32,0x31,0x31,0x38,0x5a,
43510x30,0x21,0x02,0x10,0x2b,0x03,0xfc,0x2f,0xc2,0x8e,0x38,0x29,0x6f,0xa1,0x0f,
43520xe9,0x47,0x1b,0x35,0xd7,0x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x34,0x32,0x30,
43530x31,0x38,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x2c,0x48,0xf7,0xd6,0xd5,0x71,
43540xc0,0xd1,0xbd,0x6a,0x00,0x65,0x1d,0x2d,0xa9,0xdd,0x17,0x0d,0x30,0x32,0x30,
43550x33,0x30,0x36,0x31,0x37,0x32,0x30,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x2c,
43560xbf,0x84,0x1d,0xe4,0x58,0x32,0x79,0x32,0x10,0x37,0xde,0xd7,0x94,0xff,0x85,
43570x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x31,0x39,0x30,0x32,0x32,0x35,0x5a,
43580x30,0x21,0x02,0x10,0x2d,0x03,0x54,0x35,0x54,0x45,0x2c,0x6d,0x39,0xf0,0x1b,
43590x74,0x68,0xde,0xcf,0x93,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x33,0x31,0x33,
43600x32,0x33,0x33,0x37,0x5a,0x30,0x21,0x02,0x10,0x2d,0x24,0x94,0x34,0x19,0x92,
43610xb1,0xf2,0x37,0x9d,0x6e,0xc5,0x35,0x93,0xdd,0xf0,0x17,0x0d,0x30,0x32,0x30,
43620x33,0x31,0x35,0x31,0x37,0x31,0x37,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x2d,
43630x47,0x24,0x61,0x87,0x91,0xba,0x2e,0xf2,0xf7,0x92,0x21,0xf3,0x1b,0x8b,0x1e,
43640x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x34,0x32,0x33,0x30,0x38,0x32,0x32,0x5a,
43650x30,0x21,0x02,0x10,0x2d,0x84,0xc2,0xb1,0x01,0xa1,0x3a,0x6f,0xb0,0x30,0x13,
43660x76,0x5a,0x69,0xec,0x41,0x17,0x0d,0x30,0x32,0x30,0x37,0x31,0x35,0x31,0x37,
43670x32,0x39,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x2d,0xd5,0x26,0xc3,0xcd,0x01,
43680xce,0xfd,0x67,0xb8,0x08,0xac,0x5a,0x70,0xc4,0x34,0x17,0x0d,0x30,0x32,0x30,
43690x32,0x32,0x37,0x30,0x34,0x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x2e,
43700x2b,0x0a,0x94,0x4d,0xf1,0xa4,0x37,0xb7,0xa3,0x9b,0x4b,0x96,0x26,0xa8,0xe3,
43710x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x39,0x30,0x36,0x32,0x38,0x32,0x38,0x5a,
43720x30,0x21,0x02,0x10,0x2e,0x31,0x30,0xc1,0x2e,0x16,0x31,0xd9,0x2b,0x0a,0x70,
43730xca,0x3f,0x31,0x73,0x62,0x17,0x0d,0x30,0x33,0x30,0x31,0x32,0x39,0x30,0x31,
43740x34,0x39,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x2e,0xbd,0x6d,0xdf,0xce,0x20,
43750x6f,0xe7,0xa8,0xf4,0xf3,0x25,0x9c,0xc3,0xc1,0x12,0x17,0x0d,0x30,0x32,0x30,
43760x39,0x32,0x30,0x31,0x33,0x35,0x34,0x34,0x32,0x5a,0x30,0x21,0x02,0x10,0x2f,
43770x56,0x16,0x22,0xba,0x87,0xd5,0xfd,0xff,0xe6,0xb0,0xdd,0x3c,0x08,0x26,0x2c,
43780x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x33,0x31,0x37,0x35,0x33,0x31,0x31,0x5a,
43790x30,0x21,0x02,0x10,0x30,0x3e,0x77,0x7b,0xec,0xcb,0x89,0x2c,0x15,0x55,0x7f,
43800x20,0xf2,0x33,0xc1,0x1e,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x32,0x33,
43810x35,0x30,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,0x30,0x59,0x6c,0xaa,0x5f,0xd3,
43820xac,0x50,0x86,0x2c,0xc4,0xfa,0x3c,0x48,0x50,0xd1,0x17,0x0d,0x30,0x32,0x30,
43830x32,0x32,0x31,0x30,0x34,0x31,0x39,0x33,0x35,0x5a,0x30,0x21,0x02,0x10,0x30,
43840xce,0x9a,0xf1,0xfa,0x17,0xfa,0xf5,0x4c,0xbc,0x52,0x8a,0xf4,0x26,0x2b,0x7b,
43850x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x31,0x31,0x39,0x31,0x32,0x33,0x39,0x5a,
43860x30,0x21,0x02,0x10,0x31,0x16,0x4a,0x6a,0x2e,0x6d,0x34,0x4d,0xd2,0x40,0xf0,
43870x5f,0x47,0xe6,0x5b,0x47,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x32,0x31,0x37,
43880x33,0x38,0x35,0x32,0x5a,0x30,0x21,0x02,0x10,0x31,0xdb,0x97,0x5b,0x06,0x63,
43890x0b,0xd8,0xfe,0x06,0xb3,0xf5,0xf9,0x64,0x0a,0x59,0x17,0x0d,0x30,0x32,0x30,
43900x32,0x31,0x32,0x31,0x35,0x35,0x39,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x32,
43910xbc,0xeb,0x0c,0xca,0x65,0x06,0x3f,0xa4,0xd5,0x4a,0x56,0x46,0x7c,0x22,0x09,
43920x17,0x0d,0x30,0x32,0x30,0x38,0x31,0x36,0x30,0x37,0x33,0x33,0x35,0x35,0x5a,
43930x30,0x21,0x02,0x10,0x33,0x17,0xef,0xe1,0x89,0xec,0x11,0x25,0x15,0x8f,0x3b,
43940x67,0x7a,0x64,0x0b,0x50,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x38,0x31,0x37,
43950x30,0x33,0x34,0x36,0x5a,0x30,0x21,0x02,0x10,0x34,0x24,0xa0,0xd2,0x00,0x61,
43960xeb,0xd3,0x9a,0xa7,0x2a,0x66,0xb4,0x82,0x23,0x77,0x17,0x0d,0x30,0x32,0x30,
43970x33,0x31,0x35,0x32,0x32,0x34,0x33,0x33,0x39,0x5a,0x30,0x21,0x02,0x10,0x34,
43980xa8,0x16,0x67,0xa5,0x1b,0xa3,0x31,0x11,0x5e,0x26,0xc8,0x3f,0x21,0x38,0xbe,
43990x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x31,0x32,0x31,0x31,0x36,0x32,0x31,0x5a,
44000x30,0x21,0x02,0x10,0x36,0x3a,0xbe,0x05,0x55,0x52,0x93,0x4f,0x32,0x5f,0x30,
44010x63,0xc0,0xd4,0x50,0xdf,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x31,
44020x34,0x36,0x31,0x34,0x5a,0x30,0x21,0x02,0x10,0x37,0x19,0xcc,0xa5,0x9d,0x85,
44030x05,0x56,0xe1,0x63,0x42,0x4b,0x0d,0x3c,0xbf,0xd6,0x17,0x0d,0x30,0x33,0x30,
44040x31,0x30,0x38,0x31,0x38,0x35,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x37,
44050x2f,0xfd,0x2b,0xec,0x4d,0x94,0x35,0x51,0xf4,0x07,0x2a,0xf5,0x0b,0x97,0xc4,
44060x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x33,0x31,0x39,0x31,0x38,0x30,0x31,0x5a,
44070x30,0x21,0x02,0x10,0x37,0x83,0xf5,0x1e,0x7e,0xf4,0x5f,0xad,0x1f,0x0c,0x55,
44080x86,0x30,0x02,0x54,0xc1,0x17,0x0d,0x30,0x33,0x30,0x31,0x30,0x38,0x32,0x30,
44090x30,0x33,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x38,0x32,0x3e,0x50,0x2b,0x36,
44100x93,0x01,0x32,0x0a,0x59,0x8c,0xce,0xad,0xa0,0xeb,0x17,0x0d,0x30,0x32,0x30,
44110x34,0x33,0x30,0x32,0x31,0x32,0x34,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x3a,
44120x62,0xd8,0x64,0xd3,0x85,0xd5,0x61,0x1d,0x9d,0x3f,0x61,0x25,0xe9,0x3a,0x1d,
44130x17,0x0d,0x30,0x32,0x30,0x36,0x31,0x37,0x31,0x35,0x31,0x39,0x31,0x36,0x5a,
44140x30,0x21,0x02,0x10,0x3a,0x97,0x36,0xb1,0x26,0x14,0x73,0x50,0xa3,0xcc,0x3f,
44150xd0,0x3b,0x83,0x99,0xc9,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x31,0x30,0x33,
44160x32,0x39,0x33,0x30,0x5a,0x30,0x21,0x02,0x10,0x3b,0x87,0x3e,0x20,0xbe,0x97,
44170xff,0xa7,0x6b,0x2b,0x5f,0xff,0x9a,0x7f,0x4c,0x95,0x17,0x0d,0x30,0x32,0x30,
44180x37,0x30,0x33,0x30,0x30,0x33,0x31,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x3b,
44190xba,0xe5,0xf2,0x23,0x99,0xc6,0xd7,0xae,0xe2,0x98,0x0d,0xa4,0x13,0x5c,0xd4,
44200x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x34,0x31,0x39,0x32,0x38,0x34,0x35,0x5a,
44210x30,0x21,0x02,0x10,0x3b,0xc2,0x7c,0xf0,0xbd,0xd2,0x9a,0x6f,0x97,0xdd,0x76,
44220xbc,0xa9,0x6c,0x45,0x0d,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x30,
44230x34,0x32,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x3b,0xc5,0xda,0x41,0x64,0x7a,
44240x37,0x8e,0x9f,0x7f,0x1f,0x9b,0x25,0x0a,0xb4,0xda,0x17,0x0d,0x30,0x32,0x30,
44250x33,0x30,0x36,0x31,0x33,0x32,0x34,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x3c,
44260x1b,0xf1,0x9a,0x48,0xb0,0xb8,0xa0,0x45,0xd5,0x8f,0x0f,0x57,0x90,0xc2,0xcd,
44270x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x38,0x30,0x36,0x34,0x33,0x32,0x33,0x5a,
44280x30,0x21,0x02,0x10,0x3d,0x15,0x48,0x80,0xb4,0xfe,0x51,0x7e,0xed,0x46,0xae,
44290x51,0xfd,0x47,0x73,0xde,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x37,0x30,0x39,
44300x32,0x30,0x30,0x38,0x5a,0x30,0x21,0x02,0x10,0x3d,0x61,0x4e,0x87,0xea,0x39,
44310x02,0xf3,0x1e,0x3e,0x56,0x5c,0x0e,0x3b,0xa7,0xe3,0x17,0x0d,0x30,0x32,0x31,
44320x30,0x32,0x39,0x31,0x39,0x35,0x34,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x3d,
44330xdd,0x61,0x92,0x82,0x69,0x6b,0x01,0x79,0x0e,0xef,0x96,0x12,0xa3,0x76,0x80,
44340x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x31,0x32,0x32,0x32,0x34,0x31,0x36,0x5a,
44350x30,0x21,0x02,0x10,0x3e,0x0e,0x14,0x71,0x55,0xf3,0x48,0x09,0x1b,0x56,0x3b,
44360x91,0x7a,0x7d,0xec,0xc9,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x31,0x32,0x31,
44370x34,0x35,0x35,0x31,0x5a,0x30,0x21,0x02,0x10,0x3e,0x23,0x00,0x1f,0x9b,0xbd,
44380xe8,0xb1,0xf0,0x06,0x67,0xa6,0x70,0x42,0x2e,0xc3,0x17,0x0d,0x30,0x32,0x30,
44390x38,0x30,0x38,0x31,0x32,0x32,0x31,0x33,0x32,0x5a,0x30,0x21,0x02,0x10,0x41,
44400x91,0x1a,0x8c,0xde,0x2d,0xb3,0xeb,0x79,0x1d,0xc7,0x99,0x99,0xbe,0x0c,0x0e,
44410x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x35,0x31,0x39,0x31,0x38,0x35,0x34,0x5a,
44420x30,0x21,0x02,0x10,0x41,0xa8,0xd7,0x9c,0x10,0x5e,0x5a,0xac,0x16,0x7f,0x93,
44430xaa,0xd1,0x83,0x34,0x55,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x31,0x32,
44440x35,0x33,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x42,0x88,0x96,0xb0,0x7b,0x28,
44450xa2,0xfa,0x2f,0x91,0x73,0x58,0xa7,0x1e,0x53,0x7c,0x17,0x0d,0x30,0x33,0x30,
44460x33,0x30,0x31,0x30,0x39,0x34,0x33,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,0x42,
44470x93,0x2f,0xd2,0x54,0xd3,0x94,0xd0,0x41,0x6a,0x2e,0x33,0x8b,0x81,0xb4,0x3c,
44480x17,0x0d,0x30,0x32,0x30,0x38,0x30,0x38,0x30,0x30,0x34,0x38,0x34,0x36,0x5a,
44490x30,0x21,0x02,0x10,0x44,0x24,0xdd,0xba,0x85,0xfd,0x3e,0xb2,0xb8,0x17,0x74,
44500xfd,0x9d,0x5c,0x0c,0xbd,0x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x31,0x31,0x36,
44510x30,0x39,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x45,0x02,0x18,0x7d,0x39,0x9c,
44520xb9,0x14,0xfb,0x10,0x37,0x96,0xf4,0xc1,0xdd,0x2f,0x17,0x0d,0x30,0x32,0x30,
44530x32,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,0x45,
44540x16,0xbc,0x31,0x0b,0x4e,0x87,0x0a,0xcc,0xe3,0xd5,0x14,0x16,0x33,0x11,0x83,
44550x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x32,0x30,0x32,0x32,0x30,0x31,0x37,0x5a,
44560x30,0x21,0x02,0x10,0x46,0x16,0x36,0xde,0x3f,0xef,0x8c,0xfa,0x67,0x53,0x12,
44570xcc,0x76,0x63,0xd6,0xdd,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x34,0x31,0x36,
44580x35,0x39,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x46,0x5f,0x85,0xa3,0xa4,0x98,
44590x3c,0x40,0x63,0xf6,0x1c,0xf7,0xc2,0xbe,0xfd,0x0e,0x17,0x0d,0x30,0x32,0x30,
44600x34,0x30,0x39,0x31,0x35,0x33,0x30,0x30,0x35,0x5a,0x30,0x21,0x02,0x10,0x47,
44610x20,0xc2,0xd8,0x85,0x85,0x54,0x39,0xcd,0xf2,0x10,0xf0,0xa7,0x88,0x52,0x75,
44620x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x30,0x32,0x32,0x32,0x35,0x32,0x37,0x5a,
44630x30,0x21,0x02,0x10,0x47,0x42,0x6e,0xa2,0xab,0xc5,0x33,0x5d,0x50,0x44,0x0b,
44640x88,0x97,0x84,0x59,0x4c,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x35,0x31,0x34,
44650x30,0x35,0x31,0x39,0x5a,0x30,0x21,0x02,0x10,0x49,0x20,0x3f,0xa8,0x6e,0x81,
44660xc8,0x3b,0x26,0x05,0xf4,0xa7,0x9b,0x5a,0x81,0x60,0x17,0x0d,0x30,0x32,0x30,
44670x37,0x31,0x31,0x31,0x37,0x35,0x30,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x49,
44680x8b,0x6f,0x05,0xfb,0xcb,0xf4,0x5a,0xaf,0x09,0x47,0xb1,0x04,0xc5,0xe3,0x51,
44690x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x32,0x31,0x37,0x34,0x38,0x30,0x38,0x5a,
44700x30,0x21,0x02,0x10,0x49,0xb2,0xc3,0x7a,0xbf,0x75,0x2a,0xb3,0x13,0xae,0x53,
44710xc6,0xcb,0x45,0x5a,0x3e,0x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x35,0x32,0x31,
44720x33,0x35,0x33,0x37,0x5a,0x30,0x21,0x02,0x10,0x4b,0xca,0xc3,0xab,0x0a,0xc5,
44730xcd,0x90,0xa2,0xbe,0x43,0xfe,0xdd,0x06,0xe1,0x45,0x17,0x0d,0x30,0x32,0x30,
44740x37,0x32,0x30,0x31,0x37,0x33,0x32,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x4c,
44750x00,0xcc,0x73,0xd5,0x74,0x61,0x62,0x92,0x52,0xff,0xde,0x5b,0xc1,0x55,0xbd,
44760x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x36,0x31,0x34,0x30,0x31,0x35,0x31,0x5a,
44770x30,0x21,0x02,0x10,0x4c,0x59,0xc1,0xc3,0x56,0x40,0x27,0xd4,0x22,0x0e,0x37,
44780xf6,0x5f,0x26,0x50,0xc5,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x30,0x39,
44790x35,0x37,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x4c,0xca,0x12,0x59,0x46,0xf9,
44800x2b,0xc6,0x7d,0x33,0x78,0x40,0x2c,0x3b,0x7a,0x0c,0x17,0x0d,0x30,0x32,0x30,
44810x35,0x33,0x30,0x32,0x30,0x32,0x34,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x4d,
44820x57,0x51,0x35,0x9b,0xe5,0x41,0x2c,0x69,0x66,0xc7,0x21,0xec,0xc6,0x29,0x32,
44830x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x30,0x34,0x33,0x35,0x35,0x36,0x5a,
44840x30,0x21,0x02,0x10,0x4e,0x85,0xab,0x9e,0x17,0x54,0xe7,0x42,0x0f,0x8c,0xa1,
44850x65,0x96,0x88,0x53,0x54,0x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x38,0x30,0x30,
44860x31,0x38,0x35,0x33,0x5a,0x30,0x21,0x02,0x10,0x50,0x3d,0xed,0xac,0x21,0x86,
44870x66,0x5d,0xa5,0x1a,0x13,0xee,0xfc,0xa7,0x0b,0xc6,0x17,0x0d,0x30,0x32,0x30,
44880x32,0x31,0x38,0x31,0x33,0x35,0x35,0x34,0x39,0x5a,0x30,0x21,0x02,0x10,0x50,
44890xa3,0x81,0x9c,0xcb,0x22,0xe4,0x0f,0x80,0xcb,0x7a,0xec,0x35,0xf8,0x73,0x82,
44900x17,0x0d,0x30,0x32,0x31,0x30,0x30,0x35,0x31,0x36,0x35,0x39,0x35,0x39,0x5a,
44910x30,0x21,0x02,0x10,0x51,0x28,0x73,0x26,0x17,0xcf,0x10,0x6e,0xeb,0x4a,0x03,
44920x74,0xa3,0x35,0xe5,0x60,0x17,0x0d,0x30,0x33,0x30,0x36,0x31,0x33,0x31,0x30,
44930x30,0x39,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x51,0x52,0xff,0xdc,0x69,0x6b,
44940x1f,0x1f,0xff,0x7c,0xb1,0x7f,0x03,0x90,0xa9,0x6b,0x17,0x0d,0x30,0x32,0x30,
44950x36,0x31,0x34,0x31,0x36,0x30,0x34,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x52,
44960xd9,0x53,0x69,0x9f,0xec,0xab,0xdd,0x5d,0x2a,0x2f,0xaa,0x57,0x86,0xb9,0x1f,
44970x17,0x0d,0x30,0x32,0x30,0x38,0x33,0x30,0x32,0x33,0x34,0x36,0x34,0x33,0x5a,
44980x30,0x21,0x02,0x10,0x54,0x46,0xa8,0x8f,0x69,0x2e,0x02,0xf4,0xb4,0xb2,0x69,
44990xda,0xbd,0x40,0x02,0xe0,0x17,0x0d,0x30,0x32,0x30,0x33,0x32,0x36,0x30,0x31,
45000x35,0x36,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x54,0xb5,0x81,0x73,0xb5,0x7c,
45010x6d,0xba,0x5c,0x99,0x0d,0xff,0x0a,0x4d,0xee,0xef,0x17,0x0d,0x30,0x32,0x30,
45020x37,0x32,0x34,0x31,0x36,0x33,0x39,0x35,0x31,0x5a,0x30,0x21,0x02,0x10,0x57,
45030x91,0x41,0x20,0x9f,0x57,0x6f,0x42,0x53,0x4e,0x19,0xcc,0xe4,0xc8,0x52,0x4a,
45040x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x38,0x32,0x33,0x32,0x34,0x30,0x30,0x5a,
45050x30,0x21,0x02,0x10,0x57,0xc6,0xdc,0xa0,0xed,0xbf,0x77,0xdd,0x7e,0x18,0x68,
45060x83,0x57,0x0c,0x2a,0x4f,0x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x31,0x31,0x34,
45070x30,0x36,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x57,0xed,0xe2,0x5b,0xe2,0x62,
45080x3f,0x98,0xe1,0xf5,0x4d,0x30,0xa4,0x0e,0xdf,0xdf,0x17,0x0d,0x30,0x32,0x30,
45090x36,0x30,0x39,0x30,0x31,0x34,0x37,0x31,0x38,0x5a,0x30,0x21,0x02,0x10,0x58,
45100x47,0xd9,0xbd,0x83,0x1a,0x63,0x6f,0xb7,0x63,0x7f,0x4a,0x56,0x5e,0x8e,0x4d,
45110x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x35,0x31,0x37,0x32,0x33,0x30,0x33,0x5a,
45120x30,0x21,0x02,0x10,0x58,0xc6,0x62,0x99,0x80,0xe6,0x0c,0x4f,0x00,0x8b,0x25,
45130x38,0x93,0xe6,0x18,0x10,0x17,0x0d,0x30,0x32,0x30,0x36,0x30,0x36,0x30,0x37,
45140x30,0x39,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x59,0x52,0x09,0x0e,0x99,0xf3,
45150xa9,0xe5,0x2f,0xed,0xa9,0xb2,0xd8,0x61,0xe7,0xea,0x17,0x0d,0x30,0x32,0x30,
45160x36,0x32,0x36,0x31,0x34,0x31,0x38,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x59,
45170x5c,0xaa,0xfb,0xbe,0xfb,0x73,0xd1,0xf4,0xab,0xc8,0xe3,0x3d,0x01,0x04,0xdd,
45180x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x37,0x32,0x32,0x32,0x30,0x31,0x30,0x5a,
45190x30,0x21,0x02,0x10,0x59,0x97,0x59,0xa7,0x3d,0xb0,0xd9,0x7e,0xff,0x2a,0xcb,
45200x31,0xcc,0x66,0xf3,0x85,0x17,0x0d,0x30,0x32,0x30,0x38,0x32,0x32,0x30,0x30,
45210x35,0x35,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x59,0xdd,0x45,0x36,0x61,0xd9,
45220x3e,0xe9,0xff,0xbd,0xad,0x2e,0xbf,0x9a,0x5d,0x98,0x17,0x0d,0x30,0x32,0x30,
45230x37,0x30,0x32,0x32,0x30,0x34,0x30,0x30,0x33,0x5a,0x30,0x21,0x02,0x10,0x5a,
45240x4b,0x48,0x18,0xa9,0x2a,0x9c,0xd5,0x91,0x2f,0x4f,0xa4,0xf8,0xb3,0x1b,0x4d,
45250x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x34,0x32,0x33,0x33,0x33,0x31,0x32,0x5a,
45260x30,0x21,0x02,0x10,0x5a,0xdf,0x32,0x0d,0x64,0xeb,0x9b,0xd2,0x11,0xe2,0x58,
45270x50,0xbe,0x93,0x0c,0x65,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x35,0x31,0x37,
45280x30,0x37,0x32,0x31,0x5a,0x30,0x21,0x02,0x10,0x5b,0x23,0xbf,0xbb,0xc4,0xb3,
45290xf4,0x02,0xe9,0xcb,0x10,0x9e,0xee,0xa5,0x3f,0xcd,0x17,0x0d,0x30,0x32,0x30,
45300x33,0x32,0x39,0x31,0x36,0x32,0x36,0x35,0x39,0x5a,0x30,0x21,0x02,0x10,0x5b,
45310x51,0xbc,0x38,0xbf,0xaf,0x9f,0x27,0xa9,0xc7,0xed,0x25,0xd0,0x8d,0xec,0x2e,
45320x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x38,0x31,0x30,0x32,0x35,0x32,0x30,0x5a,
45330x30,0x21,0x02,0x10,0x5c,0x29,0x7f,0x46,0x61,0xdd,0x47,0x90,0x82,0x91,0xbd,
45340x79,0x22,0x6a,0x98,0x38,0x17,0x0d,0x30,0x32,0x31,0x31,0x30,0x38,0x31,0x35,
45350x35,0x34,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x5e,0x38,0xf7,0x5b,0x00,0xf1,
45360xef,0x1c,0xb6,0xff,0xd5,0x5c,0x74,0xfb,0x95,0x5d,0x17,0x0d,0x30,0x32,0x31,
45370x31,0x32,0x33,0x30,0x31,0x34,0x39,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x5e,
45380x88,0xbe,0xb6,0xb4,0xb2,0xaa,0xb0,0x92,0xf3,0xf6,0xc2,0xbc,0x72,0x21,0xca,
45390x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x34,0x30,0x37,0x31,0x32,0x31,0x30,0x5a,
45400x30,0x21,0x02,0x10,0x5f,0x59,0xa0,0xbb,0xaf,0x26,0xc8,0xc1,0xb4,0x04,0x3a,
45410xbb,0xfc,0x4c,0x75,0xa5,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x36,0x31,0x35,
45420x35,0x31,0x32,0x33,0x5a,0x30,0x21,0x02,0x10,0x5f,0x81,0x08,0x0f,0xa0,0xcd,
45430x44,0x73,0x23,0x58,0x8e,0x49,0x9f,0xb5,0x08,0x35,0x17,0x0d,0x30,0x32,0x30,
45440x36,0x31,0x39,0x31,0x34,0x31,0x37,0x34,0x33,0x5a,0x30,0x21,0x02,0x10,0x5f,
45450xba,0x1f,0x8f,0xb2,0x23,0x56,0xdd,0xbc,0xa6,0x72,0xb0,0x99,0x13,0xb5,0xb2,
45460x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x36,0x30,0x38,0x34,0x37,0x31,0x30,0x5a,
45470x30,0x21,0x02,0x10,0x60,0x09,0xd5,0xb7,0x6b,0xf1,0x16,0x4a,0xfa,0xd0,0xa5,
45480x4c,0x8e,0xdd,0x02,0xcb,0x17,0x0d,0x30,0x32,0x30,0x36,0x31,0x37,0x31,0x36,
45490x31,0x32,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x60,0x1d,0x19,0xd8,0x55,0xd5,
45500x14,0xd5,0xff,0x03,0x0d,0xad,0x5c,0x07,0x4c,0xe7,0x17,0x0d,0x30,0x32,0x30,
45510x37,0x31,0x35,0x32,0x33,0x30,0x31,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x60,
45520x24,0x67,0xc3,0x0b,0xad,0x53,0x8f,0xce,0x89,0x05,0xb5,0x87,0xaf,0x7c,0xe4,
45530x17,0x0d,0x30,0x32,0x31,0x30,0x30,0x38,0x32,0x30,0x33,0x38,0x35,0x32,0x5a,
45540x30,0x21,0x02,0x10,0x60,0x5c,0xf3,0x3d,0x22,0x23,0x39,0x3f,0xe6,0x21,0x09,
45550xfd,0xdd,0x77,0xc2,0x8f,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x32,0x31,0x37,
45560x32,0x37,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x60,0xa2,0x5e,0xbf,0x07,0x83,
45570xa3,0x18,0x56,0x18,0x48,0x63,0xa7,0xfd,0xc7,0x63,0x17,0x0d,0x30,0x32,0x30,
45580x35,0x30,0x39,0x31,0x39,0x35,0x32,0x32,0x37,0x5a,0x30,0x21,0x02,0x10,0x60,
45590xc2,0xad,0xa8,0x0e,0xf9,0x9a,0x66,0x5d,0xa2,0x75,0x04,0x5e,0x5c,0x71,0xc2,
45600x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x32,0x31,0x33,0x33,0x36,0x31,0x37,0x5a,
45610x30,0x21,0x02,0x10,0x60,0xdb,0x1d,0x37,0x34,0xf6,0x02,0x9d,0x68,0x1b,0x70,
45620xf1,0x13,0x00,0x2f,0x80,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x38,0x30,0x39,
45630x35,0x35,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x61,0xf0,0x38,0xea,0xbc,0x17,
45640x0d,0x11,0xd2,0x89,0xee,0x87,0x50,0x57,0xa0,0xed,0x17,0x0d,0x30,0x33,0x30,
45650x31,0x32,0x39,0x31,0x37,0x34,0x31,0x34,0x34,0x5a,0x30,0x21,0x02,0x10,0x61,
45660xfa,0x9b,0xeb,0x58,0xf9,0xe5,0xa5,0x9e,0x79,0xa8,0x3d,0x79,0xac,0x35,0x97,
45670x17,0x0d,0x30,0x32,0x31,0x30,0x31,0x30,0x32,0x30,0x31,0x36,0x33,0x37,0x5a,
45680x30,0x21,0x02,0x10,0x62,0x44,0x57,0x24,0x41,0xc0,0x89,0x3f,0x5b,0xd2,0xbd,
45690xe7,0x2f,0x75,0x41,0xfa,0x17,0x0d,0x30,0x32,0x30,0x38,0x30,0x38,0x31,0x38,
45700x33,0x30,0x31,0x35,0x5a,0x30,0x21,0x02,0x10,0x62,0x51,0x3a,0x2d,0x8d,0x82,
45710x39,0x65,0xfe,0xf6,0x8a,0xc8,0x4e,0x29,0x91,0xfd,0x17,0x0d,0x30,0x32,0x30,
45720x39,0x32,0x36,0x30,0x30,0x35,0x34,0x33,0x34,0x5a,0x30,0x21,0x02,0x10,0x62,
45730x52,0x49,0x49,0xf2,0x51,0x67,0x7a,0xe2,0xee,0xc9,0x0c,0x23,0x11,0x3d,0xb2,
45740x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x37,0x31,0x38,0x30,0x36,0x35,0x35,0x5a,
45750x30,0x21,0x02,0x10,0x63,0x52,0xbd,0xdc,0xb7,0xbf,0xbb,0x90,0x6c,0x82,0xee,
45760xb5,0xa3,0x9f,0xd8,0xc9,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x31,0x31,0x36,
45770x33,0x30,0x35,0x38,0x5a,0x30,0x21,0x02,0x10,0x63,0x5e,0x6b,0xe9,0xea,0x3d,
45780xd6,0x3b,0xc3,0x4d,0x09,0xc3,0x13,0xdb,0xdd,0xbc,0x17,0x0d,0x30,0x33,0x30,
45790x36,0x30,0x32,0x31,0x34,0x34,0x37,0x33,0x36,0x5a,0x30,0x21,0x02,0x10,0x63,
45800xda,0x0b,0xd5,0x13,0x1e,0x98,0x83,0x32,0xa2,0x3a,0x4b,0xdf,0x8c,0x89,0x86,
45810x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x35,0x30,0x38,0x30,0x38,0x31,0x33,0x5a,
45820x30,0x21,0x02,0x10,0x64,0xfe,0xf0,0x1a,0x3a,0xed,0x89,0xf8,0xb5,0x34,0xd3,
45830x1e,0x0f,0xce,0x0d,0xce,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x38,0x32,0x31,
45840x30,0x36,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x65,0xa7,0x49,0xd8,0x37,0x22,
45850x4b,0x4a,0xe5,0xcf,0xa3,0xfe,0xd6,0x3b,0xc0,0x67,0x17,0x0d,0x30,0x32,0x31,
45860x32,0x30,0x34,0x31,0x37,0x31,0x34,0x31,0x36,0x5a,0x30,0x21,0x02,0x10,0x65,
45870xc9,0x9e,0x47,0x76,0x98,0x0d,0x9e,0x57,0xe4,0xae,0xc5,0x1c,0x3e,0xf2,0xe7,
45880x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x33,0x31,0x34,0x30,0x38,0x31,0x38,0x5a,
45890x30,0x21,0x02,0x10,0x65,0xe0,0x7b,0xc5,0x74,0xe4,0xab,0x01,0x4f,0xa3,0x5e,
45900xd6,0xeb,0xcd,0xd5,0x69,0x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x33,0x31,0x37,
45910x32,0x34,0x30,0x36,0x5a,0x30,0x21,0x02,0x10,0x66,0x51,0xb7,0xe5,0x62,0xb7,
45920xe3,0x31,0xc0,0xee,0xf2,0xe8,0xfe,0x84,0x6a,0x4e,0x17,0x0d,0x30,0x32,0x30,
45930x39,0x30,0x36,0x31,0x33,0x32,0x33,0x33,0x33,0x5a,0x30,0x21,0x02,0x10,0x67,
45940x7c,0x76,0xac,0x66,0x5a,0x6b,0x41,0x5c,0x07,0x83,0x02,0xd6,0xd9,0x63,0xc0,
45950x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x38,0x31,0x33,0x35,0x35,0x31,0x30,0x5a,
45960x30,0x21,0x02,0x10,0x68,0x67,0xde,0xb3,0xaa,0x20,0xcf,0x4b,0x34,0xa5,0xe0,
45970xc8,0xc0,0xc5,0xc9,0xa4,0x17,0x0d,0x30,0x32,0x30,0x33,0x31,0x32,0x30,0x31,
45980x30,0x39,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x69,0x23,0x34,0x5d,0x75,0x04,
45990xdc,0x99,0xbd,0xce,0x8d,0x21,0xb4,0x6b,0x10,0xfc,0x17,0x0d,0x30,0x32,0x30,
46000x39,0x30,0x33,0x31,0x33,0x31,0x39,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x69,
46010x9f,0x20,0x31,0xd1,0x3f,0xfa,0x1e,0x70,0x2e,0x37,0xd5,0x9a,0x8c,0x0a,0x16,
46020x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x30,0x30,0x39,0x30,0x31,0x33,0x35,0x5a,
46030x30,0x21,0x02,0x10,0x6a,0x94,0xd6,0x25,0xd0,0x67,0xe4,0x4d,0x79,0x2b,0xc6,
46040xd5,0xc9,0x4a,0x7f,0xc6,0x17,0x0d,0x30,0x32,0x30,0x32,0x31,0x31,0x31,0x39,
46050x31,0x35,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x6b,0x5c,0xa4,0x45,0x5b,0xe9,
46060xcf,0xe7,0x3b,0x29,0xb1,0x32,0xd7,0xa1,0x04,0x3d,0x17,0x0d,0x30,0x32,0x31,
46070x30,0x31,0x38,0x31,0x35,0x34,0x33,0x34,0x38,0x5a,0x30,0x21,0x02,0x10,0x6b,
46080xc0,0x7d,0x4f,0x18,0xfe,0xb7,0x07,0xe8,0x56,0x9a,0x6c,0x40,0x0f,0x36,0x53,
46090x17,0x0d,0x30,0x32,0x30,0x39,0x32,0x36,0x32,0x31,0x30,0x31,0x32,0x36,0x5a,
46100x30,0x21,0x02,0x10,0x6b,0xe1,0xdd,0x36,0x3b,0xec,0xe0,0xa9,0xf5,0x92,0x7e,
46110x33,0xbf,0xed,0x48,0x46,0x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x37,0x31,0x34,
46120x34,0x32,0x33,0x31,0x5a,0x30,0x21,0x02,0x10,0x6c,0xac,0xeb,0x37,0x2b,0x6a,
46130x42,0xe2,0xca,0xc8,0xd2,0xda,0xb8,0xb9,0x82,0x6a,0x17,0x0d,0x30,0x32,0x30,
46140x33,0x30,0x31,0x31,0x34,0x32,0x38,0x33,0x34,0x5a,0x30,0x21,0x02,0x10,0x6d,
46150x98,0x1b,0xb4,0x76,0xd1,0x62,0x59,0xa1,0x3c,0xee,0xd2,0x21,0xd8,0xdf,0x4c,
46160x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x34,0x31,0x37,0x35,0x36,0x31,0x32,0x5a,
46170x30,0x21,0x02,0x10,0x6d,0xdd,0x0b,0x5a,0x3c,0x9c,0xab,0xd3,0x3b,0xd9,0x16,
46180xec,0x69,0x74,0xfb,0x9a,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x32,0x31,0x32,
46190x32,0x36,0x33,0x38,0x5a,0x30,0x21,0x02,0x10,0x6e,0xde,0xfd,0x89,0x36,0xae,
46200xa0,0x41,0x8d,0x5c,0xec,0x2e,0x90,0x31,0xf8,0x9a,0x17,0x0d,0x30,0x32,0x30,
46210x34,0x30,0x38,0x32,0x32,0x33,0x36,0x31,0x32,0x5a,0x30,0x21,0x02,0x10,0x6f,
46220xb2,0x6b,0x4c,0x48,0xca,0xfe,0xe6,0x69,0x9a,0x06,0x63,0xc4,0x32,0x96,0xc1,
46230x17,0x0d,0x30,0x33,0x30,0x31,0x31,0x37,0x31,0x37,0x32,0x37,0x32,0x35,0x5a,
46240x30,0x21,0x02,0x10,0x70,0x0b,0xe1,0xee,0x44,0x89,0x51,0x52,0x65,0x27,0x2c,
46250x2d,0x34,0x7c,0xe0,0x8d,0x17,0x0d,0x30,0x32,0x30,0x39,0x31,0x38,0x30,0x30,
46260x33,0x36,0x30,0x30,0x5a,0x30,0x21,0x02,0x10,0x70,0x2d,0xc0,0xa6,0xb8,0xa5,
46270xa0,0xda,0x48,0x59,0xb3,0x96,0x34,0x80,0xc8,0x25,0x17,0x0d,0x30,0x32,0x30,
46280x38,0x33,0x30,0x31,0x34,0x30,0x31,0x30,0x31,0x5a,0x30,0x21,0x02,0x10,0x70,
46290xe1,0xd9,0x92,0xcd,0x76,0x42,0x63,0x51,0x6e,0xcd,0x8c,0x09,0x29,0x17,0x48,
46300x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x37,0x31,0x31,0x31,0x30,0x34,0x31,0x5a,
46310x30,0x21,0x02,0x10,0x72,0x38,0xe4,0x91,0x6a,0x7a,0x8a,0xf3,0xbf,0xf0,0xd8,
46320xe0,0xa4,0x70,0x8d,0xa8,0x17,0x0d,0x30,0x32,0x30,0x33,0x30,0x34,0x31,0x39,
46330x30,0x36,0x34,0x30,0x5a,0x30,0x21,0x02,0x10,0x72,0x97,0xa1,0xd8,0x9c,0x3b,
46340x00,0xc2,0xc4,0x26,0x2d,0x06,0x2b,0x29,0x76,0x4e,0x17,0x0d,0x30,0x32,0x30,
46350x36,0x31,0x38,0x31,0x35,0x30,0x39,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x72,
46360xd2,0x23,0x9b,0xf2,0x33,0xe9,0x7c,0xcf,0xb6,0xa9,0x41,0xd5,0x0e,0x5c,0x39,
46370x17,0x0d,0x30,0x33,0x30,0x34,0x30,0x39,0x31,0x37,0x30,0x32,0x32,0x39,0x5a,
46380x30,0x21,0x02,0x10,0x74,0x5c,0x9c,0xf9,0xaa,0xc3,0xfa,0x94,0x3c,0x25,0x39,
46390x65,0x44,0x95,0x13,0xf1,0x17,0x0d,0x30,0x32,0x30,0x37,0x30,0x39,0x32,0x33,
46400x35,0x33,0x32,0x30,0x5a,0x30,0x21,0x02,0x10,0x74,0x98,0x7f,0x68,0xad,0x17,
46410x92,0x93,0xf2,0x65,0x94,0x0c,0x33,0xe6,0xbd,0x49,0x17,0x0d,0x30,0x32,0x30,
46420x34,0x32,0x33,0x30,0x37,0x34,0x34,0x31,0x38,0x5a,0x30,0x21,0x02,0x10,0x75,
46430x0e,0x40,0xff,0x97,0xf0,0x47,0xed,0xf5,0x56,0xc7,0x08,0x4e,0xb1,0xab,0xfd,
46440x17,0x0d,0x30,0x31,0x30,0x31,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,
46450x30,0x21,0x02,0x10,0x75,0x26,0x51,0x59,0x65,0xb7,0x33,0x32,0x5f,0xe6,0xcd,
46460xaa,0x30,0x65,0x78,0xe0,0x17,0x0d,0x30,0x32,0x30,0x35,0x31,0x36,0x31,0x38,
46470x32,0x34,0x35,0x36,0x5a,0x30,0x21,0x02,0x10,0x76,0x13,0x6f,0xbf,0xc8,0xde,
46480xd9,0x36,0x30,0x39,0xcc,0x85,0x8f,0x00,0x2f,0x19,0x17,0x0d,0x30,0x32,0x30,
46490x33,0x31,0x34,0x30,0x39,0x34,0x38,0x32,0x34,0x5a,0x30,0x21,0x02,0x10,0x76,
46500x52,0x78,0x89,0x44,0xfa,0xc1,0xb3,0xd7,0xc9,0x4c,0xb3,0x32,0x95,0xaf,0x03,
46510x17,0x0d,0x30,0x32,0x31,0x31,0x31,0x34,0x31,0x39,0x31,0x35,0x34,0x33,0x5a,
46520x30,0x21,0x02,0x10,0x77,0x5d,0x4c,0x40,0xd9,0x8d,0xfa,0xc8,0x9a,0x24,0x8d,
46530x47,0x10,0x90,0x4a,0x0a,0x17,0x0d,0x30,0x32,0x30,0x35,0x30,0x39,0x30,0x31,
46540x31,0x33,0x30,0x32,0x5a,0x30,0x21,0x02,0x10,0x77,0xe6,0x5a,0x43,0x59,0x93,
46550x5d,0x5f,0x7a,0x75,0x80,0x1a,0xcd,0xad,0xc2,0x22,0x17,0x0d,0x30,0x30,0x30,
46560x38,0x33,0x31,0x31,0x38,0x32,0x32,0x35,0x30,0x5a,0x30,0x21,0x02,0x10,0x78,
46570x19,0xf1,0xb6,0x87,0x83,0xaf,0xdf,0x60,0x8d,0x9a,0x64,0x0d,0xec,0xe0,0x51,
46580x17,0x0d,0x30,0x32,0x30,0x35,0x32,0x30,0x31,0x37,0x32,0x38,0x31,0x36,0x5a,
46590x30,0x21,0x02,0x10,0x78,0x64,0x65,0x8f,0x82,0x79,0xdb,0xa5,0x1c,0x47,0x10,
46600x1d,0x72,0x23,0x66,0x52,0x17,0x0d,0x30,0x33,0x30,0x31,0x32,0x34,0x31,0x38,
46610x34,0x35,0x34,0x37,0x5a,0x30,0x21,0x02,0x10,0x78,0x64,0xe1,0xc0,0x69,0x8f,
46620x3a,0xc7,0x8b,0x23,0xe3,0x29,0xb1,0xee,0xa9,0x41,0x17,0x0d,0x30,0x32,0x30,
46630x35,0x30,0x38,0x31,0x37,0x34,0x36,0x32,0x36,0x5a,0x30,0x21,0x02,0x10,0x78,
46640x79,0x89,0x61,0x12,0x67,0x64,0x14,0xfd,0x08,0xcc,0xb3,0x05,0x55,0xc0,0x67,
46650x17,0x0d,0x30,0x32,0x30,0x34,0x30,0x32,0x31,0x33,0x31,0x38,0x35,0x33,0x5a,
46660x30,0x21,0x02,0x10,0x78,0x8a,0x56,0x22,0x08,0xce,0x42,0xee,0xd1,0xa3,0x79,
46670x10,0x14,0xfd,0x3a,0x36,0x17,0x0d,0x30,0x33,0x30,0x32,0x30,0x35,0x31,0x36,
46680x35,0x33,0x32,0x39,0x5a,0x30,0x21,0x02,0x10,0x7a,0xa0,0x6c,0xba,0x33,0x02,
46690xac,0x5f,0xf5,0x0b,0xb6,0x77,0x61,0xef,0x77,0x09,0x17,0x0d,0x30,0x32,0x30,
46700x32,0x32,0x38,0x31,0x37,0x35,0x35,0x31,0x31,0x5a,0x30,0x21,0x02,0x10,0x7b,
46710x91,0x33,0x66,0x6c,0xf0,0xd4,0xe3,0x9d,0xf6,0x88,0x29,0x9b,0xf7,0xd0,0xea,
46720x17,0x0d,0x30,0x32,0x31,0x31,0x32,0x30,0x32,0x32,0x31,0x36,0x34,0x39,0x5a,
46730x30,0x21,0x02,0x10,0x7c,0xef,0xf2,0x0a,0x08,0xae,0x10,0x57,0x1e,0xde,0xdc,
46740xd6,0x63,0x76,0xb0,0x5d,0x17,0x0d,0x30,0x32,0x30,0x32,0x32,0x36,0x31,0x30,
46750x32,0x32,0x33,0x30,0x5a,0x30,0x21,0x02,0x10,0x7f,0x76,0xef,0x69,0xeb,0xf5,
46760x3f,0x53,0x2e,0xaa,0xa5,0xed,0xde,0xc0,0xb4,0x06,0x17,0x0d,0x30,0x32,0x30,
46770x35,0x30,0x31,0x30,0x33,0x33,0x33,0x30,0x37,0x5a,0x30,0x21,0x02,0x10,0x7f,
46780xcb,0x6b,0x99,0x91,0xd0,0x76,0xe1,0x3c,0x0e,0x67,0x15,0xc4,0xd4,0x4d,0x7b,
46790x17,0x0d,0x30,0x32,0x30,0x34,0x31,0x30,0x32,0x31,0x31,0x38,0x34,0x30,0x5a,
46800x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x04,0x05,0x00,
46810x03,0x81,0x81,0x00,0x5c,0xb9,0xb3,0xbe,0xd3,0xd6,0x73,0xa3,0xfe,0x4a,0xb2,
46820x21,0x80,0xea,0xaa,0x05,0x61,0x14,0x1d,0x67,0xb1,0xdf,0xa6,0xf9,0x42,0x08,
46830x0d,0x59,0x62,0x9c,0x11,0x5f,0x0e,0x92,0xc5,0xc6,0xae,0x74,0x64,0xc7,0x84,
46840x3e,0x64,0x43,0xd2,0xec,0xbb,0xe1,0x9b,0x52,0x74,0x57,0xcf,0x96,0xef,0x68,
46850x02,0x7a,0x7b,0x36,0xb7,0xc6,0x9a,0x5f,0xca,0x9c,0x37,0x47,0xc8,0x3a,0x5c,
46860x34,0x35,0x3b,0x4b,0xca,0x20,0x77,0x44,0x68,0x07,0x02,0x34,0x46,0xaa,0x0f,
46870xd0,0x4d,0xd9,0x47,0xf4,0xb3,0x2d,0xb1,0x44,0xa5,0x69,0xa9,0x85,0x13,0x43,
46880xcd,0xcc,0x1d,0x9a,0xe6,0x2d,0xfd,0x9f,0xdc,0x2f,0x83,0xbb,0x8c,0xe2,0x8c,
46890x61,0xc0,0x99,0x16,0x71,0x05,0xb6,0x25,0x14,0x64,0x4f,0x30 };
4704 "Expected CRYPT_E_ASN1_CORRUPT, got %08lx\n",
GetLastError());
4716 ok(
info->cCRLEntry == 0,
"Expected 0 CRL entries, got %ld\n",
4719 "Wrong issuer size %ld\n",
info->Issuer.cbData);
4721 "Unexpected issuer\n");
4729 "Expected CRYPT_E_ASN1_CORRUPT or CRYPT_E_BAD_ENCODE, got %08lx\n",
4742 ok(
info->cCRLEntry == 1,
"Expected 1 CRL entries, got %ld\n",
4744 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4746 ok(
entry->SerialNumber.cbData == 1,
4747 "Expected serial number size 1, got %ld\n",
4748 entry->SerialNumber.cbData);
4750 "Expected serial number %d, got %d\n", *
serialNum,
4751 *
entry->SerialNumber.pbData);
4753 "Wrong issuer size %ld\n",
info->Issuer.cbData);
4755 "Unexpected issuer\n");
4768 ok(
info->cCRLEntry == 3,
"Expected 3 CRL entries, got %ld\n",
4770 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4771 ok(
info->cExtension == 2,
"Expected 2 extensions, got %ld\n",
4785 ok(
info->cCRLEntry == 209,
"Expected 209 CRL entries, got %ld\n",
4787 ok(
info->cExtension == 0,
"Expected 0 extensions, got %ld\n",
4802 ok(
info->cCRLEntry == 1,
"Expected 1 CRL entries, got %ld\n",
4804 ok(
info->rgCRLEntry !=
NULL,
"Expected a valid CRL entry array\n");
4806 ok(
entry->SerialNumber.cbData == 1,
4807 "Expected serial number size 1, got %ld\n",
4808 entry->SerialNumber.cbData);
4810 "Expected serial number %d, got %d\n", *
serialNum,
4811 *
entry->SerialNumber.pbData);
4813 "Wrong issuer size %ld\n",
info->Issuer.cbData);
4815 "Unexpected issuer\n");
4816 ok(
info->cExtension == 1,
"Expected 1 extensions, got %ld\n",
4828 ok(
info->cExtension == 1,
"Expected 1 extensions, got %ld\n",
4837 0x30, 0x1f, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03,
4838 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x09,
4839 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01 };
4849 usage.cUsageIdentifier = 0;
4888 "Wrong size %ld\n",
size);
4889 ok(
usage->cUsageIdentifier == 0,
"Expected 0 CRL entries, got %ld\n",
4890 usage->cUsageIdentifier);
4903 "Wrong size %ld\n",
size);
4905 "Wrong CRL entries count %ld\n",
usage->cUsageIdentifier);
4906 for (
i = 0;
i <
usage->cUsageIdentifier;
i++)
4909 usage->rgpszUsageIdentifier[
i]);
4927 0x30,0x06,0x80,0x04,0x01,0x02,0x03,0x04 };
4929 0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,
4930 0x20,0x4c,0x61,0x6e,0x67,0x00 };
4963 info.KeyId.cbData = 0;
4977 info.CertIssuer.cbData = 0;
5008 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5009 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5010 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5023 ok(
info->KeyId.cbData ==
sizeof(
keyId),
"Unexpected key id len\n");
5025 "Unexpected key id\n");
5026 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5027 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5040 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5042 "Unexpected issuer len\n");
5045 ok(
info->CertSerialNumber.cbData == 0,
"Expected no serial number\n");
5058 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5059 ok(
info->CertIssuer.cbData == 0,
"Expected no issuer name\n");
5061 "Unexpected serial number len\n");
5063 "Unexpected serial number\n");
5069 0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,
5104 info.KeyId.cbData = 0;
5105 info.AuthorityCertIssuer.cAltEntry = 1;
5106 info.AuthorityCertIssuer.rgAltEntry = &
entry;
5122 "Unexpected value\n");
5126 info.AuthorityCertIssuer.cAltEntry = 0;
5157 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5158 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5159 "Expected no issuer name entries\n");
5160 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5161 "Expected no serial number\n");
5174 ok(
info->KeyId.cbData ==
sizeof(
keyId),
"Unexpected key id len\n");
5176 "Unexpected key id\n");
5177 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5178 "Expected no issuer name entries\n");
5179 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5180 "Expected no serial number\n");
5193 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5194 ok(
info->AuthorityCertIssuer.cAltEntry == 1,
5195 "Expected 1 issuer entry, got %ld\n",
5196 info->AuthorityCertIssuer.cAltEntry);
5197 ok(
info->AuthorityCertIssuer.rgAltEntry[0].dwAltNameChoice ==
5199 info->AuthorityCertIssuer.rgAltEntry[0].dwAltNameChoice);
5201 url),
"Unexpected URL\n");
5202 ok(
info->AuthorityCertSerialNumber.cbData == 0,
5203 "Expected no serial number\n");
5216 ok(
info->KeyId.cbData == 0,
"Expected no key id\n");
5217 ok(
info->AuthorityCertIssuer.cAltEntry == 0,
5218 "Expected no issuer name entries\n");
5220 "Unexpected serial number len\n");
5222 sizeof(
serialNum)),
"Unexpected serial number\n");
52280x30,0x19,0x30,0x17,0x06,0x02,0x2a,0x03,0x86,0x11,0x68,0x74,0x74,0x70,0x3a,
52290x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
52310x30,0x29,0x30,0x17,0x06,0x02,0x2a,0x03,0x86,0x11,0x68,0x74,0x74,0x70,0x3a,
52320x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67,0x30,0x0e,0x06,
52330x02,0x2d,0x06,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,0x01 };
5237 static char oid1[] =
"1.2.3";
5238 static char oid2[] =
"1.5.6";
5245 memset(accessDescription, 0,
sizeof(accessDescription));
5261 aia.rgAccDescr = accessDescription;
5283 "unexpected value\n");
5298 "unexpected size %ld\n",
size);
5300 "unexpected value\n");
5313 "%s: expected %ld access descriptions, got %ld\n",
header,
5328 static char oid1[] =
"1.2.3";
5329 static char oid2[] =
"1.5.6";
5360 aia.rgAccDescr = &accessDescription;
5384 aia.rgAccDescr = accessDescription;
54060x30,0x17,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54070x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54090x30,0x1a,0x02,0x01,0x01,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54100x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54120x30,0x1b,0x30,0x04,0x06,0x02,0x2a,0x03,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,
54130x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54150x30,0x1a,0x30,0x00,0x04,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54160x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54180x30,0x1a,0x30,0x00,0x02,0x01,0x01,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,
54190x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54210x30,0x15,0x30,0x00,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54220x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54240x30,0x24,0x30,0x00,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54250x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x35,0x30,0x36,0x30,0x36,0x31,0x36,0x31,
54260x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00 };
54280x30,0x1b,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54290x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x06,0x06,0x02,0x2d,0x06,0x05,0x00 };
54310x30,0x29,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54320x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x10,0x30,0x0e,0x04,
54330x01,0x01,0x31,0x09,0x30,0x07,0x06,0x02,0x2a,0x03,0x31,0x01,0x01 };
54350x30,0x2a,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54360x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x11,0x30,0x0f,0x04,
54370x01,0x01,0x31,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x31,0x02,0x30,0x00 };
54390x30,0x41,0x30,0x00,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
54400x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x02,0x06,0x00,0x30,0x28,0x30,0x0f,0x04,
54410x01,0x01,0x31,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x31,0x02,0x30,0x00,0x30,
54420x15,0x04,0x01,0x01,0x31,0x10,0x30,0x0e,0x06,0x02,0x2d,0x06,0x31,0x08,0x30,
54430x06,0x87,0x04,0x7f,0x00,0x00,0x01 };
5447 static char oid1[] =
"1.2.3";
5448 static char oid2[] =
"1.5.6";
5454 SYSTEMTIME thisUpdate = { 2005, 6, 1, 6, 16, 10, 0, 0 };
5482 info.SubjectUsage.cUsageIdentifier = 1;
5483 info.SubjectUsage.rgpszUsageIdentifier = &pOid1;
5495 info.SubjectUsage.cUsageIdentifier = 0;
5508 info.ListIdentifier.cbData = 0;
5522 info.SequenceNumber.cbData = 0;
5546 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5547 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5548 info.SubjectAlgorithm.pszObjId = oid2;
5562 info.SubjectAlgorithm.pszObjId =
NULL;
5573 info.rgCTLEntry = ctlEntry;
5624 "%s: expected version %ld, got %ld\n",
header,
expected->dwVersion,
5626 ok(
expected->SubjectUsage.cUsageIdentifier ==
5628 "%s: expected %ld usage identifiers, got %ld\n",
header,
5629 expected->SubjectUsage.cUsageIdentifier,
5631 for (
i = 0;
i <
expected->SubjectUsage.cUsageIdentifier;
i++)
5634 "%s[%ld]: expected %s, got %s\n",
header,
i,
5635 expected->SubjectUsage.rgpszUsageIdentifier[
i],
5638 "%s: expected list identifier of %ld bytes, got %ld\n",
header,
5640 if (
expected->ListIdentifier.cbData)
5643 "%s: unexpected list identifier value\n",
header);
5645 "%s: expected sequence number of %ld bytes, got %ld\n",
header,
5647 if (
expected->SequenceNumber.cbData)
5650 "%s: unexpected sequence number value\n",
header);
5652 "%s: expected this update = (%ld, %ld), got (%ld, %ld)\n",
header,
5656 "%s: expected next update = (%ld, %ld), got (%ld, %ld)\n",
header,
5659 if (
expected->SubjectAlgorithm.pszObjId &&
5661 ok(0,
"%s: expected subject algorithm %s, got NULL\n",
header,
5662 expected->SubjectAlgorithm.pszObjId);
5666 "%s: expected subject algorithm %s, got %s\n",
header,
5668 ok(
expected->SubjectAlgorithm.Parameters.cbData ==
5670 "%s: expected subject algorithm parameters of %ld bytes, got %ld\n",
header,
5671 expected->SubjectAlgorithm.Parameters.cbData,
5673 if (
expected->SubjectAlgorithm.Parameters.cbData)
5676 expected->SubjectAlgorithm.Parameters.cbData),
5677 "%s: unexpected subject algorithm parameter value\n",
header);
5679 "%s: expected %ld CTL entries, got %ld\n",
header,
expected->cCTLEntry,
5683 ok(
expected->rgCTLEntry[
i].SubjectIdentifier.cbData ==
5685 "%s[%ld]: expected subject identifier of %ld bytes, got %ld\n",
5688 if (
expected->rgCTLEntry[
i].SubjectIdentifier.cbData)
5691 expected->rgCTLEntry[
i].SubjectIdentifier.cbData),
5692 "%s[%ld]: unexpected subject identifier value\n",
5694 for (
j = 0;
j <
expected->rgCTLEntry[
i].cAttribute;
j++)
5698 "%s[%ld][%ld]: expected attribute OID %s, got %s\n",
header,
i,
j,
5699 expected->rgCTLEntry[
i].rgAttribute[
j].pszObjId,
5701 for (
k = 0;
k <
expected->rgCTLEntry[
i].rgAttribute[
j].cValue;
k++)
5703 ok(
expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData ==
5705 "%s[%ld][%ld][%ld]: expected value of %ld bytes, got %ld\n",
5707 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData,
5709 if (
expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData)
5711 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].pbData,
5713 expected->rgCTLEntry[
i].rgAttribute[
j].rgValue[
k].cbData),
5714 "%s[%ld][%ld][%ld]: unexpected value\n",
5720 "%s: expected %ld extensions, got %ld\n",
header,
expected->cExtension,
5729 "%s[%ld]: expected fCritical = %d, got %d\n",
header,
i,
5733 "%s[%ld]: expected extension value to have %ld bytes, got %ld\n",
5736 if (
expected->rgExtension[
i].Value.cbData)
5740 "%s[%ld]: unexpected extension value\n",
header,
i);
57450x30,0x81,0xc7,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,0xa0,
57460x81,0xb9,0x30,0x81,0xb6,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,0x08,0x2a,
57470x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x28,0x06,0x09,0x2a,0x86,
57480x48,0x86,0xf7,0x0d,0x01,0x07,0x01,0xa0,0x1b,0x04,0x19,0x30,0x17,0x30,0x00,
57490x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
57500x30,0x5a,0x30,0x02,0x06,0x00,0x31,0x77,0x30,0x75,0x02,0x01,0x01,0x30,0x1a,
57510x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,
57520x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,
57530x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x04,0x06,0x00,0x05,
57540x00,0x04,0x40,0xca,0xd8,0x32,0xd1,0xbd,0x97,0x61,0x54,0xd6,0x80,0xcf,0x0d,
57550xbd,0xa2,0x42,0xc7,0xca,0x37,0x91,0x7d,0x9d,0xac,0x8c,0xdf,0x05,0x8a,0x39,
57560xc6,0x07,0xc1,0x37,0xe6,0xb9,0xd1,0x0d,0x26,0xec,0xa5,0xb0,0x8a,0x51,0x26,
57570x2b,0x4f,0x73,0x44,0x86,0x83,0x5e,0x2b,0x6e,0xcc,0xf8,0x1b,0x85,0x53,0xe9,
57580x7a,0x80,0x8f,0x6b,0x42,0x19,0x93 };
57600x30,0x82,0x01,0x0f,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,
57610xa0,0x82,0x01,0x00,0x30,0x81,0xfd,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,
57620x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x30,0x06,0x09,
57630x2b,0x06,0x01,0x04,0x01,0x82,0x37,0x0a,0x01,0xa0,0x23,0x30,0x21,0x30,0x00,
57640x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30,
57650x30,0x5a,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,0x05,0x05,
57660x00,0x31,0x81,0xb5,0x30,0x81,0xb2,0x02,0x01,0x01,0x30,0x1a,0x30,0x15,0x31,
57670x13,0x30,0x11,0x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,
57680x4c,0x61,0x6e,0x67,0x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,
57690x86,0xf7,0x0d,0x02,0x05,0x05,0x00,0xa0,0x3b,0x30,0x18,0x06,0x09,0x2a,0x86,
57700x48,0x86,0xf7,0x0d,0x01,0x09,0x03,0x31,0x0b,0x06,0x09,0x2b,0x06,0x01,0x04,
57710x01,0x82,0x37,0x0a,0x01,0x30,0x1f,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
57720x01,0x09,0x04,0x31,0x12,0x04,0x10,0x54,0x71,0xbc,0xe1,0x56,0x31,0xa2,0xf9,
57730x65,0x70,0x34,0xf8,0xe2,0xe9,0xb4,0xf4,0x30,0x04,0x06,0x00,0x05,0x00,0x04,
57740x40,0x2f,0x1b,0x9f,0x5a,0x4a,0x15,0x73,0xfa,0xb1,0x93,0x3d,0x09,0x52,0xdf,
57750x6b,0x98,0x4b,0x13,0x5e,0xe7,0xbf,0x65,0xf4,0x9c,0xc2,0xb1,0x77,0x09,0xb1,
57760x66,0x4d,0x72,0x0d,0xb1,0x1a,0x50,0x20,0xe0,0x57,0xa2,0x39,0xc7,0xcd,0x7f,
57770x8e,0xe7,0x5f,0x76,0x2b,0xd1,0x6a,0x82,0xb3,0x30,0x25,0x61,0xf6,0x25,0x23,
57780x57,0x6c,0x0b,0x47,0xb8 };
5782 static char oid1[] =
"1.2.3";
5783 static char oid2[] =
"1.5.6";
5784 static BYTE nullData[] = { 5,0 };
5790 SYSTEMTIME thisUpdate = { 2005, 6, 1, 6, 16, 10, 0, 0 };
5817 info.SubjectUsage.cUsageIdentifier = 1;
5818 info.SubjectUsage.rgpszUsageIdentifier = &pOid1;
5829 info.SubjectUsage.cUsageIdentifier = 0;
5841 info.ListIdentifier.cbData = 0;
5853 info.SequenceNumber.cbData = 0;
5875 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5876 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5877 info.SubjectAlgorithm.pszObjId = oid2;
5878 info.SubjectAlgorithm.Parameters.cbData =
sizeof(nullData);
5879 info.SubjectAlgorithm.Parameters.pbData = nullData;
5893 "expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %08lx\n",
5895 info.SubjectAlgorithm.Parameters.cbData = 0;
5896 info.ThisUpdate.dwLowDateTime =
info.ThisUpdate.dwHighDateTime = 0;
5897 info.NextUpdate.dwLowDateTime =
info.NextUpdate.dwHighDateTime = 0;
5898 info.SubjectAlgorithm.pszObjId =
NULL;
5909 info.rgCTLEntry = ctlEntry;
5944 "expected CRYPT_E_ASN1_BADTAG, got %08lx\n",
GetLastError());
5950 "expected CRYPT_E_ASN1_BADTAG, got %08lx\n",
GetLastError());
5959 0x03,0x02,0x01,0x01 };
5968 char oid1[] =
"1.2.3";
5974 "Expected STATUS_ACCESS_VIOLATION, got %lx\n",
GetLastError());
6003 info.Content.cbData =
ints[0].encoded[1] + 2;
60150x30,0x80,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x07,0x02,0xa0,0x80,
60160x30,0x80,0x02,0x01,0x01,0x31,0x0e,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,
60170xf7,0x0d,0x02,0x05,0x05,0x00,0x30,0x80,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,
60180x0d,0x01,0x07,0x01,0xa0,0x80,0x24,0x80,0x04,0x04,0x01,0x02,0x03,0x04,0x04,
60190x04,0x01,0x02,0x03,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x81,0xd2,0x30,
60200x81,0xcf,0x02,0x01,0x01,0x30,0x02,0x06,0x00,0x30,0x15,0x31,0x13,0x30,0x11,
60210x06,0x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
60220x67,0x00,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,0x31,0x30,
60230x30,0x30,0x30,0x30,0x30,0x5a,0x18,0x0f,0x31,0x36,0x30,0x31,0x30,0x31,0x30,
60240x31,0x30,0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
60250x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
60260x00,0x30,0x5c,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,
60270x01,0x05,0x00,0x03,0x4b,0x00,0x30,0x48,0x02,0x41,0x00,0xe2,0x54,0x3a,0xa7,
60280x83,0xb1,0x27,0x14,0x3e,0x59,0xbb,0xb4,0x53,0xe6,0x1f,0xe7,0x5d,0xf1,0x21,
60290x68,0xad,0x85,0x53,0xdb,0x6b,0x1e,0xeb,0x65,0x97,0x03,0x86,0x60,0xde,0xf3,
60300x6c,0x38,0x75,0xe0,0x4c,0x61,0xbb,0xbc,0x62,0x17,0xa9,0xcd,0x79,0x3f,0x21,
60310x4e,0x96,0xcb,0x0e,0xdc,0x61,0x94,0x30,0x18,0x10,0x6b,0xd0,0x1c,0x10,0x79,
60320x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,0x1d,
60330x13,0x01,0x01,0xff,0x04,0x08,0x30,0x06,0x01,0x01,0xff,0x02,0x01,0x01,0x31,
60340x77,0x30,0x75,0x02,0x01,0x01,0x30,0x1a,0x30,0x15,0x31,0x13,0x30,0x11,0x06,
60350x03,0x55,0x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,
60360x00,0x02,0x01,0x01,0x30,0x0c,0x06,0x08,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x02,
60370x05,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,0x40,0x57,0xba,0xe0,0xad,
60380xfe,0x36,0x8d,0xb3,0x88,0xa2,0x8d,0x84,0x82,0x52,0x09,0x09,0xd9,0xf0,0xb8,
60390x04,0xfa,0xb5,0x51,0x0b,0x2b,0x2e,0xd5,0x72,0x3e,0x3d,0x13,0x8a,0x51,0xc3,
60400x71,0x65,0x9a,0x52,0xf2,0x8f,0xb2,0x5b,0x39,0x28,0xb3,0x29,0x36,0xa5,0x8d,
60410xe3,0x55,0x71,0x91,0xf9,0x2a,0xd1,0xb8,0xaa,0x52,0xb8,0x22,0x3a,0xeb,0x61,
60420x00,0x00,0x00,0x00,0x00,0x00 };
6088 "1.2.3",
ints[0].encoded,
ints[0].encoded[1] + 2 },
6090 "1.2.840.113549.1.7.2",
NULL, 392 },
6109 "[%lu] Unexpected size %ld expected %d\n",
i,
info->Content.cbData,
6113 "[%lu] Unexpected value\n",
i);
6125 "Expected CRYPT_E_ASN1_EOD or CRYPT_E_ASN1_CORRUPT, got %lx\n",
6143 char oid[] =
"1.2.3";
6149 "Expected STATUS_ACCESS_VIOLATION, got %lx\n",
GetLastError());
6156 attr.pszObjId = oid;
6180 blob.cbData =
ints[0].encoded[1] + 2;
6206 ok(!
strcmp(
attr->pszObjId,
"1.2.3"),
"Expected 1.2.3, got %s\n",
6208 ok(
attr->cValue == 0,
"Expected no value, got %ld\n",
attr->cValue);
6219 "Expected CRYPT_E_ASN1_EOD, CRYPT_E_ASN1_CORRUPT, got %lx\n",
6229 ok(!
strcmp(
attr->pszObjId,
"1.2.3"),
"Expected 1.2.3, got %s\n",
6231 ok(
attr->cValue == 1,
"Expected 1 value, got %ld\n",
attr->cValue);
6232 ok(
attr->rgValue[0].cbData ==
ints[0].encoded[1] + 2,
6233 "Unexpected size %ld\n",
attr->rgValue[0].cbData);
6235 attr->rgValue[0].cbData),
"Unexpected value\n");
6242 0x2a,0x03,0x31,0x00 };
6244 0x2a,0x03,0x31,0x00,0x30,0x09,0x06,0x02,0x2d,0x06,0x31,0x03,0x02,0x01,0x01 };
6254 char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6265 attributes.
cAttr = 1;
6281 attr[1].pszObjId = oid2;
6285 blob.cbData =
ints[0].encoded[1] + 2;
6286 attributes.
cAttr = 2;
6312 ok(attributes->
cAttr == 0,
"Expected no attributes, got %ld\n",
6323 ok(attributes->
cAttr == 1,
"Expected 1 attribute, got %ld\n",
6328 "Expected no attributes, got %ld\n", attributes->
rgAttr[0].
cValue);
6338 ok(attributes->
cAttr == 2,
"Expected 2 attributes, got %ld\n",
6343 "Expected no attributes, got %ld\n", attributes->
rgAttr[0].
cValue);
6347 "Expected 1 attribute, got %ld\n", attributes->
rgAttr[1].
cValue);
63680x30,0x06,0x30,0x04,0x06,0x02,0x2d,0x06 };
63700x30,0x0c,0x30,0x04,0x06,0x02,0x2d,0x06,0x30,0x04,0x06,0x02,0x2a,0x03 };
63720x30,0x08,0x30,0x06,0x06,0x02,0x2d,0x06,0x05,0x00 };
6376 static char oid1[] =
"1.5.6", oid2[] =
"1.2.3";
6436 "%s: expected %ld capabilities, got %ld\n",
header,
expected->cCapability,
6446 "%s[%ld]: expected %ld bytes, got %ld\n",
header,
i,
6447 expected->rgCapability[
i].Parameters.cbData,
6449 if (
expected->rgCapability[
i].Parameters.cbData)
6452 expected->rgCapability[
i].Parameters.cbData),
6453 "%s[%ld]: unexpected value\n",
header,
i);
6459 static char oid1[] =
"1.5.6", oid2[] =
"1.2.3";
6497 BYTE NULLparam[] = {0x05, 0x00};
6537 0x06,0x03,0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,
6540 0x30,0x2b,0x02,0x01,0x00,0x30,0x18,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6541 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6542 0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,0x00 };
6544 0x30,0x2c,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6545 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6546 0x01,0x01,0x30,0x04,0x06,0x00,0x05,0x00,0x30,0x04,0x06,0x00,0x05,0x00,0x04,
6549 0x30,0x2e,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6550 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6551 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x04,0x06,0x00,0x05,
6554 0x30,0x30,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6555 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6556 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x06,0x06,0x02,0x2d,
6557 0x06,0x05,0x00,0x04,0x00 };
6559 0x30,0x40,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
6560 0x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
6561 0x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0x30,0x06,0x06,0x02,0x2d,
6562 0x06,0x05,0x00,0x04,0x10,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
6563 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f };
65650x30,0x62,0x02,0x01,0x00,0x30,0x19,0x30,0x14,0x31,0x12,0x30,0x10,0x06,0x03,
65660x55,0x04,0x03,0x13,0x09,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x02,
65670x01,0x01,0x30,0x06,0x06,0x02,0x2a,0x03,0x05,0x00,0xa0,0x20,0x30,0x1e,0x06,
65680x03,0x55,0x04,0x03,0x31,0x17,0x30,0x15,0x31,0x13,0x30,0x11,0x06,0x03,0x55,
65690x04,0x03,0x13,0x0a,0x4a,0x75,0x61,0x6e,0x20,0x4c,0x61,0x6e,0x67,0x00,0x30,
65700x06,0x06,0x02,0x2d,0x06,0x05,0x00,0x04,0x10,0x00,0x01,0x02,0x03,0x04,0x05,
65710x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f };
6575 static char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6611 ok(0,
"Unexpected value\n");
6632 "Unexpected value\n");
6634 ok(0,
"Unexpected value\n");
6638 info.HashAlgorithm.pszObjId =
oid1;
6654 "Unexpected value\n");
6656 ok(0,
"Unexpected value\n");
6660 info.HashEncryptionAlgorithm.pszObjId = oid2;
6673 "Unexpected size %ld\n",
size);
6676 "Unexpected value\n");
6678 ok(0,
"Unexpected value\n");
6682 info.EncryptedHash.cbData =
sizeof(
hash);
6699 "Unexpected value\n");
6701 ok(0,
"Unexpected value\n");
6705 info.AuthAttrs.cAttr = 1;
6722 "Unexpected value\n");
6724 ok(0,
"Unexpected value\n");
6743 "Expected CRYPT_E_ASN1_CORRUPT, got %lx\n",
6752 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
6755 "Unexpected size %ld\n",
info->Issuer.cbData);
6757 info->Issuer.cbData),
"Unexpected value\n");
6759 "Unexpected size %ld\n",
info->SerialNumber.cbData);
6761 "Unexpected value\n");
6770 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
6773 "Unexpected size %ld\n",
info->Issuer.cbData);
6775 info->Issuer.cbData),
"Unexpected value\n");
6777 "Unexpected size %ld\n",
info->SerialNumber.cbData);
6779 "Unexpected value\n");
6781 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6791 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
6794 "Unexpected size %ld\n",
info->Issuer.cbData);
6796 info->Issuer.cbData),
"Unexpected value\n");
6798 "Unexpected size %ld\n",
info->SerialNumber.cbData);
6800 "Unexpected value\n");
6802 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6803 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId,
"1.5.6"),
6804 "Expected 1.5.6, got %s\n",
info->HashEncryptionAlgorithm.pszObjId);
6813 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
6816 "Unexpected size %ld\n",
info->Issuer.cbData);
6818 info->Issuer.cbData),
"Unexpected value\n");
6820 "Unexpected size %ld\n",
info->SerialNumber.cbData);
6822 "Unexpected value\n");
6824 "Expected 1.2.3, got %s\n",
info->HashAlgorithm.pszObjId);
6825 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId,
"1.5.6"),
6826 "Expected 1.5.6, got %s\n",
info->HashEncryptionAlgorithm.pszObjId);
6827 ok(
info->EncryptedHash.cbData ==
sizeof(
hash),
"Unexpected size %ld\n",
6828 info->EncryptedHash.cbData);
6830 "Unexpected value\n");
6839 ok(
info->AuthAttrs.cAttr == 1,
"Expected 1 attribute, got %ld\n",
6840 info->AuthAttrs.cAttr);
6843 info->AuthAttrs.rgAttr[0].pszObjId);
6844 ok(
info->AuthAttrs.rgAttr[0].cValue == 1,
"Expected 1 value, got %ld\n",
6845 info->AuthAttrs.rgAttr[0].cValue);
6846 ok(
info->AuthAttrs.rgAttr[0].rgValue[0].cbData ==
6848 info->AuthAttrs.rgAttr[0].rgValue[0].cbData);
6849 ok(!
memcmp(
info->AuthAttrs.rgAttr[0].rgValue[0].pbData,
68560x30,0x14,0x02,0x01,0x00,0x80,0x01,0x01,0x30,0x04,0x06,0x00,0x05,0x00,0x30,
68570x04,0x06,0x00,0x05,0x00,0x04,0x00 };
6865 static char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
6870 ok(!
ret,
"Expected failure, got %d\n",
ret);
6877 ok(!
ret,
"Expected failure, got %d\n",
ret);
6903 info.SignerId.IssuerSerialNumber.SerialNumber.cbData =
sizeof(
serialNum);
6947 info.SignerId.HashId.cbData =
sizeof(
hash);
6958 info.HashAlgorithm.pszObjId =
oid1;
6973 "Unexpected value\n");
6977 info.HashEncryptionAlgorithm.pszObjId = oid2;
6990 "Unexpected size %ld\n",
size);
6992 "Unexpected value\n");
6996 info.EncryptedHash.cbData =
sizeof(
hash);
7023 static const char oid1[] =
"1.2.3", oid2[] =
"1.5.6";
7030 ok(!
ret,
"expected failure\n");
7032 "Expected CRYPT_E_ASN1_CORRUPT, got %lx\n",
GetLastError());
7040 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
7043 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %ld\n",
7044 info->SignerId.dwIdChoice);
7045 ok(
info->SignerId.IssuerSerialNumber.Issuer.cbData ==
7047 info->SignerId.IssuerSerialNumber.Issuer.cbData);
7048 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.Issuer.pbData,
7050 info->SignerId.IssuerSerialNumber.Issuer.cbData),
7051 "Unexpected value\n");
7052 ok(
info->SignerId.IssuerSerialNumber.SerialNumber.cbData ==
7053 sizeof(
serialNum),
"Unexpected size %ld\n",
7054 info->SignerId.IssuerSerialNumber.SerialNumber.cbData);
7055 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.SerialNumber.pbData,
7066 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
7069 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %ld\n",
7070 info->SignerId.dwIdChoice);
7071 ok(
info->SignerId.IssuerSerialNumber.Issuer.cbData ==
7073 info->SignerId.IssuerSerialNumber.Issuer.cbData);
7074 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.Issuer.pbData,
7076 info->SignerId.IssuerSerialNumber.Issuer.cbData),
7077 "Unexpected value\n");
7078 ok(
info->SignerId.IssuerSerialNumber.SerialNumber.cbData ==
7079 sizeof(
serialNum),
"Unexpected size %ld\n",
7080 info->SignerId.IssuerSerialNumber.SerialNumber.cbData);
7081 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.SerialNumber.pbData,
7084 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7095 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
7098 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %ld\n",
7099 info->SignerId.dwIdChoice);
7100 ok(
info->SignerId.IssuerSerialNumber.Issuer.cbData ==
7102 info->SignerId.IssuerSerialNumber.Issuer.cbData);
7103 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.Issuer.pbData,
7105 info->SignerId.IssuerSerialNumber.Issuer.cbData),
7106 "Unexpected value\n");
7107 ok(
info->SignerId.IssuerSerialNumber.SerialNumber.cbData ==
7108 sizeof(
serialNum),
"Unexpected size %ld\n",
7109 info->SignerId.IssuerSerialNumber.SerialNumber.cbData);
7110 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.SerialNumber.pbData,
7113 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7114 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId, oid2),
7115 "Expected %s, got %s\n", oid2,
info->HashEncryptionAlgorithm.pszObjId);
7125 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
7128 "Expected CERT_ID_ISSUER_SERIAL_NUMBER, got %ld\n",
7129 info->SignerId.dwIdChoice);
7130 ok(
info->SignerId.IssuerSerialNumber.Issuer.cbData ==
7132 info->SignerId.IssuerSerialNumber.Issuer.cbData);
7133 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.Issuer.pbData,
7135 info->SignerId.IssuerSerialNumber.Issuer.cbData),
7136 "Unexpected value\n");
7137 ok(
info->SignerId.IssuerSerialNumber.SerialNumber.cbData ==
7138 sizeof(
serialNum),
"Unexpected size %ld\n",
7139 info->SignerId.IssuerSerialNumber.SerialNumber.cbData);
7140 ok(!
memcmp(
info->SignerId.IssuerSerialNumber.SerialNumber.pbData,
7143 "Expected %s, got %s\n",
oid1,
info->HashAlgorithm.pszObjId);
7144 ok(!
strcmp(
info->HashEncryptionAlgorithm.pszObjId, oid2),
7145 "Expected %s, got %s\n", oid2,
info->HashEncryptionAlgorithm.pszObjId);
7146 ok(
info->EncryptedHash.cbData ==
sizeof(
hash),
"Unexpected size %ld\n",
7147 info->EncryptedHash.cbData);
7149 "Unexpected value\n");
7159 ok(
info->dwVersion == 0,
"Expected version 0, got %ld\n",
7162 "Expected CERT_ID_KEY_IDENTIFIER, got %ld\n",
7163 info->SignerId.dwIdChoice);
7165 "Unexpected size %ld\n",
info->SignerId.KeyId.cbData);
7167 "Unexpected value\n");
71730x30,0x06,0xa0,0x04,0x30,0x02,0x82,0x00 };
71750x30,0x06,0xa1,0x04,0x30,0x02,0x82,0x00 };
71770x30,0x17,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,
71780x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
71800x30,0x25,0xa0,0x0c,0x30,0x0a,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
71810x01,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,
71820x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
71840x30,0x28,0xa0,0x0f,0x30,0x0d,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
71850x01,0x80,0x01,0x05,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,0x74,0x70,0x3a,
71860x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
71880x30,0x2b,0xa0,0x12,0x30,0x10,0x87,0x08,0x30,0x06,0x87,0x04,0x7f,0x00,0x00,
71890x01,0x80,0x01,0x05,0x81,0x01,0x03,0xa1,0x15,0x30,0x13,0x82,0x11,0x68,0x74,
71900x74,0x70,0x3a,0x2f,0x2f,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,0x67 };
7225 "Unexpected value\n");
7239 "Unexpected value\n");
7250 "Unexpected value\n");
7263 "Unexpected size\n");
7265 "Unexpected value\n");
7275 "Unexpected size\n");
7277 "Unexpected value\n");
7289 "Unexpected size\n");
7291 "Unexpected value\n");
7391 0x30,0x22,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,0x00,
7392 0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,0x74,
7393 0x00,0x69,0x00,0x63,0x00,0x65
7398 0x30,0x32,0x30,0x0e,0x16,0x04,0x57,0x69,0x6e,0x65,0x30,0x06,0x02,0x01,0x02,
7399 0x02,0x01,0x03,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,
7400 0x00,0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,
7401 0x74,0x00,0x69,0x00,0x63,0x00,0x65
7463 ok(
notice->pszDisplayText ==
NULL,
"unexpected display text\n");
7464 ok(
notice->pNoticeReference ==
NULL,
"unexpected notice reference\n");
7475 "unexpected display text\n");
7476 ok(
notice->pNoticeReference ==
NULL,
"unexpected notice reference\n");
7487 "unexpected display text\n");
7488 ok(
notice->pNoticeReference !=
NULL,
"expected a notice reference\n");
7489 if (
notice->pNoticeReference)
7492 "unexpected organization %s\n",
7493 notice->pNoticeReference->pszOrganization);
7494 ok(
notice->pNoticeReference->cNoticeNumbers == 2,
7495 "expected 2 notice numbers, got %ld\n",
7496 notice->pNoticeReference->cNoticeNumbers);
7498 "unexpected notice number %d\n",
7499 notice->pNoticeReference->rgNoticeNumbers[0]);
7501 "unexpected notice number %d\n",
7502 notice->pNoticeReference->rgNoticeNumbers[1]);
7510 0x30,0x08,0x30,0x06,0x06,0x04,0x55,0x1d,0x20,0x00
7515 0x30,0x50,0x30,0x06,0x06,0x04,0x55,0x1d,0x20,0x00,0x30,0x46,0x06,0x02,0x2a,
7516 0x03,0x30,0x40,0x30,0x3e,0x06,0x08,0x2b,0x06,0x01,0x05,0x05,0x07,0x02,0x02,
7517 0x30,0x32,0x30,0x0e,0x16,0x04,0x57,0x69,0x6e,0x65,0x30,0x06,0x02,0x01,0x02,
7518 0x02,0x01,0x03,0x1e,0x20,0x00,0x54,0x00,0x68,0x00,0x69,0x00,0x73,0x00,0x20,
7519 0x00,0x69,0x00,0x73,0x00,0x20,0x00,0x61,0x00,0x20,0x00,0x6e,0x00,0x6f,0x00,
7520 0x74,0x00,0x69,0x00,0x63,0x00,0x65
7543 info.cPolicyInfo = 1;
7564 policy[1].cPolicyQualifier = 1;
7566 info.cPolicyInfo = 2;
7590 ok(
info->cPolicyInfo == 0,
"unexpected policy info %ld\n",
7600 ok(
info->cPolicyInfo == 1,
"unexpected policy info %ld\n",
7603 "unexpected policy id %s\n",
7604 info->rgPolicyInfo[0].pszPolicyIdentifier);
7605 ok(
info->rgPolicyInfo[0].cPolicyQualifier == 0,
7606 "unexpected policy qualifier count %ld\n",
7607 info->rgPolicyInfo[0].cPolicyQualifier);
7616 ok(
info->cPolicyInfo == 2,
"unexpected policy info %ld\n",
7619 "unexpected policy id %s\n",
7620 info->rgPolicyInfo[0].pszPolicyIdentifier);
7621 ok(
info->rgPolicyInfo[0].cPolicyQualifier == 0,
7622 "unexpected policy qualifier count %ld\n",
7623 info->rgPolicyInfo[0].cPolicyQualifier);
7625 "unexpected policy id %s\n",
7626 info->rgPolicyInfo[1].pszPolicyIdentifier);
7627 ok(
info->rgPolicyInfo[1].cPolicyQualifier == 1,
7628 "unexpected policy qualifier count %ld\n",
7629 info->rgPolicyInfo[1].cPolicyQualifier);
7631 info->rgPolicyInfo[1].rgPolicyQualifier[0].pszPolicyQualifierId,
7633 info->rgPolicyInfo[1].rgPolicyQualifier[0].pszPolicyQualifierId);
7634 ok(
info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.cbData ==
7636 info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.cbData);
7638 info->rgPolicyInfo[1].rgPolicyQualifier[0].Qualifier.pbData,
7640 "unexpected qualifier value\n");
76570x30,0x0a,0x30,0x08,0x06,0x02,0x2a,0x03,0x06,0x02,0x53,0x04 };
76590x30,0x14,0x30,0x08,0x06,0x02,0x2a,0x03,0x06,0x02,0x53,0x04,0x30,0x08,0x06,
76600x02,0x2b,0x04,0x06,0x02,0x55,0x06 };
7666 static char oid2[] =
"2.3.4";
7667 static char oid3[] =
"1.3.4";
7668 static char oid4[] =
"2.5.6";
7686 "unexpected value\n");
7691 info.cPolicyMapping = 1;
7699 mapping[0].pszSubjectDomainPolicy = oid2;
7706 "unexpected size %ld\n",
size);
7708 "unexpected value\n");
7711 mapping[1].pszIssuerDomainPolicy = oid3;
7712 mapping[1].pszSubjectDomainPolicy = oid4;
7713 info.cPolicyMapping = 2;
7720 "unexpected size %ld\n",
size);
7722 "unexpected value\n");
7743 ok(
info->cPolicyMapping == 0,
7744 "expected 0 policy mappings, got %ld\n",
info->cPolicyMapping);
7753 ok(
info->cPolicyMapping == 1,
7754 "expected 1 policy mappings, got %ld\n",
info->cPolicyMapping);
7755 ok(!
strcmp(
info->rgPolicyMapping[0].pszIssuerDomainPolicy,
"1.2.3"),
7756 "unexpected issuer policy %s\n",
7757 info->rgPolicyMapping[0].pszIssuerDomainPolicy);
7758 ok(!
strcmp(
info->rgPolicyMapping[0].pszSubjectDomainPolicy,
7759 "2.3.4"),
"unexpected subject policy %s\n",
7760 info->rgPolicyMapping[0].pszSubjectDomainPolicy);
7769 ok(
info->cPolicyMapping == 2,
7770 "expected 2 policy mappings, got %ld\n",
info->cPolicyMapping);
7771 ok(!
strcmp(
info->rgPolicyMapping[0].pszIssuerDomainPolicy,
"1.2.3"),
7772 "unexpected issuer policy %s\n",
7773 info->rgPolicyMapping[0].pszIssuerDomainPolicy);
7774 ok(!
strcmp(
info->rgPolicyMapping[0].pszSubjectDomainPolicy,
7775 "2.3.4"),
"unexpected subject policy %s\n",
7776 info->rgPolicyMapping[0].pszSubjectDomainPolicy);
7777 ok(!
strcmp(
info->rgPolicyMapping[1].pszIssuerDomainPolicy,
"1.3.4"),
7778 "unexpected issuer policy %s\n",
7779 info->rgPolicyMapping[1].pszIssuerDomainPolicy);
7780 ok(!
strcmp(
info->rgPolicyMapping[1].pszSubjectDomainPolicy,
7781 "2.5.6"),
"unexpected subject policy %s\n",
7782 info->rgPolicyMapping[1].pszSubjectDomainPolicy);
78020x30,0x03,0x80,0x01,0x00 };
78040x30,0x03,0x81,0x01,0x01 };
78060x30,0x06,0x80,0x01,0x01,0x81,0x01,0x01 };
7825 "unexpected value\n");
7831 info.fRequireExplicitPolicy =
TRUE;
7838 "unexpected size %ld\n",
size);
7845 info.dwRequireExplicitPolicySkipCerts = 0;
7847 info.dwInhibitPolicyMappingSkipCerts = 1;
7854 "unexpected size %ld\n",
size);
7860 info.fRequireExplicitPolicy =
TRUE;
7861 info.dwRequireExplicitPolicySkipCerts = 1;
7890 ok(!
info->fRequireExplicitPolicy,
7891 "expected require explicit = FALSE\n");
7892 ok(!
info->fInhibitPolicyMapping,
7893 "expected implicit mapping = FALSE\n");
7903 ok(
info->fRequireExplicitPolicy,
7904 "expected require explicit = TRUE\n");
7905 ok(
info->dwRequireExplicitPolicySkipCerts == 0,
"expected 0, got %ld\n",
7906 info->dwRequireExplicitPolicySkipCerts);
7907 ok(!
info->fInhibitPolicyMapping,
7908 "expected implicit mapping = FALSE\n");
7918 ok(!
info->fRequireExplicitPolicy,
7919 "expected require explicit = FALSE\n");
7920 ok(
info->fInhibitPolicyMapping,
7921 "expected implicit mapping = TRUE\n");
7922 ok(
info->dwInhibitPolicyMappingSkipCerts == 1,
"expected 1, got %ld\n",
7923 info->dwInhibitPolicyMappingSkipCerts);
7932 ok(
info->fRequireExplicitPolicy,
7933 "expected require explicit = TRUE\n");
7934 ok(
info->dwRequireExplicitPolicySkipCerts == 1,
"expected 1, got %ld\n",
7935 info->dwRequireExplicitPolicySkipCerts);
7936 ok(
info->fInhibitPolicyMapping,
7937 "expected implicit mapping = TRUE\n");
7938 ok(
info->dwInhibitPolicyMappingSkipCerts == 1,
"expected 1, got %ld\n",
7939 info->dwInhibitPolicyMappingSkipCerts);
79450x30,0x82,0x04,0xa5,0x02,0x01,0x00,0x02,0x82,0x01,0x01,0x00,
79460xae,0xba,0x3c,0x41,0xeb,0x25,0x41,0xb0,0x1c,0x41,0xd4,0x26,
79470xf9,0xf8,0x31,0x64,0x7e,0x97,0x65,0x54,0x9c,0x90,0xdf,0x34,
79480x07,0xfb,0xb0,0x69,0x99,0x3b,0x45,0x39,0x06,0xe4,0x3a,0x7a,
79490x01,0xe0,0xeb,0x3f,0xe1,0xd5,0x91,0xe0,0x16,0xe0,0xf2,0x35,
79500x59,0xdf,0x32,0x2d,0x69,0x3a,0x4a,0xbc,0xd1,0xba,0x1b,0x3b,
79510x7a,0x55,0x76,0xba,0x11,0xdd,0x2f,0xc7,0x58,0x66,0xf2,0x6c,
79520xd1,0x68,0x27,0x6c,0x85,0x74,0x0b,0xc9,0x7b,0x1a,0xde,0x3c,
79530x62,0x73,0xe2,0x9e,0x36,0x3a,0x29,0x3b,0x91,0x85,0x3d,0xd2,
79540xe1,0xe5,0x61,0x84,0x1e,0x28,0xfd,0xb7,0x97,0x68,0xc1,0xbb,
79550x0f,0x93,0x14,0xc2,0x03,0x60,0x41,0x11,0x7a,0xda,0x76,0x01,
79560x65,0x08,0xe6,0x0c,0xf6,0xfc,0x1d,0x64,0x12,0x7b,0x42,0xb0,
79570xb8,0xfe,0x61,0xe5,0xe2,0xe5,0x61,0x44,0xcc,0x94,0xe8,0xc0,
79580x4f,0x58,0x9a,0xea,0x99,0xaf,0x9c,0xa4,0xf2,0xd7,0x2b,0x31,
79590x90,0x3b,0x41,0x2e,0x4a,0x74,0x7c,0x1a,0xfc,0x42,0xa9,0x17,
79600xff,0x53,0x20,0x76,0xa7,0xf0,0x2c,0xb9,0xd5,0x1f,0xa9,0x8a,
79610x77,0xa8,0x09,0x5c,0x0e,0xd1,0x54,0xc5,0xf2,0x86,0xf1,0x2f,
79620x23,0xd6,0x63,0xba,0xe9,0x2b,0x73,0xf9,0xf0,0xdc,0xcb,0xf9,
79630xcb,0xe8,0x40,0x62,0x47,0x09,0x85,0xe1,0x9c,0xfd,0xcf,0x75,
79640x5a,0x65,0xfd,0x86,0x1c,0x50,0xfa,0x24,0x36,0x0f,0x54,0x5e,
79650x81,0xe7,0xf6,0x63,0x2d,0x87,0x0c,0x50,0x03,0x25,0x49,0xe7,
79660xc5,0x20,0xaa,0xbc,0x6c,0xf9,0xbe,0x49,0x8f,0x4f,0xb8,0x9a,
79670x73,0x9f,0x55,0x43,0x02,0x03,0x01,0x00,0x01,0x02,0x82,0x01,
79680x01,0x00,0x99,0x03,0xcd,0x5b,0x69,0x03,0x32,0x98,0x78,0xd6,
79690x89,0x65,0x2c,0xc9,0xd6,0xef,0x8c,0x11,0x27,0x93,0x46,0x9d,
79700x74,0x6a,0xcb,0x86,0xf6,0x02,0x34,0x47,0xfc,0xa2,0x29,0x4f,
79710xdb,0x8a,0x17,0x75,0x12,0x6f,0xda,0x65,0x3f,0x1f,0xc0,0xc9,
79720x74,0x33,0x96,0xa5,0xe8,0xfa,0x6d,0xc9,0xb7,0xc3,0xcd,0xe3,
79730x2e,0x90,0x12,0xdd,0x1f,0x61,0x69,0xdd,0x8b,0x47,0x07,0x3a,
79740xf8,0x98,0xa5,0x76,0x91,0xf7,0xee,0x93,0x26,0xf3,0x66,0x54,
79750xac,0x44,0xb3,0x6f,0x8b,0x09,0x44,0xb2,0x00,0x84,0x03,0x37,
79760x6d,0x61,0xed,0xa4,0x04,0x97,0x40,0x16,0x63,0xc2,0xd0,0xdc,
79770xd3,0xb3,0xee,0xba,0xbe,0x95,0xfd,0x80,0xe0,0xda,0xde,0xfc,
79780xcc,0x15,0x02,0x97,0x1d,0x68,0x43,0x2f,0x9c,0xc8,0x20,0x23,
79790xeb,0x00,0x4c,0x74,0x3d,0x27,0x20,0x14,0x23,0x95,0xfc,0x8c,
79800xb7,0x7e,0x7f,0xb0,0xdb,0xaf,0x8a,0x48,0x1b,0xfe,0x59,0xab,
79810x75,0xe2,0xbf,0x69,0xf2,0x73,0xe3,0xb9,0x92,0xa9,0x90,0x03,
79820xe5,0xd4,0x2d,0x86,0xff,0x12,0x54,0xb3,0xbb,0xe2,0xce,0x81,
79830x58,0x71,0xa4,0xde,0x45,0x05,0xf8,0x2d,0x45,0xf5,0xd8,0x5e,
79840x4c,0x5d,0x06,0x69,0x0c,0x86,0x9f,0x66,0x9f,0xb1,0x60,0xfd,
79850xf2,0x33,0x85,0x15,0xd5,0x18,0xf7,0xba,0x99,0x65,0x15,0x1d,
79860xfa,0xaa,0x76,0xdd,0x25,0xed,0xdf,0x90,0x6e,0xba,0x61,0x96,
79870x79,0xde,0xd2,0xda,0x66,0x03,0x74,0x3b,0x13,0x39,0x68,0xbc,
79880x94,0x01,0x00,0x2d,0xf8,0xf0,0x8c,0xbd,0x4c,0x9c,0x7e,0x87,
79890x9c,0x62,0x9f,0xb6,0x90,0x11,0x02,0x81,0x81,0x00,0xe3,0x5e,
79900xfe,0xdd,0xed,0x76,0xb6,0x4e,0xfc,0x5b,0xe0,0x20,0x99,0x7b,
79910x48,0x3b,0x1e,0x5f,0x7f,0x9f,0xa4,0x68,0xbe,0xc3,0x7f,0xb8,
79920x62,0x98,0xb0,0x95,0x8a,0xfa,0x0d,0xa3,0x79,0x63,0x39,0xf7,
79930xdb,0x76,0x3d,0x53,0x4a,0x0a,0x33,0xdf,0xe0,0x47,0x22,0xd5,
79940x96,0x80,0xc7,0xcd,0x24,0xef,0xac,0x49,0x46,0x37,0x6c,0x25,
79950xcf,0x6c,0x4d,0xe5,0x31,0xf8,0x2f,0xd2,0x59,0x74,0x00,0x38,
79960xdb,0xce,0xd1,0x72,0xc3,0xa8,0x30,0x70,0xd8,0x02,0x20,0xe7,
79970x56,0xe7,0xca,0xf0,0x3b,0x52,0x5d,0x11,0xbe,0x53,0x4e,0xd0,
79980xd9,0x2e,0xa6,0xb8,0xe2,0xd9,0xbf,0xb9,0x77,0xe7,0x3b,0xed,
79990x5e,0xd7,0x16,0x4a,0x3a,0xc5,0x86,0xd7,0x74,0x20,0xa7,0x8e,
80000xbf,0xb7,0x33,0xdb,0x51,0xe9,0x02,0x81,0x81,0x00,0xc4,0xba,
80010x57,0xf0,0x6e,0xcf,0xe8,0xce,0xce,0x9d,0x4a,0xe9,0x0f,0xe1,
80020xab,0x91,0x62,0xaa,0x66,0x5d,0x82,0x66,0x1c,0x72,0x18,0x6f,
80030x68,0x9c,0x7d,0x5e,0xfc,0xaf,0x4a,0xd6,0x8e,0xc6,0xae,0x40,
80040xf2,0x40,0x84,0x93,0xee,0x7c,0x87,0xa9,0xa6,0xcd,0x2b,0xc3,
80050xe6,0x29,0x3a,0xe2,0x4a,0xed,0xb0,0x4d,0x9f,0xc0,0xe9,0xd6,
80060xa3,0xca,0x97,0xee,0xac,0xab,0xa4,0x32,0x05,0x40,0x4d,0xf2,
80070x95,0x99,0xaf,0xa0,0xe1,0xe1,0xe7,0x3a,0x64,0xa4,0x70,0x6b,
80080x3d,0x1d,0x7b,0xf1,0x53,0xfa,0xb0,0xe0,0xe2,0x68,0x1a,0x61,
80090x2c,0x37,0xa5,0x39,0x7b,0xb2,0xcf,0xe6,0x5f,0x9b,0xc6,0x64,
80100xaf,0x48,0x86,0xfb,0xc1,0xf3,0x39,0x97,0x10,0x36,0xf5,0xa9,
80110x3d,0x08,0xa5,0x2f,0xe6,0x4b,0x02,0x81,0x81,0x00,0x86,0xe7,
80120x02,0x08,0xe2,0xaf,0xa0,0x93,0x54,0x9f,0x9e,0x67,0x39,0x29,
80130x30,0x3e,0x03,0x53,0x5e,0x01,0x76,0x26,0xbf,0xa8,0x76,0xcb,
80140x0b,0x94,0xd4,0x90,0xa5,0x98,0x9f,0x26,0xf3,0x0a,0xb0,0x86,
80150x22,0xac,0x10,0xce,0xae,0x0b,0x47,0xa3,0xf9,0x09,0xbb,0xdd,
80160x46,0x22,0xba,0x69,0x39,0x15,0x0a,0xff,0x9e,0xad,0x9b,0x79,
80170x03,0x8c,0x9a,0xda,0xf5,0xbe,0xef,0x80,0xba,0x9a,0x5c,0xd7,
80180x5f,0x73,0x62,0x49,0xd9,0x54,0x9d,0x09,0x16,0xe0,0x8c,0x6d,
80190x35,0xde,0xe9,0x45,0x87,0xac,0xe2,0x93,0x78,0x7d,0x2d,0x32,
80200x34,0xe9,0xbc,0xf9,0xcd,0x7e,0xac,0x86,0x7a,0x61,0xb3,0xe8,
80210xae,0x70,0xa7,0x44,0xfb,0x81,0xde,0xf3,0x4e,0x6f,0x61,0x7b,
80220x0c,0xbc,0xc2,0x03,0xca,0xa1,0x02,0x81,0x80,0x69,0x5b,0x4a,
80230xa1,0x4f,0x17,0x35,0x9d,0x1b,0xf6,0x0d,0x1a,0x48,0x11,0x19,
80240xab,0x20,0xe6,0x15,0x30,0x5b,0x17,0x88,0x80,0x6a,0x29,0xb0,
80250x22,0xae,0xd9,0xe2,0x05,0x96,0xd4,0xd5,0x5d,0xfe,0x10,0x76,
80260x2c,0xab,0x53,0xf6,0x52,0xe6,0xec,0xaa,0x92,0x12,0xb0,0x35,
80270x61,0x3b,0x51,0xd9,0xc2,0xf5,0xba,0x7c,0xa5,0xfa,0x15,0xa3,
80280x5e,0x6a,0x83,0xbe,0x21,0xa6,0x2b,0xcb,0xb8,0x26,0x86,0x96,
80290x2b,0xda,0x6d,0x14,0xcb,0xc0,0xe3,0xfa,0xe6,0x3d,0xf6,0x90,
80300xa2,0x6b,0xb0,0x50,0xc3,0x5f,0x5a,0xf0,0xa5,0xc4,0x0a,0xea,
80310x7d,0x5a,0x95,0x30,0x74,0x10,0xf7,0x55,0x98,0xbd,0x65,0x4a,
80320xa2,0x52,0xf8,0x1d,0x64,0xbf,0x20,0xf1,0xe4,0x1d,0x28,0x67,
80330xb1,0x6b,0x95,0xfd,0x85,0x02,0x81,0x81,0x00,0xda,0xb4,0x31,
80340x34,0xe1,0xec,0x9a,0x1e,0x07,0xd7,0xda,0x20,0x46,0xbf,0x6b,
80350xf0,0x45,0xbd,0x50,0xa2,0x0f,0x8a,0x14,0x51,0x52,0x83,0x7c,
80360x47,0xc8,0x9c,0x4e,0x68,0x6b,0xae,0x00,0x25,0x63,0xdd,0x13,
80370x2a,0x66,0x65,0xb6,0x74,0x91,0x5b,0xb6,0x47,0x3e,0x8e,0x46,
80380x62,0xcd,0x9d,0xc1,0xf7,0x14,0x14,0xbc,0x60,0xd6,0x3c,0x7c,
80390x3a,0xce,0xff,0x96,0x04,0x84,0xf6,0x44,0x1a,0xf8,0xdb,0x40,
80400x1c,0xf2,0xf1,0x4d,0xb2,0x68,0x3e,0xa3,0x0b,0xc6,0xb1,0xd0,
80410xa6,0x88,0x18,0x68,0xa1,0x05,0x2a,0xfc,0x2b,0x3a,0xa1,0xe6,
80420x31,0x4a,0x46,0x88,0x39,0x1e,0x44,0x11,0x6c,0xc5,0x8b,0xb6,
80430x8b,0xce,0x3d,0xd5,0xcb,0xbd,0xf0,0xd4,0xd9,0xfb,0x02,0x35,
80440x96,0x39,0x26,0x85,0xf9 };
80460x43,0x55,0x9f,0x73,0x9a,0xb8,0x4f,0x8f,0x49,0xbe,0xf9,0x6c,
80470xbc,0xaa,0x20,0xc5,0xe7,0x49,0x25,0x03,0x50,0x0c,0x87,0x2d,
80480x63,0xf6,0xe7,0x81,0x5e,0x54,0x0f,0x36,0x24,0xfa,0x50,0x1c,
80490x86,0xfd,0x65,0x5a,0x75,0xcf,0xfd,0x9c,0xe1,0x85,0x09,0x47,
80500x62,0x40,0xe8,0xcb,0xf9,0xcb,0xdc,0xf0,0xf9,0x73,0x2b,0xe9,
80510xba,0x63,0xd6,0x23,0x2f,0xf1,0x86,0xf2,0xc5,0x54,0xd1,0x0e,
80520x5c,0x09,0xa8,0x77,0x8a,0xa9,0x1f,0xd5,0xb9,0x2c,0xf0,0xa7,
80530x76,0x20,0x53,0xff,0x17,0xa9,0x42,0xfc,0x1a,0x7c,0x74,0x4a,
80540x2e,0x41,0x3b,0x90,0x31,0x2b,0xd7,0xf2,0xa4,0x9c,0xaf,0x99,
80550xea,0x9a,0x58,0x4f,0xc0,0xe8,0x94,0xcc,0x44,0x61,0xe5,0xe2,
80560xe5,0x61,0xfe,0xb8,0xb0,0x42,0x7b,0x12,0x64,0x1d,0xfc,0xf6,
80570x0c,0xe6,0x08,0x65,0x01,0x76,0xda,0x7a,0x11,0x41,0x60,0x03,
80580xc2,0x14,0x93,0x0f,0xbb,0xc1,0x68,0x97,0xb7,0xfd,0x28,0x1e,
80590x84,0x61,0xe5,0xe1,0xd2,0x3d,0x85,0x91,0x3b,0x29,0x3a,0x36,
80600x9e,0xe2,0x73,0x62,0x3c,0xde,0x1a,0x7b,0xc9,0x0b,0x74,0x85,
80610x6c,0x27,0x68,0xd1,0x6c,0xf2,0x66,0x58,0xc7,0x2f,0xdd,0x11,
80620xba,0x76,0x55,0x7a,0x3b,0x1b,0xba,0xd1,0xbc,0x4a,0x3a,0x69,
80630x2d,0x32,0xdf,0x59,0x35,0xf2,0xe0,0x16,0xe0,0x91,0xd5,0xe1,
80640x3f,0xeb,0xe0,0x01,0x7a,0x3a,0xe4,0x06,0x39,0x45,0x3b,0x99,
80650x69,0xb0,0xfb,0x07,0x34,0xdf,0x90,0x9c,0x54,0x65,0x97,0x7e,
80660x64,0x31,0xf8,0xf9,0x26,0xd4,0x41,0x1c,0xb0,0x41,0x25,0xeb,
80670x41,0x3c,0xba,0xae };
80690xe9,0x51,0xdb,0x33,0xb7,0xbf,0x8e,0xa7,0x20,0x74,0xd7,0x86,
80700xc5,0x3a,0x4a,0x16,0xd7,0x5e,0xed,0x3b,0xe7,0x77,0xb9,0xbf,
80710xd9,0xe2,0xb8,0xa6,0x2e,0xd9,0xd0,0x4e,0x53,0xbe,0x11,0x5d,
80720x52,0x3b,0xf0,0xca,0xe7,0x56,0xe7,0x20,0x02,0xd8,0x70,0x30,
80730xa8,0xc3,0x72,0xd1,0xce,0xdb,0x38,0x00,0x74,0x59,0xd2,0x2f,
80740xf8,0x31,0xe5,0x4d,0x6c,0xcf,0x25,0x6c,0x37,0x46,0x49,0xac,
80750xef,0x24,0xcd,0xc7,0x80,0x96,0xd5,0x22,0x47,0xe0,0xdf,0x33,
80760x0a,0x4a,0x53,0x3d,0x76,0xdb,0xf7,0x39,0x63,0x79,0xa3,0x0d,
80770xfa,0x8a,0x95,0xb0,0x98,0x62,0xb8,0x7f,0xc3,0xbe,0x68,0xa4,
80780x9f,0x7f,0x5f,0x1e,0x3b,0x48,0x7b,0x99,0x20,0xe0,0x5b,0xfc,
80790x4e,0xb6,0x76,0xed,0xdd,0xfe,0x5e,0xe3 };
80810x4b,0xe6,0x2f,0xa5,0x08,0x3d,0xa9,0xf5,0x36,0x10,0x97,0x39,
80820xf3,0xc1,0xfb,0x86,0x48,0xaf,0x64,0xc6,0x9b,0x5f,0xe6,0xcf,
80830xb2,0x7b,0x39,0xa5,0x37,0x2c,0x61,0x1a,0x68,0xe2,0xe0,0xb0,
80840xfa,0x53,0xf1,0x7b,0x1d,0x3d,0x6b,0x70,0xa4,0x64,0x3a,0xe7,
80850xe1,0xe1,0xa0,0xaf,0x99,0x95,0xf2,0x4d,0x40,0x05,0x32,0xa4,
80860xab,0xac,0xee,0x97,0xca,0xa3,0xd6,0xe9,0xc0,0x9f,0x4d,0xb0,
80870xed,0x4a,0xe2,0x3a,0x29,0xe6,0xc3,0x2b,0xcd,0xa6,0xa9,0x87,
80880x7c,0xee,0x93,0x84,0x40,0xf2,0x40,0xae,0xc6,0x8e,0xd6,0x4a,
80890xaf,0xfc,0x5e,0x7d,0x9c,0x68,0x6f,0x18,0x72,0x1c,0x66,0x82,
80900x5d,0x66,0xaa,0x62,0x91,0xab,0xe1,0x0f,0xe9,0x4a,0x9d,0xce,
80910xce,0xe8,0xcf,0x6e,0xf0,0x57,0xba,0xc4 };
80930xa1,0xca,0x03,0xc2,0xbc,0x0c,0x7b,0x61,0x6f,0x4e,0xf3,0xde,
80940x81,0xfb,0x44,0xa7,0x70,0xae,0xe8,0xb3,0x61,0x7a,0x86,0xac,
80950x7e,0xcd,0xf9,0xbc,0xe9,0x34,0x32,0x2d,0x7d,0x78,0x93,0xe2,
80960xac,0x87,0x45,0xe9,0xde,0x35,0x6d,0x8c,0xe0,0x16,0x09,0x9d,
80970x54,0xd9,0x49,0x62,0x73,0x5f,0xd7,0x5c,0x9a,0xba,0x80,0xef,
80980xbe,0xf5,0xda,0x9a,0x8c,0x03,0x79,0x9b,0xad,0x9e,0xff,0x0a,
80990x15,0x39,0x69,0xba,0x22,0x46,0xdd,0xbb,0x09,0xf9,0xa3,0x47,
81000x0b,0xae,0xce,0x10,0xac,0x22,0x86,0xb0,0x0a,0xf3,0x26,0x9f,
81010x98,0xa5,0x90,0xd4,0x94,0x0b,0xcb,0x76,0xa8,0xbf,0x26,0x76,
81020x01,0x5e,0x53,0x03,0x3e,0x30,0x29,0x39,0x67,0x9e,0x9f,0x54,
81030x93,0xa0,0xaf,0xe2,0x08,0x02,0xe7,0x86 };
81050x85,0xfd,0x95,0x6b,0xb1,0x67,0x28,0x1d,0xe4,0xf1,0x20,0xbf,
81060x64,0x1d,0xf8,0x52,0xa2,0x4a,0x65,0xbd,0x98,0x55,0xf7,0x10,
81070x74,0x30,0x95,0x5a,0x7d,0xea,0x0a,0xc4,0xa5,0xf0,0x5a,0x5f,
81080xc3,0x50,0xb0,0x6b,0xa2,0x90,0xf6,0x3d,0xe6,0xfa,0xe3,0xc0,
81090xcb,0x14,0x6d,0xda,0x2b,0x96,0x86,0x26,0xb8,0xcb,0x2b,0xa6,
81100x21,0xbe,0x83,0x6a,0x5e,0xa3,0x15,0xfa,0xa5,0x7c,0xba,0xf5,
81110xc2,0xd9,0x51,0x3b,0x61,0x35,0xb0,0x12,0x92,0xaa,0xec,0xe6,
81120x52,0xf6,0x53,0xab,0x2c,0x76,0x10,0xfe,0x5d,0xd5,0xd4,0x96,
81130x05,0xe2,0xd9,0xae,0x22,0xb0,0x29,0x6a,0x80,0x88,0x17,0x5b,
81140x30,0x15,0xe6,0x20,0xab,0x19,0x11,0x48,0x1a,0x0d,0xf6,0x1b,
81150x9d,0x35,0x17,0x4f,0xa1,0x4a,0x5b,0x69 };
81170xf9,0x85,0x26,0x39,0x96,0x35,0x02,0xfb,0xd9,0xd4,0xf0,0xbd,
81180xcb,0xd5,0x3d,0xce,0x8b,0xb6,0x8b,0xc5,0x6c,0x11,0x44,0x1e,
81190x39,0x88,0x46,0x4a,0x31,0xe6,0xa1,0x3a,0x2b,0xfc,0x2a,0x05,
81200xa1,0x68,0x18,0x88,0xa6,0xd0,0xb1,0xc6,0x0b,0xa3,0x3e,0x68,
81210xb2,0x4d,0xf1,0xf2,0x1c,0x40,0xdb,0xf8,0x1a,0x44,0xf6,0x84,
81220x04,0x96,0xff,0xce,0x3a,0x7c,0x3c,0xd6,0x60,0xbc,0x14,0x14,
81230xf7,0xc1,0x9d,0xcd,0x62,0x46,0x8e,0x3e,0x47,0xb6,0x5b,0x91,
81240x74,0xb6,0x65,0x66,0x2a,0x13,0xdd,0x63,0x25,0x00,0xae,0x6b,
81250x68,0x4e,0x9c,0xc8,0x47,0x7c,0x83,0x52,0x51,0x14,0x8a,0x0f,
81260xa2,0x50,0xbd,0x45,0xf0,0x6b,0xbf,0x46,0x20,0xda,0xd7,0x07,
81270x1e,0x9a,0xec,0xe1,0x34,0x31,0xb4,0xda };
81290x11,0x90,0xb6,0x9f,0x62,0x9c,0x87,0x7e,0x9c,0x4c,0xbd,0x8c,
81300xf0,0xf8,0x2d,0x00,0x01,0x94,0xbc,0x68,0x39,0x13,0x3b,0x74,
81310x03,0x66,0xda,0xd2,0xde,0x79,0x96,0x61,0xba,0x6e,0x90,0xdf,
81320xed,0x25,0xdd,0x76,0xaa,0xfa,0x1d,0x15,0x65,0x99,0xba,0xf7,
81330x18,0xd5,0x15,0x85,0x33,0xf2,0xfd,0x60,0xb1,0x9f,0x66,0x9f,
81340x86,0x0c,0x69,0x06,0x5d,0x4c,0x5e,0xd8,0xf5,0x45,0x2d,0xf8,
81350x05,0x45,0xde,0xa4,0x71,0x58,0x81,0xce,0xe2,0xbb,0xb3,0x54,
81360x12,0xff,0x86,0x2d,0xd4,0xe5,0x03,0x90,0xa9,0x92,0xb9,0xe3,
81370x73,0xf2,0x69,0xbf,0xe2,0x75,0xab,0x59,0xfe,0x1b,0x48,0x8a,
81380xaf,0xdb,0xb0,0x7f,0x7e,0xb7,0x8c,0xfc,0x95,0x23,0x14,0x20,
81390x27,0x3d,0x74,0x4c,0x00,0xeb,0x23,0x20,0xc8,0x9c,0x2f,0x43,
81400x68,0x1d,0x97,0x02,0x15,0xcc,0xfc,0xde,0xda,0xe0,0x80,0xfd,
81410x95,0xbe,0xba,0xee,0xb3,0xd3,0xdc,0xd0,0xc2,0x63,0x16,0x40,
81420x97,0x04,0xa4,0xed,0x61,0x6d,0x37,0x03,0x84,0x00,0xb2,0x44,
81430x09,0x8b,0x6f,0xb3,0x44,0xac,0x54,0x66,0xf3,0x26,0x93,0xee,
81440xf7,0x91,0x76,0xa5,0x98,0xf8,0x3a,0x07,0x47,0x8b,0xdd,0x69,
81450x61,0x1f,0xdd,0x12,0x90,0x2e,0xe3,0xcd,0xc3,0xb7,0xc9,0x6d,
81460xfa,0xe8,0xa5,0x96,0x33,0x74,0xc9,0xc0,0x1f,0x3f,0x65,0xda,
81470x6f,0x12,0x75,0x17,0x8a,0xdb,0x4f,0x29,0xa2,0xfc,0x47,0x34,
81480x02,0xf6,0x86,0xcb,0x6a,0x74,0x9d,0x46,0x93,0x27,0x11,0x8c,
81490xef,0xd6,0xc9,0x2c,0x65,0x89,0xd6,0x78,0x98,0x32,0x03,0x69,
81500x5b,0xcd,0x03,0x99 };
8162 "Expected CRYPT_E_ASN1_EOD, got %08lx\n",
8176 static const int bitlen = 2048;
8179 BYTE *prime2 = prime1 + bitlen/16;
8180 BYTE *exponent1 = prime2 + bitlen/16;
8181 BYTE *exponent2 = exponent1 + bitlen/16;
8182 BYTE *coefficient = exponent2 + bitlen/16;
8183 BYTE *privateExponent = coefficient + bitlen/16;
8193 "Expected version CUR_BLOB_VERSION (%d), got %d\n",
8195 ok(
hdr->reserved == 0,
"Expected reserved 0, got %d\n",
8198 "Expected CALG_RSA_KEYX, got %08x\n",
hdr->aiKeyAlg);
8200 ok(rsaPubKey->
magic == 0x32415352,
8201 "Expected magic 0x32415352, got 0x%lx\n", rsaPubKey->
magic);
8203 "Expected bitlen %d, got %ld\n", bitlen, rsaPubKey->
bitlen);
8205 "Expected pubexp 65537, got %ld\n", rsaPubKey->
pubexp);
8208 "unexpected modulus\n");
8210 "unexpected prime1\n");
8212 "unexpected prime2\n");
8214 "unexpected exponent1\n");
8216 "unexpected exponent2\n");
8218 "unexpected coefficient\n");
8220 "unexpected privateExponent\n");
8237 "Expected ERROR_INVALID_PARAMETER, got %08lx\n",
GetLastError());
8241 "Expected ERROR_INVALID_PARAMETER, got %08lx\n",
GetLastError());
8245 "Expected ERROR_INVALID_PARAMETER, got %08lx\n",
GetLastError());
8249 "Expected ERROR_INVALID_PARAMETER, got %08lx\n",
GetLastError());
8267 ok(
ret,
"CryptExportPublicKeyInfoEx failed: %08lx\n",
8276 (*pInfo)->Algorithm.pszObjId);
8284 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xc4, 0xd7, 0x7f, 0x0e, 0x6f, 0xa6,
8285 0x8c, 0xaa, 0x47, 0x47, 0x40, 0xe7, 0xb7, 0x0b, 0x4a, 0x7f, 0x30, 0x09, 0x06,
8286 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d, 0x05, 0x00, 0x30, 0x1f, 0x31, 0x1d, 0x30,
8287 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x61, 0x72, 0x69, 0x63, 0x40,
8288 0x63, 0x6f, 0x64, 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63,
8289 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x36, 0x39, 0x30, 0x31, 0x30, 0x31, 0x30,
8290 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x37, 0x30, 0x30, 0x31, 0x30,
8291 0x31, 0x30, 0x36, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x1f, 0x31, 0x1d, 0x30,
8292 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x61, 0x72, 0x69, 0x63, 0x40,
8293 0x63, 0x6f, 0x64, 0x65, 0x77, 0x65, 0x61, 0x76, 0x65, 0x72, 0x73, 0x2e, 0x63,
8294 0x6f, 0x6d, 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
8295 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00, 0x30, 0x48, 0x02, 0x41,
8296 0x00, 0xa1, 0xaf, 0x4a, 0xea, 0xa7, 0x83, 0x57, 0xc0, 0x37, 0x33, 0x7e, 0x29,
8297 0x5e, 0x0d, 0xfc, 0x44, 0x74, 0x3a, 0x1d, 0xc3, 0x1b, 0x1d, 0x96, 0xed, 0x4e,
8298 0xf4, 0x1b, 0x98, 0xec, 0x69, 0x1b, 0x04, 0xea, 0x25, 0xcf, 0xb3, 0x2a, 0xf5,
8299 0xd9, 0x22, 0xd9, 0x8d, 0x08, 0x39, 0x81, 0xc6, 0xe0, 0x4f, 0x12, 0x37, 0x2a,
8300 0x3f, 0x80, 0xa6, 0x6c, 0x67, 0x43, 0x3a, 0xdd, 0x95, 0x0c, 0xbb, 0x2f, 0x6b,
8301 0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
8302 0x1d, 0x05, 0x00, 0x03, 0x41, 0x00, 0x8f, 0xa2, 0x5b, 0xd6, 0xdf, 0x34, 0xd0,
8303 0xa2, 0xa7, 0x47, 0xf1, 0x13, 0x79, 0xd3, 0xf3, 0x39, 0xbd, 0x4e, 0x2b, 0xa3,
8304 0xf4, 0x63, 0x37, 0xac, 0x5a, 0x0c, 0x5e, 0x4d, 0x0d, 0x54, 0x87, 0x4f, 0x31,
8305 0xfb, 0xa0, 0xce, 0x8f, 0x9a, 0x2f, 0x4d, 0x48, 0xc6, 0x84, 0x8d, 0xf5, 0x70,
8306 0x74, 0x17, 0xa5, 0xf3, 0x66, 0x47, 0x06, 0xd6, 0x64, 0x45, 0xbc, 0x52, 0xef,
8307 0x49, 0xe5, 0xf9, 0x65, 0xf3 };
8329 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
8332 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n",
GetLastError());
8336 "Expected ERROR_INVALID_PARAMETER, got %08lx\n",
GetLastError());
8348 ok(
dwSize ==
sizeof(ai),
"CryptGetKeyParam returned size %ld\n",
dwSize);
8349 ok(ai ==
CALG_RSA_KEYX,
"Default ALG_ID is %04x (expected CALG_RSA_KEYX)\n", ai);
8364 ok(
dwSize ==
sizeof(ai),
"CryptGetKeyParam returned size %ld\n",
dwSize);
8365 ok(ai ==
CALG_RSA_SIGN,
"ALG_ID is %04x (expected CALG_RSA_SIGN)\n", ai);
8373 ok(
context !=
NULL,
"CertCreateCertificateContext failed: %08lx\n",
8378 context->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId),
8380 context->pCertInfo->SubjectPublicKeyInfo.Algorithm.pszObjId);
8388 &
context->pCertInfo->SubjectPublicKeyInfo, 0,
NULL, &key2);
8410 ok(
ret,
"CryptAcquireContextA failed\n");
8419 ok(
ret,
"CryptAcquireContextA failed\n");
8425 {0x30, 0x68, 0xa1, 0x17, 0x82, 0x15, 0x2a, 0x2e, 0x63, 0x6d, 0x2e, 0x73, 0x74, 0x65, 0x61, 0x6d,
8426 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4d, 0x30, 0x4b, 0x30,
8427 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0xe4, 0xe3,
8428 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98 ,0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a,
8429 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda,
8430 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0xb1, 0xc1, 0x87, 0x54, 0x54, 0xac,
8431 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08};
8432 static const BYTE expected2[] =
8433 {0x30, 0x81, 0xb6, 0xa1, 0x17, 0x82, 0x15, 0x2a, 0x2e, 0x63, 0x6d, 0x2e, 0x73, 0x74, 0x65, 0x61,
8434 0x6d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x81, 0x9a, 0x30,
8435 0x4b, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
8436 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0,
8437 0x09, 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea,
8438 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0xb1, 0xc1, 0x87, 0x54,
8439 0x54, 0xac, 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08, 0x30, 0x4b, 0x30, 0x49,
8440 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0xe4, 0xe3, 0x95,
8441 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a, 0xab,
8442 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f,
8443 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0xb1, 0xc1, 0x87, 0x54, 0x54, 0xac, 0x1e,
8444 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08};
8445 static const BYTE expected3[] =
8446 {0x30, 0x81, 0x9d, 0x30, 0x81, 0x9a, 0x30, 0x4b, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
8447 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3,
8448 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2,
8449 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9,
8450 0xf4, 0x02, 0x10, 0xb1, 0xc1, 0x87, 0x54, 0x54, 0xac, 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d,
8451 0x8f, 0x49, 0x08, 0x30, 0x4b, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a,
8452 0x05, 0x00, 0x04, 0x14, 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98,
8453 0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa,
8454 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10,
8455 0xb1, 0xc1, 0x87, 0x54, 0x54, 0xac, 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08};
8456 static const BYTE expected4[] =
8457 {0x30, 0x6a, 0x30, 0x68, 0xa1, 0x17, 0x82, 0x15, 0x2a, 0x2e, 0x63, 0x6d, 0x2e, 0x73, 0x74, 0x65,
8458 0x61, 0x6d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x65, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x4d, 0x30,
8459 0x4b, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
8460 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0,
8461 0x09, 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea,
8462 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0xb1, 0xc1, 0x87, 0x54,
8463 0x54, 0xac, 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08};
8464 static const BYTE issuer_name[] =
8465 {0xe4, 0xe3 ,0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0,
8466 0x09, 0x8a, 0xab, 0xd8};
8467 static const BYTE issuer_key[] =
8468 {0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5,
8469 0x95, 0x76, 0xb9, 0xf4};
8471 {0x08, 0x49, 0x8f, 0x6d, 0xd9, 0xef, 0xfb, 0x40, 0x55, 0x1e, 0xac, 0x54, 0x54, 0x87, 0xc1, 0xb1};
8482 entry[0].CertId.IssuerNameHash.cbData =
sizeof(issuer_name);
8483 entry[0].CertId.IssuerNameHash.pbData = (
BYTE *)issuer_name;
8484 entry[0].CertId.IssuerKeyHash.cbData =
sizeof(issuer_key);
8485 entry[0].CertId.IssuerKeyHash.pbData = (
BYTE *)issuer_key;
8486 entry[0].CertId.SerialNumber.cbData =
sizeof(
serial);
8490 name.pwszDNSName = (
WCHAR *)
L"*.cm.steampowered.com";
8494 info.cRequestEntry = 1;
8496 info.cExtension = 0;
8515 ok(
size ==
sizeof(expected4),
"got %lu\n",
size);
8516 ok(!
memcmp(buf2, expected4,
sizeof(expected4)),
"unexpected value\n");
8522 entry[1].CertId.IssuerNameHash.cbData =
sizeof(issuer_name);
8523 entry[1].CertId.IssuerNameHash.pbData = (
BYTE *)issuer_name;
8524 entry[1].CertId.IssuerKeyHash.cbData =
sizeof(issuer_key);
8525 entry[1].CertId.IssuerKeyHash.pbData = (
BYTE *)issuer_key;
8526 entry[1].CertId.SerialNumber.cbData =
sizeof(
serial);
8528 info.cRequestEntry = 2;
8534 ok(
size ==
sizeof(expected2),
"got %lu\n",
size);
8535 ok(!
memcmp(
buf, expected2,
sizeof(expected2)),
"unexpected value\n");
8544 ok(
size ==
sizeof(expected3),
"got %lu\n",
size);
8545 ok(!
memcmp(
buf, expected3,
sizeof(expected3)),
"unexpected value\n");
8550 0x30, 0x03, 0x0a, 0x01, 0x06
8554 0x30, 0x82, 0x01, 0xd3, 0x0a, 0x01, 0x00, 0xa0, 0x82, 0x01, 0xcc, 0x30,
8555 0x82, 0x01, 0xc8, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30,
8556 0x01, 0x01, 0x04, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0xb5, 0x30, 0x81,
8557 0x9e, 0xa2, 0x16, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84,
8558 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9,
8559 0xf4, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x30, 0x37, 0x31,
8560 0x38, 0x33, 0x36, 0x34, 0x33, 0x5a, 0x30, 0x73, 0x30, 0x71, 0x30, 0x49,
8561 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04,
8562 0x14, 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0,
8563 0x98, 0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7,
8564 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f,
8565 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0x08, 0x49, 0x8f,
8566 0x6d, 0xd9, 0xef, 0xfb, 0x40, 0x55, 0x1e, 0xac, 0x54, 0x54, 0x87, 0xc1,
8567 0xb1, 0x80, 0x00, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x30,
8568 0x37, 0x31, 0x38, 0x32, 0x31, 0x30, 0x31, 0x5a, 0xa0, 0x11, 0x18, 0x0f,
8569 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x31, 0x34, 0x31, 0x37, 0x33, 0x36,
8570 0x30, 0x31, 0x5a, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
8571 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x2a,
8572 0xf3, 0x5f, 0xf7, 0x72, 0x6b, 0x27, 0x38, 0x6b, 0xae, 0x66, 0x42, 0xe0,
8573 0x3b, 0xc6, 0x44, 0x5f, 0x95, 0xe2, 0x1f, 0xbc, 0x3f, 0xb3, 0x1d, 0x6c,
8574 0x6c, 0x7c, 0x91, 0xb3, 0x02, 0x23, 0x0f, 0xf0, 0x13, 0x5f, 0x62, 0x92,
8575 0x0d, 0x91, 0xa9, 0x8f, 0x66, 0xe9, 0x18, 0xe3, 0xb1, 0xe0, 0x4c, 0x63,
8576 0x40, 0x9e, 0x14, 0x26, 0x28, 0x7a, 0x5e, 0x51, 0x99, 0x43, 0x1c, 0xd5,
8577 0xbd, 0x84, 0x88, 0x68, 0xd9, 0x0e, 0xd9, 0xf4, 0x78, 0x48, 0x9f, 0x01,
8578 0x4c, 0x34, 0x14, 0x1e, 0x7c, 0x72, 0x9c, 0xdd, 0x94, 0xcb, 0x6e, 0x28,
8579 0xf5, 0x76, 0x75, 0xa2, 0xbe, 0x4b, 0x52, 0xac, 0x38, 0x9d, 0xce, 0x52,
8580 0x68, 0x33, 0xbc, 0x52, 0xc7, 0xdc, 0x2f, 0x19, 0xff, 0x15, 0x9c, 0x4b,
8581 0xdb, 0x83, 0x4e, 0xd7, 0xf6, 0x9b, 0x7f, 0x76, 0x58, 0xa5, 0x46, 0x49,
8582 0xe3, 0x2d, 0x41, 0x26, 0xf8, 0xce, 0xb7, 0x56, 0x61, 0xb2, 0x88, 0x65,
8583 0x2b, 0xb8, 0x4d, 0xf2, 0xf2, 0x32, 0x50, 0x53, 0x8b, 0x0d, 0xc6, 0x58,
8584 0xac, 0xd8, 0xe4, 0x8d, 0x38, 0x9e, 0x61, 0xeb, 0x6b, 0xd2, 0xd6, 0x50,
8585 0x8d, 0xfa, 0x93, 0x47, 0x4e, 0x6e, 0x2b, 0xd3, 0xb9, 0xdc, 0xb9, 0xb5,
8586 0x86, 0x46, 0xcb, 0xda, 0xd9, 0xd8, 0xd5, 0x99, 0x7a, 0x7c, 0x73, 0xee,
8587 0xc1, 0x52, 0x8e, 0xc5, 0xca, 0x28, 0x1d, 0x15, 0x94, 0x06, 0xa0, 0xa5,
8588 0x01, 0xf3, 0xbd, 0x67, 0x3f, 0x3d, 0x46, 0x63, 0xc5, 0xba, 0xd5, 0x12,
8589 0xde, 0xb4, 0xc5, 0x86, 0xfe, 0x97, 0x6b, 0x70, 0xfe, 0xa4, 0x6a, 0x25,
8590 0x63, 0x8e, 0xcf, 0xa4, 0x13, 0x1c, 0x2b, 0xf7, 0xf4, 0xc9, 0x79, 0x8e,
8591 0x07, 0xa3, 0x25, 0x9f, 0xcf, 0x33, 0x65, 0x49, 0x84, 0xad, 0x7f, 0x90,
8592 0x44, 0x85, 0xd8, 0xa7, 0x73, 0x53, 0x56, 0x73, 0xca, 0x15, 0x39, 0x99,
8607 ok(!
info->Value.cbData,
"got %lu\n",
info->Value.cbData);
8616 ok(
info->Value.cbData == 441,
"got %lu\n",
info->Value.cbData);
8622 0x30, 0x82, 0x01, 0xb5, 0x30, 0x81, 0x9e, 0xa2, 0x16, 0x04, 0x14, 0xb7,
8623 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f,
8624 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x18, 0x0f, 0x32, 0x30, 0x32,
8625 0x32, 0x30, 0x33, 0x31, 0x30, 0x31, 0x38, 0x33, 0x36, 0x34, 0x38, 0x5a,
8626 0x30, 0x73, 0x30, 0x71, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e,
8627 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0xe4, 0xe3, 0x95, 0xa2, 0x29,
8628 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0, 0x09,
8629 0x8a, 0xab, 0xd8, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84,
8630 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9,
8631 0xf4, 0x02, 0x10, 0x08, 0x49, 0x8f, 0x6d, 0xd9, 0xef, 0xfb, 0x40, 0x55,
8632 0x1e, 0xac, 0x54, 0x54, 0x87, 0xc1, 0xb1, 0x80, 0x00, 0x18, 0x0f, 0x32,
8633 0x30, 0x32, 0x32, 0x30, 0x33, 0x31, 0x30, 0x31, 0x38, 0x32, 0x31, 0x30,
8634 0x31, 0x5a, 0xa0, 0x11, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33,
8635 0x31, 0x37, 0x31, 0x37, 0x33, 0x36, 0x30, 0x31, 0x5a, 0x30, 0x0d, 0x06,
8636 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00,
8637 0x03, 0x82, 0x01, 0x01, 0x00, 0x6a, 0x4c, 0xfa, 0xe6, 0xe3, 0x48, 0xbb,
8638 0xd6, 0x18, 0x33, 0x04, 0x9d, 0x6a, 0x92, 0x4d, 0x01, 0x74, 0x4f, 0x1a,
8639 0x70, 0xfa, 0xf2, 0x8b, 0xba, 0x0d, 0x2c, 0x06, 0x30, 0xc9, 0x55, 0xce,
8640 0x95, 0x13, 0x4d, 0x4c, 0x65, 0x99, 0xe7, 0xd6, 0x78, 0x9c, 0x3c, 0x9a,
8641 0x60, 0xeb, 0x43, 0x3c, 0x08, 0x1c, 0x02, 0x6d, 0x45, 0x2d, 0x5b, 0xdf,
8642 0xab, 0xf2, 0x92, 0xf1, 0x71, 0x61, 0xb4, 0x34, 0xcf, 0x84, 0x1f, 0xc9,
8643 0x3f, 0x45, 0x9e, 0x64, 0x89, 0x58, 0xdb, 0x2c, 0x73, 0xa8, 0x04, 0xae,
8644 0xad, 0xf2, 0xc5, 0x80, 0x80, 0xcf, 0x96, 0x4b, 0xf1, 0xb4, 0xf1, 0x2a,
8645 0x86, 0x1c, 0x7f, 0x1d, 0xcc, 0xbf, 0xd6, 0xa2, 0x3f, 0x44, 0xb8, 0x62,
8646 0x5b, 0x9b, 0x55, 0xc1, 0x4e, 0x18, 0x67, 0x5a, 0xbe, 0x31, 0xf5, 0x16,
8647 0x6d, 0x74, 0xc4, 0xf2, 0x60, 0x4f, 0xa1, 0x63, 0x49, 0xe9, 0xff, 0x37,
8648 0x3d, 0x66, 0xcd, 0xc3, 0x79, 0x4e, 0x38, 0x68, 0x1b, 0xbf, 0x0b, 0x3b,
8649 0xdb, 0xa0, 0x13, 0x70, 0xb8, 0xd1, 0x59, 0xe2, 0x8e, 0x88, 0xfe, 0x77,
8650 0x39, 0xa8, 0x3f, 0x93, 0xe1, 0xc6, 0x5e, 0x13, 0x9e, 0xea, 0xec, 0x49,
8651 0x65, 0x0b, 0x6d, 0xbf, 0x76, 0xd5, 0x11, 0x59, 0x7b, 0xfe, 0xe6, 0xb2,
8652 0x58, 0xa8, 0xbd, 0xd0, 0xe6, 0x13, 0x26, 0x72, 0x83, 0x78, 0x90, 0x85,
8653 0x82, 0x86, 0x9f, 0x2e, 0x20, 0x64, 0x90, 0xc3, 0xd1, 0x37, 0x50, 0xac,
8654 0xde, 0x52, 0x8e, 0x83, 0x9f, 0x02, 0x7b, 0xff, 0xf1, 0xd4, 0xe5, 0x8b,
8655 0x77, 0x8d, 0xef, 0x61, 0xcb, 0x85, 0x4d, 0xa0, 0x2e, 0x05, 0x28, 0xc0,
8656 0x86, 0x78, 0x59, 0xa9, 0x94, 0xb3, 0x90, 0x6b, 0xf7, 0xff, 0xd3, 0x08,
8657 0x96, 0x7c, 0xbe, 0x22, 0xd8, 0xb6, 0x35, 0xce, 0x1e, 0xae, 0x70, 0x34,
8658 0x05, 0x51, 0x49, 0xac, 0x2f, 0xe8, 0x67, 0xcf, 0xa7
8662 0x30, 0x81, 0x9e, 0xa2, 0x16, 0x04, 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8,
8663 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95,
8664 0x76, 0xb9, 0xf4, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x31,
8665 0x30, 0x31, 0x38, 0x33, 0x36, 0x34, 0x38, 0x5a, 0x30, 0x73, 0x30, 0x71,
8666 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05,
8667 0x00, 0x04, 0x14, 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3,
8668 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0, 0x09, 0x8a, 0xab, 0xd8, 0x04,
8669 0x14, 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4,
8670 0xda, 0x0f, 0x98, 0xb2, 0xc5, 0x95, 0x76, 0xb9, 0xf4, 0x02, 0x10, 0x08,
8671 0x49, 0x8f, 0x6d, 0xd9, 0xef, 0xfb, 0x40, 0x55, 0x1e, 0xac, 0x54, 0x54,
8672 0x87, 0xc1, 0xb1, 0x80, 0x00, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30,
8673 0x33, 0x31, 0x30, 0x31, 0x38, 0x32, 0x31, 0x30, 0x31, 0x5a, 0xa0, 0x11,
8674 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x31, 0x37, 0x31, 0x37,
8675 0x33, 0x36, 0x30, 0x31, 0x5a
8679 0x30, 0x81, 0xbe, 0xa1, 0x34, 0x30, 0x32, 0x31, 0x0b, 0x30, 0x09, 0x06,
8680 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x16, 0x30, 0x14,
8681 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x4c, 0x65, 0x74, 0x27, 0x73,
8682 0x20, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x31, 0x0b, 0x30, 0x09,
8683 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x02, 0x52, 0x33, 0x18, 0x0f, 0x32,
8684 0x30, 0x32, 0x32, 0x31, 0x30, 0x32, 0x30, 0x30, 0x36, 0x30, 0x31, 0x30,
8685 0x30, 0x5a, 0x30, 0x75, 0x30, 0x73, 0x30, 0x4b, 0x30, 0x09, 0x06, 0x05,
8686 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0x48, 0xda, 0xc9,
8687 0xa0, 0xfb, 0x2b, 0xd3, 0x2d, 0x4f, 0xf0, 0xde, 0x68, 0xd2, 0xf5, 0x67,
8688 0xb7, 0x35, 0xf9, 0xb3, 0xc4, 0x04, 0x14, 0x14, 0x2e, 0xb3, 0x17, 0xb7,
8689 0x58, 0x56, 0xcb, 0xae, 0x50, 0x09, 0x40, 0xe6, 0x1f, 0xaf, 0x9d, 0x8b,
8690 0x14, 0xc2, 0xc6, 0x02, 0x12, 0x03, 0x26, 0x1c, 0x82, 0x80, 0xf3, 0x8c,
8691 0x13, 0xef, 0xae, 0x83, 0x9d, 0x89, 0xb9, 0xcd, 0x59, 0x83, 0x5b, 0x80,
8692 0x00, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x31, 0x30, 0x32, 0x30, 0x30,
8693 0x36, 0x30, 0x30, 0x30, 0x30, 0x5a, 0xa0, 0x11, 0x18, 0x0f, 0x32, 0x30,
8694 0x32, 0x32, 0x31, 0x30, 0x32, 0x37, 0x30, 0x35, 0x35, 0x39, 0x35, 0x38,
8699 0x30, 0x81, 0xb1, 0xa2, 0x16, 0x04, 0x14, 0xa4, 0x8d, 0xe5, 0xbe, 0x7c,
8700 0x79, 0xe4, 0x70, 0x23, 0x6d, 0x2e, 0x29, 0x34, 0xad, 0x23, 0x58, 0xdc,
8701 0xf5, 0x31, 0x7f, 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x33,
8702 0x31, 0x30, 0x31, 0x32, 0x35, 0x30, 0x35, 0x5a, 0x30, 0x81, 0x85, 0x30,
8703 0x81, 0x82, 0x30, 0x49, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
8704 0x1a, 0x05, 0x00, 0x04, 0x14, 0x74, 0xb4, 0xe7, 0x23, 0x19, 0xc7, 0x65,
8705 0x92, 0x15, 0x40, 0x44, 0x7b, 0xc7, 0xce, 0x3e, 0x90, 0xc2, 0x18, 0x76,
8706 0xeb, 0x04, 0x14, 0xa4, 0x8d, 0xe5, 0xbe, 0x7c, 0x79, 0xe4, 0x70, 0x23,
8707 0x6d, 0x2e, 0x29, 0x34, 0xad, 0x23, 0x58, 0xdc, 0xf5, 0x31, 0x7f, 0x02,
8708 0x10, 0x0d, 0x2e, 0x67, 0xa2, 0x98, 0x85, 0x3b, 0x9a, 0x54, 0x52, 0xe3,
8709 0xa2, 0x85, 0xa4, 0x57, 0x2f, 0xa1, 0x11, 0x18, 0x0f, 0x32, 0x30, 0x32,
8710 0x31, 0x31, 0x30, 0x32, 0x37, 0x32, 0x31, 0x33, 0x38, 0x34, 0x38, 0x5a,
8711 0x18, 0x0f, 0x32, 0x30, 0x32, 0x32, 0x30, 0x33, 0x33, 0x31, 0x30, 0x31,
8712 0x30, 0x39, 0x30, 0x31, 0x5a, 0xa0, 0x11, 0x18, 0x0f, 0x32, 0x30, 0x32,
8713 0x32, 0x30, 0x34, 0x30, 0x37, 0x30, 0x30, 0x32, 0x34, 0x30, 0x31, 0x5a
8717 0x6a, 0x4c, 0xfa, 0xe6, 0xe3, 0x48, 0xbb, 0xd6, 0x18, 0x33, 0x04, 0x9d,
8718 0x6a, 0x92, 0x4d, 0x01, 0x74, 0x4f, 0x1a, 0x70, 0xfa, 0xf2, 0x8b, 0xba,
8719 0x0d, 0x2c, 0x06, 0x30, 0xc9, 0x55, 0xce, 0x95, 0x13, 0x4d, 0x4c, 0x65,
8720 0x99, 0xe7, 0xd6, 0x78, 0x9c, 0x3c, 0x9a, 0x60, 0xeb, 0x43, 0x3c, 0x08,
8721 0x1c, 0x02, 0x6d, 0x45, 0x2d, 0x5b, 0xdf, 0xab, 0xf2, 0x92, 0xf1, 0x71,
8722 0x61, 0xb4, 0x34, 0xcf, 0x84, 0x1f, 0xc9, 0x3f, 0x45, 0x9e, 0x64, 0x89,
8723 0x58, 0xdb, 0x2c, 0x73, 0xa8, 0x04, 0xae, 0xad, 0xf2, 0xc5, 0x80, 0x80,
8724 0xcf, 0x96, 0x4b, 0xf1, 0xb4, 0xf1, 0x2a, 0x86, 0x1c, 0x7f, 0x1d, 0xcc,
8725 0xbf, 0xd6, 0xa2, 0x3f, 0x44, 0xb8, 0x62, 0x5b, 0x9b, 0x55, 0xc1, 0x4e,
8726 0x18, 0x67, 0x5a, 0xbe, 0x31, 0xf5, 0x16, 0x6d, 0x74, 0xc4, 0xf2, 0x60,
8727 0x4f, 0xa1, 0x63, 0x49, 0xe9, 0xff, 0x37, 0x3d, 0x66, 0xcd, 0xc3, 0x79,
8728 0x4e, 0x38, 0x68, 0x1b, 0xbf, 0x0b, 0x3b, 0xdb, 0xa0, 0x13, 0x70, 0xb8,
8729 0xd1, 0x59, 0xe2, 0x8e, 0x88, 0xfe, 0x77, 0x39, 0xa8, 0x3f, 0x93, 0xe1,
8730 0xc6, 0x5e, 0x13, 0x9e, 0xea, 0xec, 0x49, 0x65, 0x0b, 0x6d, 0xbf, 0x76,
8731 0xd5, 0x11, 0x59, 0x7b, 0xfe, 0xe6, 0xb2, 0x58, 0xa8, 0xbd, 0xd0, 0xe6,
8732 0x13, 0x26, 0x72, 0x83, 0x78, 0x90, 0x85, 0x82, 0x86, 0x9f, 0x2e, 0x20,
8733 0x64, 0x90, 0xc3, 0xd1, 0x37, 0x50, 0xac, 0xde, 0x52, 0x8e, 0x83, 0x9f,
8734 0x02, 0x7b, 0xff, 0xf1, 0xd4, 0xe5, 0x8b, 0x77, 0x8d, 0xef, 0x61, 0xcb,
8735 0x85, 0x4d, 0xa0, 0x2e, 0x05, 0x28, 0xc0, 0x86, 0x78, 0x59, 0xa9, 0x94,
8736 0xb3, 0x90, 0x6b, 0xf7, 0xff, 0xd3, 0x08, 0x96, 0x7c, 0xbe, 0x22, 0xd8,
8737 0xb6, 0x35, 0xce, 0x1e, 0xae, 0x70, 0x34, 0x05, 0x51, 0x49, 0xac, 0x2f,
8738 0xe8, 0x67, 0xcf, 0xa7
8743 0x30, 0x82, 0x05, 0x32, 0x30, 0x81, 0xdf, 0xa1, 0x54, 0x30, 0x52, 0x31,
8744 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x4d, 0x58,
8745 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x02, 0x44,
8746 0x46, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x02,
8747 0x43, 0x57, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
8748 0x04, 0x74, 0x65, 0x73, 0x74, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x09, 0x2a,
8749 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x0b, 0x74, 0x65,
8750 0x73, 0x74, 0x40, 0x71, 0x71, 0x2e, 0x63, 0x6f, 0x6d, 0x18, 0x0f, 0x32,
8751 0x30, 0x32, 0x34, 0x30, 0x34, 0x32, 0x35, 0x30, 0x30, 0x30, 0x36, 0x31,
8752 0x31, 0x5a, 0x30, 0x51, 0x30, 0x4f, 0x30, 0x3a, 0x30, 0x09, 0x06, 0x05,
8753 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14, 0x1b, 0xe8, 0x99,
8754 0x10, 0xe7, 0x3d, 0x9c, 0x6b, 0xba, 0x65, 0xb8, 0x6e, 0x6f, 0xd1, 0x63,
8755 0x52, 0xa5, 0x6f, 0xd9, 0x81, 0x04, 0x14, 0xc4, 0x57, 0x2a, 0x53, 0xb7,
8756 0x21, 0x6d, 0x03, 0x2d, 0xd0, 0xbc, 0xd4, 0x2a, 0x88, 0xd2, 0xae, 0x62,
8757 0xa9, 0x97, 0x2a, 0x02, 0x01, 0x02, 0x80, 0x00, 0x18, 0x0f, 0x32, 0x30,
8758 0x32, 0x34, 0x30, 0x34, 0x32, 0x35, 0x30, 0x30, 0x30, 0x36, 0x31, 0x31,
8759 0x5a, 0xa1, 0x23, 0x30, 0x21, 0x30, 0x1f, 0x06, 0x09, 0x2b, 0x06, 0x01,
8760 0x05, 0x05, 0x07, 0x30, 0x01, 0x02, 0x04, 0x12, 0x04, 0x10, 0xab, 0x7a,
8761 0x07, 0x8a, 0xef, 0xc9, 0x7e, 0xb3, 0x51, 0x90, 0xa5, 0x72, 0x09, 0x60,
8762 0x84, 0x27, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
8763 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xb5, 0x61,
8764 0x78, 0x5b, 0xc4, 0xb5, 0xe4, 0x8d, 0xff, 0xe1, 0xc5, 0x95, 0xd1, 0xad,
8765 0xb8, 0x55, 0xb4, 0xca, 0xcc, 0xf5, 0xe9, 0x6f, 0x63, 0x64, 0x4b, 0xf7,
8766 0x46, 0xf9, 0x12, 0x02, 0x36, 0xe1, 0x9f, 0xce, 0xe0, 0x5e, 0x6c, 0xf7,
8767 0x35, 0x19, 0x80, 0x89, 0x6b, 0x7d, 0x8f, 0xa1, 0x8c, 0xb1, 0x7d, 0xdc,
8768 0xf1, 0x1c, 0xf7, 0x70, 0x45, 0x77, 0xf3, 0xb4, 0x42, 0x99, 0x58, 0x68,
8769 0x11, 0xec, 0x41, 0x47, 0x11, 0xcc, 0xb1, 0x2f, 0xbb, 0x11, 0xe7, 0x81,
8770 0x7d, 0x17, 0x93, 0x30, 0xab, 0x58, 0xb1, 0xe0, 0x69, 0x34, 0x17, 0x3a,
8771 0xa0, 0x4a, 0xed, 0xd6, 0x9e, 0x02, 0xfd, 0xb7, 0xd1, 0x77, 0x3c, 0x59,
8772 0x47, 0xeb, 0xce, 0xa0, 0x64, 0x06, 0x38, 0x78, 0x96, 0x86, 0x77, 0x1e,
8773 0x3f, 0xa8, 0x56, 0x9d, 0xc4, 0x8f, 0x1d, 0x23, 0x23, 0x1c, 0xe6, 0x03,
8774 0x2c, 0xb9, 0xfd, 0xac, 0x3e, 0x30, 0x52, 0x51, 0x27, 0x35, 0x20, 0x93,
8775 0x94, 0xaa, 0x69, 0x83, 0xeb, 0x04, 0x32, 0x2a, 0xc0, 0x6b, 0x24, 0x30,
8776 0x6f, 0x0f, 0x61, 0xdb, 0xac, 0x01, 0x46, 0x71, 0x52, 0x96, 0x07, 0x48,
8777 0xba, 0xdf, 0x71, 0x96, 0x25, 0xa6, 0x04, 0x36, 0x49, 0xb9, 0xd9, 0x93,
8778 0x9a, 0x79, 0xbf, 0xad, 0x4a, 0x4f, 0x49, 0x98, 0x7d, 0xa3, 0x49, 0x1d,
8779 0x65, 0xb8, 0x51, 0x93, 0x60, 0x63, 0x91, 0x34, 0x5c, 0xe4, 0xad, 0x91,
8780 0x44, 0xc7, 0x69, 0x93, 0x82, 0x28, 0xce, 0xc1, 0xf6, 0xc2, 0xfb, 0xf5,
8781 0xef, 0xaf, 0xdb, 0xc2, 0x14, 0xed, 0x26, 0xad, 0xc9, 0xba, 0xee, 0xe8,
8782 0x40, 0xc6, 0x03, 0x21, 0x9a, 0x7a, 0x47, 0x45, 0x24, 0x5b, 0xc6, 0xf3,
8783 0xb4, 0x55, 0x7e, 0xa5, 0x86, 0x22, 0x60, 0x16, 0x4a, 0x67, 0x0b, 0xbd,
8784 0x92, 0x7a, 0x53, 0x6b, 0xa0, 0x05, 0x2e, 0x3c, 0xfa, 0x5e, 0x06, 0x4f,
8785 0xf1, 0x70, 0xa0, 0x82, 0x03, 0x38, 0x30, 0x82, 0x03, 0x34, 0x30, 0x82,
8786 0x03, 0x30, 0x30, 0x82, 0x02, 0x99, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
8787 0x01, 0x03, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
8788 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, 0x61, 0x31, 0x0b, 0x30, 0x09, 0x06,
8789 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x4d, 0x58, 0x31, 0x0b, 0x30, 0x09,
8790 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x02, 0x44, 0x46, 0x31, 0x0d, 0x30,
8791 0x0b, 0x06, 0x03, 0x55, 0x04, 0x07, 0x0c, 0x04, 0x43, 0x44, 0x4d, 0x58,
8792 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x02, 0x43,
8793 0x57, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x04,
8794 0x74, 0x65, 0x73, 0x74, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x09, 0x2a, 0x86,
8795 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x0b, 0x74, 0x65, 0x73,
8796 0x74, 0x40, 0x71, 0x71, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x20, 0x17, 0x0d,
8797 0x32, 0x34, 0x30, 0x34, 0x32, 0x34, 0x32, 0x33, 0x35, 0x31, 0x31, 0x39,
8798 0x5a, 0x18, 0x0f, 0x32, 0x30, 0x35, 0x31, 0x30, 0x39, 0x30, 0x39, 0x32,
8799 0x33, 0x35, 0x31, 0x31, 0x39, 0x5a, 0x30, 0x52, 0x31, 0x0b, 0x30, 0x09,
8800 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x4d, 0x58, 0x31, 0x0b, 0x30,
8801 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x02, 0x44, 0x46, 0x31, 0x0b,
8802 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x02, 0x43, 0x57, 0x31,
8803 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x04, 0x74, 0x65,
8804 0x73, 0x74, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
8805 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x40,
8806 0x71, 0x71, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d,
8807 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05,
8808 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82,
8809 0x01, 0x01, 0x00, 0xd5, 0x4d, 0x96, 0x69, 0x63, 0x59, 0x0a, 0x6e, 0x79,
8810 0x9e, 0x5a, 0x16, 0x0a, 0xb2, 0xc1, 0x2f, 0x9c, 0x73, 0x9f, 0x0d, 0x61,
8811 0xac, 0x48, 0x31, 0x04, 0x9f, 0xcb, 0x30, 0xb6, 0x47, 0xf3, 0xe3, 0x9d,
8812 0x9e, 0x96, 0xe6, 0xad, 0x2e, 0xe7, 0x40, 0x9e, 0x54, 0xe1, 0x85, 0x94,
8813 0x2f, 0xf5, 0xc4, 0x46, 0x21, 0x37, 0x57, 0xbe, 0x4f, 0x47, 0xda, 0x91,
8814 0x0b, 0xd6, 0x51, 0xe0, 0x13, 0x1c, 0x4b, 0x3f, 0xe8, 0xf2, 0xad, 0x8b,
8815 0xdb, 0xc1, 0x3d, 0xb5, 0x6c, 0x4d, 0xf7, 0x52, 0x5e, 0x67, 0x90, 0xd7,
8816 0xc8, 0xe9, 0xf5, 0x0a, 0xc1, 0x26, 0xbc, 0x00, 0x21, 0xca, 0xc1, 0xd5,
8817 0x37, 0xc2, 0xea, 0xd7, 0x82, 0x18, 0x94, 0x3e, 0xd7, 0x1a, 0x9e, 0xa6,
8818 0x77, 0x76, 0x37, 0xe8, 0x90, 0xeb, 0x4d, 0x09, 0x18, 0x6f, 0xda, 0xca,
8819 0x73, 0xbc, 0x15, 0x1f, 0xac, 0x14, 0x1f, 0xe5, 0x28, 0x3e, 0x04, 0x11,
8820 0x91, 0x71, 0x34, 0x50, 0xc4, 0xfc, 0x32, 0xb3, 0x2d, 0x0a, 0x9d, 0xa7,
8821 0x15, 0xca, 0x7a, 0xf8, 0x57, 0xc0, 0xe6, 0x92, 0x5e, 0x55, 0xa7, 0x45,
8822 0x58, 0x2b, 0xbf, 0x82, 0x23, 0x8d, 0xe4, 0xb7, 0x4a, 0xd4, 0x15, 0x44,
8823 0x80, 0x88, 0x16, 0x10, 0xcd, 0x42, 0x98, 0x46, 0xd1, 0x55, 0xa4, 0xa2,
8824 0xd8, 0xd8, 0x65, 0x33, 0x4d, 0x21, 0x6d, 0x1d, 0x11, 0x66, 0xd8, 0xa9,
8825 0xf9, 0x12, 0x42, 0x38, 0x2d, 0x36, 0x43, 0xa5, 0xe2, 0x5e, 0xff, 0x7c,
8826 0xae, 0xaa, 0xc8, 0x85, 0x42, 0xf3, 0xa0, 0x90, 0xd2, 0x04, 0xc9, 0xe4,
8827 0xa0, 0x0d, 0x97, 0xbb, 0x66, 0x8d, 0x81, 0xaa, 0x86, 0xa9, 0x49, 0x4c,
8828 0x14, 0x67, 0x02, 0xf6, 0x32, 0xde, 0x19, 0xf9, 0x14, 0xd0, 0xdb, 0x89,
8829 0xbf, 0x65, 0xc9, 0x87, 0x1d, 0xcc, 0xd3, 0x5f, 0x6a, 0xd4, 0x9d, 0x54,
8830 0x9d, 0x34, 0x08, 0xef, 0x7a, 0x77, 0x4f, 0x02, 0x03, 0x01, 0x00, 0x01,
8831 0xa3, 0x81, 0x80, 0x30, 0x7e, 0x30, 0x31, 0x06, 0x08, 0x2b, 0x06, 0x01,
8832 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x25, 0x30, 0x23, 0x30, 0x21, 0x06,
8833 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x15, 0x68,
8834 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x31, 0x32, 0x37, 0x2e, 0x30, 0x2e,
8835 0x30, 0x2e, 0x31, 0x3a, 0x38, 0x30, 0x38, 0x30, 0x30, 0x09, 0x06, 0x03,
8836 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55,
8837 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x58, 0x25, 0x0b, 0x7b, 0x6c, 0xe7,
8838 0x50, 0xdf, 0x45, 0x4b, 0x35, 0x37, 0xd1, 0x84, 0x25, 0x66, 0xbb, 0xda,
8839 0x7b, 0xc5, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30,
8840 0x16, 0x80, 0x14, 0xc4, 0x57, 0x2a, 0x53, 0xb7, 0x21, 0x6d, 0x03, 0x2d,
8841 0xd0, 0xbc, 0xd4, 0x2a, 0x88, 0xd2, 0xae, 0x62, 0xa9, 0x97, 0x2a, 0x30,
8842 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
8843 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xca, 0xbf, 0xb3, 0xcb, 0xf8, 0x5d,
8844 0x57, 0x25, 0xc4, 0xcd, 0xd3, 0xa2, 0xae, 0xcb, 0xc8, 0xe0, 0xd0, 0x16,
8845 0xa5, 0x54, 0x80, 0xf9, 0x6c, 0xa9, 0x4a, 0x8d, 0xa0, 0xea, 0x21, 0x6b,
8846 0xec, 0xfe, 0xa1, 0xdd, 0x48, 0x4c, 0xc0, 0x37, 0x5c, 0x36, 0x9f, 0x6d,
8847 0x3d, 0x89, 0x31, 0xc2, 0x74, 0xfd, 0xdf, 0x60, 0xa4, 0x05, 0xcb, 0x47,
8848 0xd2, 0x13, 0xa4, 0x23, 0x9f, 0xfb, 0x3c, 0x3f, 0x7a, 0x1f, 0x75, 0xfc,
8849 0x32, 0x8f, 0xbc, 0xb1, 0x3d, 0x7b, 0xef, 0x49, 0xd1, 0x47, 0x4a, 0x6d,
8850 0x6d, 0x8f, 0xd4, 0xb3, 0x71, 0x3d, 0x24, 0x48, 0x05, 0x1b, 0x29, 0xa7,
8851 0xe0, 0xbd, 0xad, 0x01, 0xff, 0x92, 0x2a, 0x24, 0x1e, 0x94, 0x6e, 0x59,
8852 0x7b, 0xd4, 0x98, 0xf0, 0x60, 0xe5, 0x69, 0xa2, 0x45, 0xaf, 0xd6, 0x7f,
8853 0x5b, 0x69, 0x84, 0x97, 0x23, 0xc7, 0xda, 0x3b, 0x37, 0xcd, 0x15, 0x4e,
8873 "got %s\n",
info->SignatureInfo.SignatureAlgorithm.pszObjId);
8874 ok(
info->SignatureInfo.SignatureAlgorithm.Parameters.cbData == 2,
8875 "got %lu\n",
info->SignatureInfo.SignatureAlgorithm.Parameters.cbData);
8876 ok(
info->SignatureInfo.SignatureAlgorithm.Parameters.pbData[0] == 5,
"got 0x%02x\n",
8877 info->SignatureInfo.SignatureAlgorithm.Parameters.pbData[0]);
8878 ok(!
info->SignatureInfo.SignatureAlgorithm.Parameters.pbData[1],
"got 0x%02x\n",
8879 info->SignatureInfo.SignatureAlgorithm.Parameters.pbData[1]);
8882 info->SignatureInfo.Signature.cbData);
8884 "wrong signature data\n");
8886 ok(!
info->SignatureInfo.cCertEncoded,
"got %lu\n",
info->SignatureInfo.cCertEncoded);
8887 ok(!
info->SignatureInfo.rgCertEncoded,
"got %p\n",
info->SignatureInfo.rgCertEncoded);
8899 static const BYTE resp_id[] = {
8900 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5,
8901 0x95, 0x76, 0xb9, 0xf4};
8902 static const BYTE resp_id2[] = {
8903 0xa4, 0x8d, 0xe5, 0xbe, 0x7c, 0x79, 0xe4, 0x70, 0x23, 0x6d, 0x2e, 0x29, 0x34, 0xad, 0x23, 0x58,
8904 0xdc, 0xf5, 0x31, 0x7f};
8905 static const BYTE resp_id3[] = {
8906 0x30, 0x32, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
8907 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x0d, 0x4c, 0x65, 0x74, 0x27, 0x73, 0x20,
8908 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03,
8909 0x13, 0x02, 0x52, 0x33};
8911 0xe4, 0xe3, 0x95, 0xa2, 0x29, 0xd3, 0xd4, 0xc1, 0xc3, 0x1f, 0xf0, 0x98, 0x0c, 0x0b, 0x4e, 0xc0,
8912 0x09, 0x8a, 0xab, 0xd8};
8913 static const BYTE name_hash2[] = {
8914 0x74, 0xb4, 0xe7, 0x23, 0x19, 0xc7, 0x65, 0x92, 0x15, 0x40, 0x44, 0x7b, 0xc7, 0xce, 0x3e, 0x90,
8915 0xc2, 0x18, 0x76, 0xeb};
8916 static const BYTE name_hash3[] = {
8917 0x48, 0xda, 0xc9, 0xa0, 0xfb, 0x2b, 0xd3, 0x2d, 0x4f, 0xf0, 0xde, 0x68, 0xd2, 0xf5, 0x67, 0xb7,
8918 0x35, 0xf9, 0xb3, 0xc4};
8919 static const BYTE key_hash[] = {
8920 0xb7, 0x6b, 0xa2, 0xea, 0xa8, 0xaa, 0x84, 0x8c, 0x79, 0xea, 0xb4, 0xda, 0x0f, 0x98, 0xb2, 0xc5,
8921 0x95, 0x76, 0xb9, 0xf4};
8922 static const BYTE key_hash2[] = {
8923 0xa4, 0x8d, 0xe5, 0xbe, 0x7c, 0x79, 0xe4, 0x70, 0x23, 0x6d, 0x2e, 0x29, 0x34, 0xad, 0x23, 0x58,
8924 0xdc, 0xf5, 0x31, 0x7f};
8925 static const BYTE key_hash3[] = {
8926 0x14, 0x2e, 0xb3, 0x17, 0xb7, 0x58, 0x56, 0xcb, 0xae, 0x50, 0x09, 0x40, 0xe6, 0x1f, 0xaf, 0x9d,
8927 0x8b, 0x14, 0xc2, 0xc6};
8929 0xb1, 0xc1, 0x87, 0x54, 0x54, 0xac, 0x1e, 0x55, 0x40, 0xfb, 0xef, 0xd9, 0x6d, 0x8f, 0x49, 0x08};
8930 static const BYTE serial2[] = {
8931 0x2f, 0x57, 0xa4, 0x85, 0xa2, 0xe3, 0x52, 0x54, 0x9a, 0x3b, 0x85, 0x98, 0xa2, 0x67, 0x2e, 0x0d};
8932 static const BYTE serial3[] = {
8933 0x5b, 0x83, 0x59, 0xcd, 0xb9, 0x89, 0x9d, 0x83, 0xae, 0xef, 0x13, 0x8c, 0xf3, 0x80, 0x82, 0x1c,
8947 ok(!
info->dwVersion,
"got %lu\n",
info->dwVersion);
8948 ok(
info->dwResponderIdChoice == 2,
"got %lu\n",
info->dwResponderIdChoice);
8949 ok(
info->ByKeyResponderId.cbData ==
sizeof(resp_id),
"got %lu\n",
info->ByKeyResponderId.cbData);
8950 ok(!
memcmp(
info->ByKeyResponderId.pbData, resp_id,
sizeof(resp_id)),
"wrong data\n");
8951 ok(
info->ProducedAt.dwLowDateTime == 3438583808,
"got %lu\n",
info->ProducedAt.dwLowDateTime);
8952 ok(
info->ProducedAt.dwHighDateTime == 30946477,
"got %lu\n",
info->ProducedAt.dwHighDateTime);
8953 ok(
info->cResponseEntry == 1,
"got %lu\n",
info->cResponseEntry);
8954 ok(
info->rgResponseEntry !=
NULL,
"got %p\n",
info->rgResponseEntry);
8958 ok(
entry->CertId.HashAlgorithm.Parameters.cbData == 2,
"got %lu\n",
entry->CertId.HashAlgorithm.Parameters.cbData);
8959 ok(
entry->CertId.HashAlgorithm.Parameters.pbData[0] == 5,
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[0]);
8960 ok(!
entry->CertId.HashAlgorithm.Parameters.pbData[1],
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[1]);
8961 ok(
entry->CertId.IssuerNameHash.cbData ==
sizeof(
name_hash),
"got %lu\n",
entry->CertId.IssuerNameHash.cbData);
8963 ok(
entry->CertId.IssuerKeyHash.cbData ==
sizeof(key_hash),
"got %lu\n",
entry->CertId.IssuerKeyHash.cbData);
8964 ok(!
memcmp(
entry->CertId.IssuerKeyHash.pbData, key_hash,
sizeof(key_hash)),
"wrong data\n");
8965 ok(
entry->CertId.SerialNumber.cbData ==
sizeof(
serial),
"got %lu\n",
entry->CertId.SerialNumber.cbData);
8967 ok(
entry->dwCertStatus == 0,
"got %lu\n",
entry->dwCertStatus);
8969 ok(
entry->ThisUpdate.dwLowDateTime == 2558518400,
"got %lu\n",
entry->ThisUpdate.dwLowDateTime);
8970 ok(
entry->ThisUpdate.dwHighDateTime == 30946475,
"got %lu\n",
entry->ThisUpdate.dwHighDateTime);
8971 ok(
entry->NextUpdate.dwLowDateTime == 2014369408,
"got %lu\n",
entry->NextUpdate.dwLowDateTime);
8972 ok(
entry->NextUpdate.dwHighDateTime == 30947877,
"got %lu\n",
entry->NextUpdate.dwHighDateTime);
8973 ok(!
entry->cExtension,
"got %lu\n",
entry->cExtension);
8976 ok(!
info->cExtension,
"got %lu\n",
info->cExtension);
8986 ok(!
info->dwVersion,
"got %lu\n",
info->dwVersion);
8987 ok(
info->dwResponderIdChoice == 2,
"got %lu\n",
info->dwResponderIdChoice);
8988 ok(
info->ByKeyResponderId.cbData ==
sizeof(resp_id),
"got %lu\n",
info->ByKeyResponderId.cbData);
8989 ok(!
memcmp(
info->ByKeyResponderId.pbData, resp_id2,
sizeof(resp_id2)),
"wrong data\n");
8990 ok(
info->ProducedAt.dwLowDateTime == 647048832,
"got %lu\n",
info->ProducedAt.dwLowDateTime);
8991 ok(
info->ProducedAt.dwHighDateTime == 30950558,
"got %lu\n",
info->ProducedAt.dwHighDateTime);
8992 ok(
info->cResponseEntry == 1,
"got %lu\n",
info->cResponseEntry);
8993 ok(
info->rgResponseEntry !=
NULL,
"got %p\n",
info->rgResponseEntry);
8997 ok(
entry->CertId.HashAlgorithm.Parameters.cbData == 2,
"got %lu\n",
entry->CertId.HashAlgorithm.Parameters.cbData);
8998 ok(
entry->CertId.HashAlgorithm.Parameters.pbData[0] == 5,
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[0]);
8999 ok(!
entry->CertId.HashAlgorithm.Parameters.pbData[1],
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[1]);
9000 ok(
entry->CertId.IssuerNameHash.cbData ==
sizeof(name_hash2),
"got %lu\n",
entry->CertId.IssuerNameHash.cbData);
9001 ok(!
memcmp(
entry->CertId.IssuerNameHash.pbData, name_hash2,
sizeof(name_hash2)),
"wrong data\n");
9002 ok(
entry->CertId.IssuerKeyHash.cbData ==
sizeof(key_hash2),
"got %lu\n",
entry->CertId.IssuerKeyHash.cbData);
9003 ok(!
memcmp(
entry->CertId.IssuerKeyHash.pbData, key_hash2,
sizeof(key_hash2)),
"wrong data\n");
9004 ok(
entry->CertId.SerialNumber.cbData ==
sizeof(serial2),
"got %lu\n",
entry->CertId.SerialNumber.cbData);
9005 ok(!
memcmp(
entry->CertId.SerialNumber.pbData, serial2,
sizeof(serial2)),
"wrong data\n");
9006 ok(
entry->dwCertStatus == 1,
"got %lu\n",
entry->dwCertStatus);
9009 revoked =
entry->pRevokedInfo;
9014 ok(
entry->ThisUpdate.dwLowDateTime == 3891950720,
"got %lu\n",
entry->ThisUpdate.dwLowDateTime);
9015 ok(
entry->ThisUpdate.dwHighDateTime == 30950555,
"got %lu\n",
entry->ThisUpdate.dwHighDateTime);
9016 ok(
entry->NextUpdate.dwLowDateTime == 3347801728,
"got %lu\n",
entry->NextUpdate.dwLowDateTime);
9017 ok(
entry->NextUpdate.dwHighDateTime == 30951957,
"got %lu\n",
entry->NextUpdate.dwHighDateTime);
9018 ok(!
entry->cExtension,
"got %lu\n",
entry->cExtension);
9021 ok(!
info->cExtension,
"got %lu\n",
info->cExtension);
9030 ok(!
info->dwVersion,
"got %lu\n",
info->dwVersion);
9031 ok(
info->dwResponderIdChoice == 1,
"got %lu\n",
info->dwResponderIdChoice);
9032 ok(
info->ByNameResponderId.cbData ==
sizeof(resp_id3),
"got %lu\n",
info->ByNameResponderId.cbData);
9033 ok(!
memcmp(
info->ByNameResponderId.pbData, resp_id3,
sizeof(resp_id3)),
"wrong data\n");
9035 ok(
info->ProducedAt.dwLowDateTime == 1408824832,
"got %lu\n",
info->ProducedAt.dwLowDateTime);
9036 ok(
info->ProducedAt.dwHighDateTime == 30991433,
"got %lu\n",
info->ProducedAt.dwHighDateTime);
9037 ok(
info->cResponseEntry == 1,
"got %lu\n",
info->cResponseEntry);
9038 ok(
info->rgResponseEntry !=
NULL,
"got %p\n",
info->rgResponseEntry);
9042 ok(
entry->CertId.HashAlgorithm.Parameters.cbData == 2,
"got %lu\n",
entry->CertId.HashAlgorithm.Parameters.cbData);
9043 ok(
entry->CertId.HashAlgorithm.Parameters.pbData[0] == 5,
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[0]);
9044 ok(!
entry->CertId.HashAlgorithm.Parameters.pbData[1],
"got 0x%02x\n",
entry->CertId.HashAlgorithm.Parameters.pbData[1]);
9045 ok(
entry->CertId.IssuerNameHash.cbData ==
sizeof(name_hash3),
"got %lu\n",
entry->CertId.IssuerNameHash.cbData);
9046 ok(!
memcmp(
entry->CertId.IssuerNameHash.pbData, name_hash3,
sizeof(name_hash3)),
"wrong data\n");
9048 ok(
entry->CertId.IssuerKeyHash.cbData ==
sizeof(key_hash3),
"got %lu\n",
entry->CertId.IssuerKeyHash.cbData);
9049 ok(!
memcmp(
entry->CertId.IssuerKeyHash.pbData, key_hash3,
sizeof(key_hash3)),
"wrong data\n");
9050 ok(
entry->CertId.SerialNumber.cbData ==
sizeof(serial3),
"got %lu\n",
entry->CertId.SerialNumber.cbData);
9051 ok(!
memcmp(
entry->CertId.SerialNumber.pbData, serial3,
sizeof(serial3)),
"wrong data\n");
9052 ok(
entry->dwCertStatus == 0,
"got %lu\n",
entry->dwCertStatus);
9054 ok(
entry->ThisUpdate.dwLowDateTime == 808824832,
"got %lu\n",
entry->ThisUpdate.dwLowDateTime);
9055 ok(
entry->ThisUpdate.dwHighDateTime == 30991433,
"got %lu\n",
entry->ThisUpdate.dwHighDateTime);
9056 ok(
entry->NextUpdate.dwLowDateTime == 1474872064,
"got %lu\n",
entry->NextUpdate.dwLowDateTime);
9057 ok(
entry->NextUpdate.dwHighDateTime == 30992841,
"got %lu\n",
entry->NextUpdate.dwHighDateTime);
9058 ok(!
entry->cExtension,
"got %lu\n",
entry->cExtension);
9061 ok(!
info->cExtension,
"got %lu\n",
info->cExtension);
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
NTSTATUS WINAPI BCryptDestroyKey(BCRYPT_KEY_HANDLE)
struct _BCRYPT_RSAKEY_BLOB BCRYPT_RSAKEY_BLOB
#define BCRYPT_RSAPUBLIC_MAGIC
_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 CryptDecodeObjectEx(DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo)
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 CryptEncodeObjectEx(DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, DWORD dwFlags, PCRYPT_ENCODE_PARA pEncodePara, void *pvEncoded, DWORD *pcbEncoded)
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
static const WCHAR *const ext[]
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)
DWORD WINAPI GetVersion(void)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define STATUS_ACCESS_VIOLATION
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[]
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[]
void CRYPT_CopyReversed(BYTE *dst, const BYTE *src, size_t len)
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 const BYTE ocsp_signature[]
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 void test_decodeOCSPBasicSignedResponseInfo(DWORD dwEncoding)
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 ocsp_response[]
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 void test_decodeOCSPResponseInfo(DWORD dwEncoding)
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 ocsp_basic_response[]
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 void test_encodeOCSPRequestInfo(DWORD dwEncoding)
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 ocsp_basic_response2[]
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 const BYTE ocsp_basic_signed_response_with_cert[]
static void test_decodeCertPolicies(DWORD dwEncoding)
static const BYTE ocsp_basic_response_revoked[]
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 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 const BYTE authorityKeyIdWithId[]
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 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 ocsp_basic_signed_response[]
static const BYTE v1CRLWithEntryExt[]
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 void test_encodeRsaPublicKey_Bcrypt(DWORD dwEncoding)
static void test_decodeOCSPBasicResponseInfo(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 void test_decodeRsaPublicKey_Bcrypt(DWORD dwEncoding)
static const BYTE mod1_encoded[]
static BYTE encodedCommonNameNoNull[]
static const BYTE v1CertWithIssuerUniqueId[]
static const BYTE constraintWithDomainName[]
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 BYTE ocsp_response2[]
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 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
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
#define ASN_OBJECTIDENTIFIER
const char int int int static __inline const char * wine_dbgstr_a(const char *s)
CERT_BASIC_CONSTRAINTS2_INFO info
CERT_NAME_CONSTRAINTS_INFO constraints
CERT_ALT_NAME_ENTRY AccessLocation
CRYPT_DATA_BLOB IPAddress
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
CERT_ALT_NAME_INFO FullName
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
POCSP_SIGNATURE_INFO pOptionalSignatureInfo
CRYPT_DER_BLOB ToBeSigned
CERT_PUBLIC_KEY_INFO info
CERT_PUBLIC_KEY_INFO decoded
const BYTE * encodedNoNull
DWORD WINAPI GetLastError(void)
#define szOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE
#define szOID_RSA_SHA256RSA
#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
WINCRYPT32API BOOL WINAPI CryptImportPublicKeyInfoEx2(DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo, BCRYPT_KEY_HANDLE *phKey)
#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 OCSP_BASIC_RESPONSE
#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 OCSP_SUCCESSFUL_RESPONSE
#define CERT_RDN_VISIBLE_STRING
#define szOID_PKIX_KP_CODE_SIGNING
#define OCSP_BASIC_SIGNED_RESPONSE
#define CRYPT_DELETEKEYSET
#define CRL_DIST_POINT_NO_NAME
#define CNG_RSA_PUBLIC_KEY_BLOB
#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 OCSP_UNAUTHORIZED_RESPONSE
#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 szOID_OIWSEC_sha1
#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 OCSP_SIGNED_REQUEST
#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