diff --git a/dlls/crypt32/tests/chain.c b/dlls/crypt32/tests/chain.c index aa84004a3fc..14b59933eae 100644 --- a/dlls/crypt32/tests/chain.c +++ b/dlls/crypt32/tests/chain.c @@ -744,38 +744,9 @@ static const BYTE chain5_1[] = { 0xe7,0x8b,0x3b,0x2a,0x2f,0x46,0xed,0xda,0x96,0x1a,0xc1,0x5c,0xfe,0xe0,0xef, 0xdb,0xe0,0x11,0xc4,0x56,0x12,0xe2,0x4b,0x84,0xde,0xaf,0x7f,0x3c,0x9f,0xcb, 0xb6,0xac,0x92 }; -/* chain6_0 -> chain6_1: +/* chain0_0 -> chain6_1: * A chain whose end certificate is a CA. */ -static const BYTE chain6_0[] = { -0x30,0x82,0x01,0x9b,0x30,0x82,0x01,0x08,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, -0x5d,0x20,0xc1,0x31,0xc4,0xdd,0x60,0x9d,0x40,0x3d,0xd5,0x53,0xae,0x9a,0x4c, -0xfd,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x30,0x10,0x31, -0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x31, -0x30,0x1e,0x17,0x0d,0x30,0x37,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30, -0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x32,0x33,0x31,0x32,0x33,0x35,0x39,0x35, -0x39,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05, -0x43,0x65,0x72,0x74,0x31,0x30,0x81,0x9f,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48, -0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x81,0x8d,0x00,0x30,0x81,0x89, -0x02,0x81,0x81,0x00,0xad,0x7e,0xca,0xf3,0xe5,0x99,0xc2,0x2a,0xca,0x50,0x82, -0x7c,0x2d,0xa4,0x81,0xcd,0x0d,0x0d,0x86,0xd7,0xd8,0xb2,0xde,0xc5,0xc3,0x34, -0x9e,0x07,0x78,0x08,0x11,0x12,0x2d,0x21,0x0a,0x09,0x07,0x14,0x03,0x7a,0xe7, -0x3b,0x58,0xf1,0xde,0x3e,0x01,0x25,0x93,0xab,0x8f,0xce,0x1f,0xc1,0x33,0x91, -0xfe,0x59,0xb9,0x3b,0x9e,0x95,0x12,0x89,0x8e,0xc3,0x4b,0x98,0x1b,0x99,0xc5, -0x07,0xe2,0xdf,0x15,0x4c,0x39,0x76,0x06,0xad,0xdb,0x16,0x06,0x49,0xba,0xcd, -0x0f,0x07,0xd6,0xea,0x27,0xa6,0xfe,0x3d,0x88,0xe5,0x97,0x45,0x72,0xb6,0x1c, -0xc0,0x1c,0xb1,0xa2,0x89,0xe8,0x37,0x9e,0xf6,0x2a,0xcf,0xd5,0x1f,0x2f,0x35, -0x5e,0x8f,0x3a,0x9c,0x61,0xb1,0xf1,0x6c,0xff,0x8c,0xb2,0x2f,0x02,0x03,0x01, -0x00,0x01,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x03,0x81, -0x81,0x00,0x25,0x96,0x0f,0xc9,0xc3,0x77,0xd1,0xb4,0x90,0xc2,0xc1,0x45,0x94, -0xdd,0xfd,0xf5,0x18,0xf8,0xf9,0xfc,0xdf,0x28,0x1c,0x65,0x59,0x64,0x66,0x0d, -0x90,0x1b,0xeb,0xe3,0x84,0x84,0x02,0xab,0xb5,0x56,0xd6,0x54,0x0e,0xbc,0x8a, -0x7d,0xb4,0x0c,0x6d,0xef,0x6e,0x1b,0xb9,0xda,0x61,0x6e,0xc3,0x1f,0x37,0x59, -0x86,0x54,0x4c,0xf0,0xf1,0x9e,0xcf,0x1b,0x67,0x3b,0xbe,0x19,0xa6,0xaa,0x3c, -0x04,0xfb,0xbf,0x4c,0xcd,0xeb,0xf8,0xbb,0xa6,0x18,0xce,0xfc,0x16,0xcc,0xa9, -0xa4,0x4f,0x85,0x91,0xc4,0x53,0x6f,0x4b,0x04,0x1d,0xb6,0x81,0x50,0xe6,0x3a, -0xa2,0xab,0x4b,0xb9,0x43,0xcf,0xe6,0x2a,0x15,0x79,0x0f,0x5c,0xab,0x7d,0x79, -0xd0,0x9f,0xeb,0x93,0x49,0x4f,0x16,0xad,0x63,0x1c }; static const BYTE chain6_1[] = { 0x30,0x82,0x01,0xa9,0x30,0x82,0x01,0x12,0xa0,0x03,0x02,0x01,0x02,0x02,0x01, 0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05, @@ -806,39 +777,9 @@ static const BYTE chain6_1[] = { 0xfa,0x9a,0x1f,0xe9,0x29,0x47,0x54,0x96,0x53,0x65,0x27,0xb1,0x66,0xd0,0x11, 0x1c,0xf6,0x20,0x07,0xb4,0x66,0x88,0x18,0xdc,0x0c,0x57,0x7e,0x1f,0x8a,0x49, 0x7a,0xe2,0x34,0x52,0x0b,0x46,0x6b,0xfd,0x27 }; -/* chain7_0 -> chain 7_1: +/* chain0_0 -> chain 7_1: * A chain with a bad critical extension. */ -static const BYTE chain7_0[] = { -0x30,0x82,0x01,0xac,0x30,0x82,0x01,0x19,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, -0xac,0x23,0x9b,0xc5,0x45,0xc1,0xd0,0x96,0x4e,0xca,0x10,0xc2,0x95,0x9e,0x71, -0x60,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x30,0x10,0x31, -0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x31, -0x30,0x1e,0x17,0x0d,0x30,0x37,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30, -0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x32,0x33,0x31,0x32,0x33,0x35,0x39,0x35, -0x39,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05, -0x43,0x65,0x72,0x74,0x31,0x30,0x81,0x9f,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48, -0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x81,0x8d,0x00,0x30,0x81,0x89, -0x02,0x81,0x81,0x00,0xad,0x7e,0xca,0xf3,0xe5,0x99,0xc2,0x2a,0xca,0x50,0x82, -0x7c,0x2d,0xa4,0x81,0xcd,0x0d,0x0d,0x86,0xd7,0xd8,0xb2,0xde,0xc5,0xc3,0x34, -0x9e,0x07,0x78,0x08,0x11,0x12,0x2d,0x21,0x0a,0x09,0x07,0x14,0x03,0x7a,0xe7, -0x3b,0x58,0xf1,0xde,0x3e,0x01,0x25,0x93,0xab,0x8f,0xce,0x1f,0xc1,0x33,0x91, -0xfe,0x59,0xb9,0x3b,0x9e,0x95,0x12,0x89,0x8e,0xc3,0x4b,0x98,0x1b,0x99,0xc5, -0x07,0xe2,0xdf,0x15,0x4c,0x39,0x76,0x06,0xad,0xdb,0x16,0x06,0x49,0xba,0xcd, -0x0f,0x07,0xd6,0xea,0x27,0xa6,0xfe,0x3d,0x88,0xe5,0x97,0x45,0x72,0xb6,0x1c, -0xc0,0x1c,0xb1,0xa2,0x89,0xe8,0x37,0x9e,0xf6,0x2a,0xcf,0xd5,0x1f,0x2f,0x35, -0x5e,0x8f,0x3a,0x9c,0x61,0xb1,0xf1,0x6c,0xff,0x8c,0xb2,0x2f,0x02,0x03,0x01, -0x00,0x01,0xa3,0x0f,0x30,0x0d,0x30,0x0b,0x06,0x02,0x2a,0x03,0x01,0x01,0xff, -0x04,0x02,0x30,0x00,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00, -0x03,0x81,0x81,0x00,0x7b,0xad,0xcd,0xfc,0x28,0x12,0x0a,0x64,0x07,0x02,0x89, -0x74,0x47,0xc6,0x3b,0xc6,0xf0,0x1b,0xb1,0x1b,0x42,0xc5,0x7c,0x87,0x9a,0x8d, -0xb1,0xe8,0x3f,0x56,0x28,0x20,0x7e,0xcd,0xbb,0x49,0xef,0x6e,0x15,0x29,0x43, -0x56,0xf1,0xe5,0x76,0xbd,0x32,0x3b,0xa7,0xc6,0xdd,0xb6,0x49,0xce,0x84,0xf3, -0x6b,0xaa,0x28,0x87,0x55,0x0a,0xb7,0x96,0x9a,0x21,0xc0,0x98,0x40,0x7c,0xc8, -0x1c,0xaf,0x53,0xde,0x50,0x66,0x0a,0x0c,0x42,0xbc,0x68,0x02,0x67,0xee,0xfc, -0xbf,0xa0,0xb0,0xd7,0x8b,0x25,0x79,0xb6,0xcc,0xdb,0x1f,0xd4,0x67,0xc4,0xe5, -0x67,0x78,0x8a,0x8e,0xa6,0xa0,0x1a,0xe8,0x28,0x4a,0x5d,0x25,0x10,0xa6,0x16, -0x9a,0x84,0x26,0x1c,0xc6,0x54,0x90,0xa3,0x9b,0xd2,0xf9,0x8f }; static const BYTE chain7_1[] = { 0x30,0x82,0x01,0x93,0x30,0x81,0xfd,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,0x01, 0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00, @@ -991,40 +932,11 @@ static const BYTE chain9_0[] = { 0x9c,0xda,0x63,0x01,0x6a,0x71,0x68,0xc4,0x21,0x67,0xa6,0x51,0x19,0x5e,0xc7, 0x8c,0x8d,0x63,0x5c,0xbe,0x04,0x8f,0xad,0xea,0xa5,0xcd,0xc3,0xd6,0x6b,0xc7, 0xb5,0x56 }; -/* chain10_0 -+ +/* chain0_0 -+ * +-> chain7_1 * chain10_1 -+ * A chain with two issuers, only one of whose dates is valid. */ -static const BYTE chain10_0[] = { -0x30,0x82,0x01,0x9b,0x30,0x82,0x01,0x08,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, -0x4a,0x30,0x3a,0x42,0xa2,0x5a,0xb3,0x93,0x4d,0x94,0x06,0xad,0x6d,0x1c,0x34, -0xe6,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x30,0x10,0x31, -0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x31, -0x30,0x1e,0x17,0x0d,0x30,0x36,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30, -0x30,0x5a,0x17,0x0d,0x30,0x36,0x31,0x32,0x33,0x31,0x32,0x33,0x35,0x39,0x35, -0x39,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05, -0x43,0x65,0x72,0x74,0x31,0x30,0x81,0x9f,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48, -0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x81,0x8d,0x00,0x30,0x81,0x89, -0x02,0x81,0x81,0x00,0xad,0x7e,0xca,0xf3,0xe5,0x99,0xc2,0x2a,0xca,0x50,0x82, -0x7c,0x2d,0xa4,0x81,0xcd,0x0d,0x0d,0x86,0xd7,0xd8,0xb2,0xde,0xc5,0xc3,0x34, -0x9e,0x07,0x78,0x08,0x11,0x12,0x2d,0x21,0x0a,0x09,0x07,0x14,0x03,0x7a,0xe7, -0x3b,0x58,0xf1,0xde,0x3e,0x01,0x25,0x93,0xab,0x8f,0xce,0x1f,0xc1,0x33,0x91, -0xfe,0x59,0xb9,0x3b,0x9e,0x95,0x12,0x89,0x8e,0xc3,0x4b,0x98,0x1b,0x99,0xc5, -0x07,0xe2,0xdf,0x15,0x4c,0x39,0x76,0x06,0xad,0xdb,0x16,0x06,0x49,0xba,0xcd, -0x0f,0x07,0xd6,0xea,0x27,0xa6,0xfe,0x3d,0x88,0xe5,0x97,0x45,0x72,0xb6,0x1c, -0xc0,0x1c,0xb1,0xa2,0x89,0xe8,0x37,0x9e,0xf6,0x2a,0xcf,0xd5,0x1f,0x2f,0x35, -0x5e,0x8f,0x3a,0x9c,0x61,0xb1,0xf1,0x6c,0xff,0x8c,0xb2,0x2f,0x02,0x03,0x01, -0x00,0x01,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x03,0x81, -0x81,0x00,0x85,0x6e,0x35,0x2f,0x2c,0x51,0x4f,0xd6,0x2a,0xe4,0x9e,0xd0,0x4b, -0xe6,0x90,0xfd,0xf7,0x20,0xad,0x76,0x3f,0x93,0xea,0x7f,0x0d,0x1f,0xb3,0x8e, -0xfd,0xe0,0xe1,0xd6,0xd7,0x9c,0x7d,0x46,0x6b,0x15,0x5c,0xe6,0xc9,0x62,0x3b, -0x70,0x4a,0x4b,0xb2,0x82,0xe3,0x55,0x0c,0xc4,0x90,0x44,0x06,0x6c,0x86,0x1c, -0x6d,0x47,0x12,0xda,0x33,0x95,0x5d,0x98,0x43,0xcb,0x7c,0xfa,0x2b,0xee,0xc4, -0x2d,0xc8,0x95,0x33,0x89,0x08,0x3f,0x9f,0x87,0xea,0x20,0x04,0xaf,0x58,0x4b, -0x9d,0xc0,0x7c,0x0a,0x1b,0x05,0x31,0x3b,0xbb,0x13,0x58,0x2e,0x3f,0x61,0x6b, -0x10,0xb4,0xeb,0xb9,0x1a,0x30,0xfd,0xea,0xca,0x29,0x99,0x5f,0x42,0x2b,0x00, -0xb0,0x08,0xc3,0xf0,0xb6,0xd6,0x6b,0xf9,0x35,0x95 }; static const BYTE chain10_1[] = { 0x30,0x82,0x01,0x9b,0x30,0x82,0x01,0x08,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, 0xbf,0x99,0x4f,0x14,0x03,0x77,0x44,0xb8,0x49,0x02,0x70,0xa1,0xb8,0x9c,0xa7, @@ -1054,41 +966,12 @@ static const BYTE chain10_1[] = { 0x36,0xd7,0x68,0x65,0xcf,0xda,0x57,0x8d,0xcd,0x84,0x75,0x47,0x26,0x2c,0xef, 0x1e,0x8f,0xc7,0x3b,0xee,0x5d,0x03,0xa6,0xdf,0x3a,0x20,0xb2,0xcc,0xc9,0x09, 0x2c,0xfe,0x2b,0x79,0xb0,0xca,0x2c,0x9a,0x81,0x6b }; -/* chain11_0 -+ +/* chain0_0 -+ * +-> chain7_1 * chain11_1 -+ * A chain with two issuers, only one of whose public keys matches the * signature. */ -static const BYTE chain11_0[] = { -0x30,0x82,0x01,0x9b,0x30,0x82,0x01,0x08,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, -0xcf,0xbe,0xf0,0xa0,0x3c,0xd7,0xb3,0xb2,0x4d,0xff,0xa2,0x18,0x5f,0x8d,0xfc, -0xf4,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x30,0x10,0x31, -0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x31, -0x30,0x1e,0x17,0x0d,0x30,0x37,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x30, -0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x32,0x33,0x31,0x32,0x33,0x35,0x39,0x35, -0x39,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05, -0x43,0x65,0x72,0x74,0x31,0x30,0x81,0x9f,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48, -0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x81,0x8d,0x00,0x30,0x81,0x89, -0x02,0x81,0x81,0x00,0xad,0x7e,0xca,0xf3,0xe5,0x99,0xc2,0x2a,0xca,0x50,0x82, -0x7c,0x2d,0xa4,0x81,0xcd,0x0d,0x0d,0x86,0xd7,0xd8,0xb2,0xde,0xc5,0xc3,0x34, -0x9e,0x07,0x78,0x08,0x11,0x12,0x2d,0x21,0x0a,0x09,0x07,0x14,0x03,0x7a,0xe7, -0x3b,0x58,0xf1,0xde,0x3e,0x01,0x25,0x93,0xab,0x8f,0xce,0x1f,0xc1,0x33,0x91, -0xfe,0x59,0xb9,0x3b,0x9e,0x95,0x12,0x89,0x8e,0xc3,0x4b,0x98,0x1b,0x99,0xc5, -0x07,0xe2,0xdf,0x15,0x4c,0x39,0x76,0x06,0xad,0xdb,0x16,0x06,0x49,0xba,0xcd, -0x0f,0x07,0xd6,0xea,0x27,0xa6,0xfe,0x3d,0x88,0xe5,0x97,0x45,0x72,0xb6,0x1c, -0xc0,0x1c,0xb1,0xa2,0x89,0xe8,0x37,0x9e,0xf6,0x2a,0xcf,0xd5,0x1f,0x2f,0x35, -0x5e,0x8f,0x3a,0x9c,0x61,0xb1,0xf1,0x6c,0xff,0x8c,0xb2,0x2f,0x02,0x03,0x01, -0x00,0x01,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x03,0x81, -0x81,0x00,0x27,0xae,0x97,0xc0,0xe0,0x87,0x6c,0x70,0xb6,0x9d,0xef,0x47,0x52, -0x1f,0x1f,0x33,0x09,0xb5,0x46,0x9b,0x3d,0x54,0x69,0x6b,0xd8,0xbf,0x46,0xe5, -0xab,0x83,0xb1,0xdf,0xc3,0x1b,0x86,0x33,0x2c,0xdc,0x4a,0xe3,0x98,0xa7,0xcc, -0xe5,0x72,0xa4,0x20,0xb7,0x7c,0x0c,0x93,0x7f,0x37,0xc8,0xb0,0x8b,0xd5,0x3e, -0x91,0x46,0x2a,0xc2,0xa3,0xfe,0x20,0x81,0x5f,0xb0,0x5a,0x85,0xa6,0xbc,0xca, -0xaa,0xb5,0x50,0x7d,0xe7,0x8f,0x17,0x1f,0xa7,0xb3,0xe3,0xd4,0x54,0x6e,0xeb, -0xc9,0xcb,0x36,0x05,0xd3,0x66,0x37,0x83,0x08,0x55,0x48,0x88,0x09,0x5c,0x26, -0x37,0x37,0x81,0x52,0x8f,0x2b,0x2e,0xa4,0x43,0x5c,0x05,0x93,0xb6,0x4a,0x44, -0x0f,0x2d,0x08,0x4f,0x0d,0x43,0x9c,0xd6,0x8e,0x4a }; static const BYTE chain11_1[] = { 0x30,0x82,0x01,0x9b,0x30,0x82,0x01,0x08,0xa0,0x03,0x02,0x01,0x02,0x02,0x10, 0x72,0x41,0xa2,0x53,0xd2,0x33,0x0b,0xac,0x4a,0x30,0xfe,0x0a,0xe0,0x2e,0xd4, @@ -1422,7 +1305,7 @@ static const SimpleChainStatusCheck simpleStatus5[] = { { sizeof(elementStatus5) / sizeof(elementStatus5[0]), elementStatus5 }, }; static CONST_DATA_BLOB chain6[] = { - { sizeof(chain6_0), chain6_0 }, + { sizeof(chain0_0), chain0_0 }, { sizeof(chain6_1), chain6_1 }, }; static const CERT_TRUST_STATUS elementStatus6[] = { @@ -1434,7 +1317,7 @@ static const SimpleChainStatusCheck simpleStatus6[] = { { sizeof(elementStatus6) / sizeof(elementStatus6[0]), elementStatus6 }, }; static CONST_DATA_BLOB chain7[] = { - { sizeof(chain7_0), chain7_0 }, + { sizeof(chain0_0), chain0_0 }, { sizeof(chain7_1), chain7_1 }, }; static const CERT_TRUST_STATUS elementStatus7[] = { @@ -1473,7 +1356,7 @@ static const SimpleChainStatusCheck simpleStatus9[] = { { sizeof(elementStatus9) / sizeof(elementStatus9[0]), elementStatus9 }, }; static CONST_DATA_BLOB chain10[] = { - { sizeof(chain10_0), chain10_0 }, + { sizeof(chain0_0), chain0_0 }, { sizeof(chain10_1), chain10_1 }, { sizeof(chain7_1), chain7_1 }, }; @@ -1486,7 +1369,7 @@ static const SimpleChainStatusCheck simpleStatus10[] = { { sizeof(elementStatus10) / sizeof(elementStatus10[0]), elementStatus10 }, }; static CONST_DATA_BLOB chain11[] = { - { sizeof(chain11_0), chain11_0 }, + { sizeof(chain0_0), chain0_0 }, { sizeof(chain11_1), chain11_1 }, { sizeof(chain7_1), chain7_1 }, };