ReactOS 0.4.16-dev-1948-gd260c1d
chain.c File Reference
#include <stdio.h>
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <winerror.h>
#include <wincrypt.h>
#include <wininet.h>
#include "wine/test.h"
Include dependency graph for chain.c:

Go to the source code of this file.

Classes

struct  _CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT
 
struct  _CONST_DATA_BLOB
 
struct  _CONST_BLOB_ARRAY
 
struct  _SimpleChainStatusCheck
 
struct  _ChainStatusCheck
 
struct  _ChainCheck
 
struct  _ChainPolicyCheck
 

Macros

#define IS_INTOID(x)   (((ULONG_PTR)(x) >> 16) == 0)
 
#define TODO_CHAIN   1
 
#define TODO_ERROR   2
 
#define TODO_INFO   4
 
#define TODO_ELEMENTS   8
 
#define TODO_CHAINS   16
 
#define TODO_POLICY   32
 
#define test_name_blob(a, b)   _test_name_blob(__LINE__,a,b)
 
#define CHECK_CHAIN_POLICY_STATUS_ARRAY(policy, engine, array, date, para)
 
#define CHECK_CHAIN_POLICY_STATUS(policy, engine, policyCheck, date, para)
 

Typedefs

typedef struct _CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT
 
typedef struct _CONST_DATA_BLOB CONST_DATA_BLOB
 
typedef struct _CONST_BLOB_ARRAY CONST_BLOB_ARRAY
 
typedef struct _SimpleChainStatusCheck SimpleChainStatusCheck
 
typedef struct _ChainStatusCheck ChainStatusCheck
 
typedef struct _ChainCheck ChainCheck
 
typedef struct _ChainPolicyCheck ChainPolicyCheck
 

Functions

static void testCreateCertChainEngine (void)
 
static PCCERT_CHAIN_CONTEXT getChain (HCERTCHAINENGINE engine, const CONST_BLOB_ARRAY *certArray, DWORD flags, BOOL includeStore, LPSYSTEMTIME checkTime, DWORD todo, DWORD testIndex)
 
static void checkElementStatus (const CERT_TRUST_STATUS *expected, const CERT_TRUST_STATUS *got, const CERT_TRUST_STATUS *ignore, DWORD todo, LPCSTR testName, DWORD testIndex, DWORD chainIndex, DWORD elementIndex)
 
static void checkSimpleChainStatus (const CERT_SIMPLE_CHAIN *simpleChain, const SimpleChainStatusCheck *simpleChainStatus, const CERT_TRUST_STATUS *ignore, DWORD todo, LPCSTR testName, DWORD testIndex, DWORD chainIndex)
 
static void checkChainStatus (PCCERT_CHAIN_CONTEXT chain, const ChainStatusCheck *chainStatus, DWORD todo, LPCSTR testName, DWORD testIndex)
 
static void _test_name_blob (unsigned line, CERT_NAME_BLOB *blob, const char *exdata)
 
static void testGetCertChain (void)
 
static void test_CERT_CHAIN_PARA_cbSize (void)
 
static const charnum_to_str (WORD num)
 
static void checkChainPolicyStatus (LPCSTR policy, HCERTCHAINENGINE engine, const ChainPolicyCheck *check, LPCSTR testName, DWORD testIndex, SYSTEMTIME *sysTime, PCERT_CHAIN_POLICY_PARA para)
 
static void check_base_policy (void)
 
static void check_authenticode_policy (void)
 
static void check_ssl_policy (void)
 
static void check_msroot_policy (void)
 
static void testVerifyCertChainPolicy (void)
 
 START_TEST (chain)
 

Variables

static const BYTE selfSignedCert []
 
static const BYTE bigCert []
 
static const BYTE geotrust_global_ca []
 
static const BYTE google_internet_authority []
 
static const BYTE google_com []
 
static const BYTE winehq_org []
 
static const BYTE battlenet []
 
static const BYTE thawte_primary_ca []
 
static const BYTE thawte_ssl_ca []
 
static const BYTE global_sign_root []
 
static const BYTE global_sign_ca []
 
static const BYTE openssl_org []
 
static const BYTE usertrust_ca []
 
static const BYTE incommon_rsa_ca []
 
static const BYTE cs_stanford_edu []
 
static const BYTE chain0_0 []
 
static const BYTE chain0_1 []
 
static const BYTE chain1_1 []
 
static const BYTE chain2_0 []
 
static const BYTE chain3_0 []
 
static const BYTE chain4_0 []
 
static const BYTE chain4_1 []
 
static const BYTE chain4_2 []
 
static const BYTE chain5_0 []
 
static const BYTE chain5_1 []
 
static const BYTE chain7_1 []
 
static const BYTE chain8_0 []
 
static const BYTE chain8_1 []
 
static const BYTE chain8_2 []
 
static const BYTE chain9_0 []
 
static const BYTE chain10_1 []
 
static const BYTE chain11_1 []
 
static const BYTE chain12_0 []
 
static const BYTE chain13_1 []
 
static const BYTE chain14_0 []
 
static const BYTE chain14_1 []
 
static const BYTE chain15_0 []
 
static const BYTE chain16_1 []
 
static const BYTE chain17_1 []
 
static const BYTE chain17_2 []
 
static const BYTE chain18_1 []
 
static const BYTE chain18_2 []
 
static const BYTE chain19_0 []
 
static const BYTE chain19_1 []
 
static const BYTE chain20_0 []
 
static const BYTE chain20_1 []
 
static const BYTE chain21_0 []
 
static const BYTE chain21_1 []
 
static const BYTE chain22_0 []
 
static const BYTE chain22_1 []
 
static const BYTE chain23_0 []
 
static const BYTE chain23_1 []
 
static const BYTE chain24_0 []
 
static const BYTE chain24_1 []
 
static const BYTE chain25_0 []
 
static const BYTE chain25_1 []
 
static const BYTE chain26_0 []
 
static const BYTE chain26_1 []
 
static const BYTE chain27_0 []
 
static const BYTE chain27_1 []
 
static const BYTE chain28_0 []
 
static const BYTE chain28_1 []
 
static const BYTE chain29_1 []
 
static const BYTE chain30_1 []
 
static const BYTE chain30_2 []
 
static const BYTE chain31_1 []
 
static const BYTE chain32_1 []
 
static const BYTE chain32_2 []
 
static const BYTE chain32_3 []
 
static const BYTE chain33_1 []
 
static SYSTEMTIME oct2007 = { 2007, 10, 1, 1, 0, 0, 0, 0 }
 
static SYSTEMTIME oct2009 = { 2009, 10, 3, 28, 0, 0, 0, 0 }
 
static SYSTEMTIME oct2010 = { 2010, 10, 3, 28, 0, 0, 0, 0 }
 
static SYSTEMTIME jun2013 = { 2013, 6, 5, 6, 0, 0, 0, 0 }
 
static SYSTEMTIME oct2016 = { 2016, 10, 6, 1, 0, 0, 0, 0 }
 
static SYSTEMTIME nov2016 = { 2016, 11, 3, 17, 0, 0, 0, 0 }
 
static SYSTEMTIME may2020 = { 2020, 5, 4, 14, 0, 0, 0, 0 }
 
static CONST_DATA_BLOB chain0 []
 
static const CERT_TRUST_STATUS elementStatus0 []
 
static const SimpleChainStatusCheck simpleStatus0 []
 
static CONST_DATA_BLOB chain1 []
 
static const CERT_TRUST_STATUS elementStatus1 []
 
static const SimpleChainStatusCheck simpleStatus1 []
 
static CONST_DATA_BLOB chain2 []
 
static const CERT_TRUST_STATUS elementStatus2 []
 
static const SimpleChainStatusCheck simpleStatus2 []
 
static CONST_DATA_BLOB chain3 []
 
static const CERT_TRUST_STATUS elementStatus3 []
 
static const SimpleChainStatusCheck simpleStatus3 []
 
static CONST_DATA_BLOB chain4 []
 
static const CERT_TRUST_STATUS elementStatus4 []
 
static const SimpleChainStatusCheck simpleStatus4 []
 
static CONST_DATA_BLOB chain5 []
 
static const CERT_TRUST_STATUS elementStatus5 []
 
static const SimpleChainStatusCheck simpleStatus5 []
 
static CONST_DATA_BLOB chain6 []
 
static const CERT_TRUST_STATUS elementStatus6 []
 
static const SimpleChainStatusCheck simpleStatus6 []
 
static CONST_DATA_BLOB chain7 []
 
static const CERT_TRUST_STATUS elementStatus7 []
 
static const SimpleChainStatusCheck simpleStatus7 []
 
static CONST_DATA_BLOB chain8 []
 
static const CERT_TRUST_STATUS elementStatus8 []
 
static const SimpleChainStatusCheck simpleStatus8 []
 
static CONST_DATA_BLOB chain9 []
 
static const CERT_TRUST_STATUS elementStatus9 []
 
static const SimpleChainStatusCheck simpleStatus9 []
 
static CONST_DATA_BLOB chain10 []
 
static const CERT_TRUST_STATUS elementStatus10 []
 
static const SimpleChainStatusCheck simpleStatus10 []
 
static CONST_DATA_BLOB chain11 []
 
static CONST_DATA_BLOB chain12 []
 
static const CERT_TRUST_STATUS elementStatus12 []
 
static const SimpleChainStatusCheck simpleStatus12 []
 
static CONST_DATA_BLOB chain13 []
 
static const CERT_TRUST_STATUS elementStatus13 []
 
static const SimpleChainStatusCheck simpleStatus13 []
 
static CONST_DATA_BLOB chain14 []
 
static const CERT_TRUST_STATUS elementStatus14 []
 
static const SimpleChainStatusCheck simpleStatus14 []
 
static CONST_DATA_BLOB chain15 []
 
static const CERT_TRUST_STATUS elementStatus15 []
 
static const SimpleChainStatusCheck simpleStatus15 []
 
static CONST_DATA_BLOB chain16 []
 
static const CERT_TRUST_STATUS elementStatus16 []
 
static const SimpleChainStatusCheck simpleStatus16 []
 
static CONST_DATA_BLOB chain17 []
 
static const CERT_TRUST_STATUS elementStatus17 []
 
static const SimpleChainStatusCheck simpleStatus17 []
 
static CONST_DATA_BLOB chain18 []
 
static const CERT_TRUST_STATUS elementStatus18 []
 
static const SimpleChainStatusCheck simpleStatus18 []
 
static CONST_DATA_BLOB chain19 []
 
static const CERT_TRUST_STATUS elementStatus19 []
 
static const SimpleChainStatusCheck simpleStatus19 []
 
static CONST_DATA_BLOB chain20 []
 
static const CERT_TRUST_STATUS elementStatus20 []
 
static const SimpleChainStatusCheck simpleStatus20 []
 
static CONST_DATA_BLOB chain21 []
 
static const CERT_TRUST_STATUS elementStatus21 []
 
static const SimpleChainStatusCheck simpleStatus21 []
 
static CONST_DATA_BLOB chain22 []
 
static const CERT_TRUST_STATUS elementStatus22 []
 
static const SimpleChainStatusCheck simpleStatus22 []
 
static CONST_DATA_BLOB chain23 []
 
static const CERT_TRUST_STATUS elementStatus23 []
 
static const SimpleChainStatusCheck simpleStatus23 []
 
static CONST_DATA_BLOB chain24 []
 
static const CERT_TRUST_STATUS elementStatus24 []
 
static const SimpleChainStatusCheck simpleStatus24 []
 
static CONST_DATA_BLOB chain25 []
 
static const CERT_TRUST_STATUS elementStatus25 []
 
static const SimpleChainStatusCheck simpleStatus25 []
 
static CONST_DATA_BLOB chain26 []
 
static const CERT_TRUST_STATUS elementStatus26 []
 
static const SimpleChainStatusCheck simpleStatus26 []
 
static CONST_DATA_BLOB chain27 []
 
static const CERT_TRUST_STATUS elementStatus27 []
 
static const SimpleChainStatusCheck simpleStatus27 []
 
static const CERT_TRUST_STATUS elementStatus27Broken []
 
static const SimpleChainStatusCheck simpleStatus27Broken []
 
static CONST_DATA_BLOB chain28 []
 
static const CERT_TRUST_STATUS elementStatus28 []
 
static const SimpleChainStatusCheck simpleStatus28 []
 
static CONST_DATA_BLOB chain29 []
 
static CONST_DATA_BLOB chain30 []
 
static const CERT_TRUST_STATUS elementStatus30 []
 
static const SimpleChainStatusCheck simpleStatus30 []
 
static CONST_DATA_BLOB chain31 []
 
static CONST_DATA_BLOB chain32 []
 
static CONST_DATA_BLOB chain33 []
 
static CONST_DATA_BLOB selfSignedChain []
 
static const CERT_TRUST_STATUS selfSignedElementStatus []
 
static const SimpleChainStatusCheck selfSignedSimpleStatus []
 
static CONST_DATA_BLOB googleChain []
 
static const CERT_TRUST_STATUS googleElementStatus []
 
static const SimpleChainStatusCheck googleSimpleStatus []
 
static CONST_DATA_BLOB battlenetChain []
 
static CONST_DATA_BLOB opensslChain []
 
static const CERT_TRUST_STATUS opensslElementStatus []
 
static const SimpleChainStatusCheck opensslSimpleStatus []
 
static CONST_DATA_BLOB incompleteOpensslChain []
 
static const CERT_TRUST_STATUS incompleteOpensslElementStatus []
 
static const SimpleChainStatusCheck incompleteOpensslSimpleStatus []
 
static CONST_DATA_BLOB stanfordChain []
 
static const CERT_TRUST_STATUS stanfordElementStatus []
 
static const SimpleChainStatusCheck stanfordSimpleStatus []
 
static ChainCheck chainCheck []
 
static const CERT_TRUST_STATUS elementStatus8NoStore []
 
static const SimpleChainStatusCheck simpleStatus8NoStore []
 
static ChainCheck chainCheckNoStore []
 
static ChainCheck opensslChainCheck
 
static ChainCheck incompleteOpensslChainCheck
 
static ChainCheck chainCheckEmbeddedNull
 
static ChainCheck chainCheckEmbeddedNullBroken
 
static const ChainPolicyCheck basePolicyCheck []
 
static const CERT_CHAIN_POLICY_STATUS badDateNestingStatus
 
static const ChainPolicyCheck ignoredBadDateNestingBasePolicyCheck
 
static const ChainPolicyCheck ignoredInvalidDateBasePolicyCheck
 
static const ChainPolicyCheck ignoredInvalidUsageBasePolicyCheck
 
static const ChainPolicyCheck invalidUsageBasePolicyCheck
 
static const ChainPolicyCheck sslPolicyCheck []
 
static const ChainPolicyCheck ignoredUnknownCAPolicyCheck
 
static const ChainPolicyCheck googlePolicyCheckWithMatchingNameExpired
 
static const ChainPolicyCheck googlePolicyCheckWithMatchingName
 
static const CERT_CHAIN_POLICY_STATUS untrustedRootStatus
 
static const ChainPolicyCheck opensslPolicyCheckWithMatchingName
 
static const ChainPolicyCheck opensslPolicyCheckWithoutMatchingName
 
static const ChainPolicyCheck winehqPolicyCheckWithMatchingName
 
static const ChainPolicyCheck winehqPolicyCheckWithoutMatchingName
 
static const ChainPolicyCheck stanfordPolicyCheckWithMatchingName
 
static const ChainPolicyCheck stanfordPolicyCheckWithoutMatchingName
 
static const ChainPolicyCheck nullTerminatedDomainComponentPolicyCheck
 
static const ChainPolicyCheck invalidExtensionPolicyCheck
 
static const ChainPolicyCheck fooPolicyCheckWithMatchingName
 
static const ChainPolicyCheck fooPolicyCheckWithoutMatchingName
 
static const ChainPolicyCheck authenticodePolicyCheck []
 
static const CERT_CHAIN_POLICY_STATUS chain4BrokenStatus
 
static const ChainPolicyCheck basicConstraintsPolicyCheck []
 
static const CERT_CHAIN_POLICY_STATUS chain32BrokenStatus
 
static const ChainPolicyCheck msRootPolicyCheck []
 
static const ChainPolicyCheck msRootPolicyCheck_approot []
 

Macro Definition Documentation

◆ CHECK_CHAIN_POLICY_STATUS

#define CHECK_CHAIN_POLICY_STATUS (   policy,
  engine,
  policyCheck,
  date,
  para 
)
Value:
checkChainPolicyStatus((policy), (engine), &(policyCheck), \
#policyCheck, 0, (date), (para))
WINBASEAPI _Check_return_ _Out_ AppPolicyProcessTerminationMethod * policy
Definition: appmodel.h:73
__u16 date
Definition: mkdosfs.c:8
static void checkChainPolicyStatus(LPCSTR policy, HCERTCHAINENGINE engine, const ChainPolicyCheck *check, LPCSTR testName, DWORD testIndex, SYSTEMTIME *sysTime, PCERT_CHAIN_POLICY_PARA para)
Definition: chain.c:4973

Definition at line 5056 of file chain.c.

◆ CHECK_CHAIN_POLICY_STATUS_ARRAY

#define CHECK_CHAIN_POLICY_STATUS_ARRAY (   policy,
  engine,
  array,
  date,
  para 
)
Value:
do { \
DWORD i; \
for (i = 0; i < ARRAY_SIZE(array); i++) \
checkChainPolicyStatus((policy), (engine), &(array)[i], \
#array, i, (date), (para)); \
} while(0)
#define ARRAY_SIZE(A)
Definition: main.h:20
unsigned long DWORD
Definition: ntddk_ex.h:95
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
Definition: glfuncs.h:248

Definition at line 5048 of file chain.c.

◆ IS_INTOID

#define IS_INTOID (   x)    (((ULONG_PTR)(x) >> 16) == 0)

Definition at line 57 of file chain.c.

◆ test_name_blob

#define test_name_blob (   a,
  b 
)    _test_name_blob(__LINE__,a,b)

Definition at line 4319 of file chain.c.

◆ TODO_CHAIN

#define TODO_CHAIN   1

Definition at line 3337 of file chain.c.

◆ TODO_CHAINS

#define TODO_CHAINS   16

Definition at line 3341 of file chain.c.

◆ TODO_ELEMENTS

#define TODO_ELEMENTS   8

Definition at line 3340 of file chain.c.

◆ TODO_ERROR

#define TODO_ERROR   2

Definition at line 3338 of file chain.c.

◆ TODO_INFO

#define TODO_INFO   4

Definition at line 3339 of file chain.c.

◆ TODO_POLICY

#define TODO_POLICY   32

Definition at line 3342 of file chain.c.

Typedef Documentation

◆ CERT_CHAIN_ENGINE_CONFIG_NO_EXCLUSIVE_ROOT

◆ ChainCheck

◆ ChainPolicyCheck

◆ ChainStatusCheck

◆ CONST_BLOB_ARRAY

◆ CONST_DATA_BLOB

◆ SimpleChainStatusCheck

Function Documentation

◆ _test_name_blob()

static void _test_name_blob ( unsigned  line,
CERT_NAME_BLOB blob,
const char exdata 
)
static

Definition at line 4320 of file chain.c.

4321{
4322 char buf[1024];
4323
4325 ok_(__FILE__,line)(!strcmp(buf, exdata), "got string %s, expected %s\n", buf, exdata);
4326}
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469
#define ok_(x1, x2)
Definition: atltest.h:61
DWORD WINAPI CertNameToStrA(DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPSTR psz, DWORD csz)
Definition: str.c:414
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
Definition: image.c:134
Definition: parser.c:49
#define CERT_SIMPLE_NAME_STR
Definition: wincrypt.h:3642
#define CRYPT_ASN_ENCODING
Definition: wincrypt.h:2499

◆ check_authenticode_policy()

static void check_authenticode_policy ( void  )
static

Definition at line 5099 of file chain.c.

5100{
5101 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
5102 SYSTEMTIME epochStart = { 0 };
5103
5104 /* The authenticode policy doesn't seem to check anything beyond the base
5105 * policy. It might check for chains signed by the MS test cert, but none
5106 * of these chains is.
5107 */
5110 policyPara.cbSize = sizeof(policyPara);
5113 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
5114 epochStart.wDay = epochStart.wMonth = 1;
5115 epochStart.wYear = 1601;
5117 ignoredUnknownCAPolicyCheck, &epochStart, &policyPara);
5121}
#define NULL
Definition: types.h:112
static SYSTEMTIME oct2007
Definition: chain.c:3510
static const ChainPolicyCheck ignoredUnknownCAPolicyCheck
Definition: chain.c:4782
static const ChainPolicyCheck authenticodePolicyCheck[]
Definition: chain.c:4851
static const ChainPolicyCheck ignoredInvalidDateBasePolicyCheck
Definition: chain.c:4724
#define CHECK_CHAIN_POLICY_STATUS_ARRAY(policy, engine, array, date, para)
Definition: chain.c:5048
#define CHECK_CHAIN_POLICY_STATUS(policy, engine, policyCheck, date, para)
Definition: chain.c:5056
#define CERT_CHAIN_POLICY_AUTHENTICODE
Definition: wincrypt.h:1075
#define CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG
Definition: wincrypt.h:1092
#define CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG
Definition: wincrypt.h:1082

Referenced by testVerifyCertChainPolicy().

◆ check_base_policy()

static void check_base_policy ( void  )
static

Definition at line 5060 of file chain.c.

5061{
5062 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
5063
5066 policyPara.cbSize = sizeof(policyPara);
5069 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
5090 invalidUsageBasePolicyCheck, &oct2007, &policyPara);
5091 /* Test chain30, which has an invalid critical extension in an intermediate
5092 * cert, against the base policy.
5093 */
5096 invalidExtensionPolicyCheck, &oct2007, &policyPara);
5097}
static const ChainPolicyCheck ignoredInvalidUsageBasePolicyCheck
Definition: chain.c:4729
static const ChainPolicyCheck invalidUsageBasePolicyCheck
Definition: chain.c:4734
static const ChainPolicyCheck basePolicyCheck[]
Definition: chain.c:4669
static const ChainPolicyCheck ignoredBadDateNestingBasePolicyCheck
Definition: chain.c:4719
static const ChainPolicyCheck invalidExtensionPolicyCheck
Definition: chain.c:4836
#define CERT_CHAIN_POLICY_BASE
Definition: wincrypt.h:1074
#define CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG
Definition: wincrypt.h:1093

Referenced by testVerifyCertChainPolicy().

◆ check_msroot_policy()

static void check_msroot_policy ( void  )
static

Definition at line 5300 of file chain.c.

5301{
5303
5306
5307 para.cbSize = sizeof(para);
5308 para.pvExtraPolicyPara = NULL;
5312}
static const ChainPolicyCheck msRootPolicyCheck_approot[]
Definition: chain.c:4958
static SYSTEMTIME may2020
Definition: chain.c:3522
static const ChainPolicyCheck msRootPolicyCheck[]
Definition: chain.c:4947
#define CERT_CHAIN_POLICY_MICROSOFT_ROOT
Definition: wincrypt.h:1080
#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG
Definition: wincrypt.h:1113

Referenced by testVerifyCertChainPolicy().

◆ check_ssl_policy()

static void check_ssl_policy ( void  )
static

Definition at line 5123 of file chain.c.

5124{
5125 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
5126 SSL_EXTRA_CERT_CHAIN_POLICY_PARA sslPolicyPara = { { 0 } };
5127 HCERTSTORE testRoot;
5128 CERT_CHAIN_ENGINE_CONFIG engineConfig = { sizeof(engineConfig), 0 };
5129 HCERTCHAINENGINE engine;
5130
5131 /* Check ssl policy with no parameter */
5133 &oct2007, NULL);
5134 /* Check again with a policy parameter that specifies nothing */
5136 &oct2007, &policyPara);
5137 /* Check yet again, but specify an empty SSL_EXTRA_CERT_CHAIN_POLICY_PARA
5138 * argument.
5139 */
5140 policyPara.pvExtraPolicyPara = &sslPolicyPara;
5142 &oct2007, &policyPara);
5143 /* And again, but specify the auth type as a client */
5144 sslPolicyPara.dwAuthType = AUTHTYPE_CLIENT;
5146 &oct2007, &policyPara);
5147 /* And again, but specify the auth type as a server */
5148 sslPolicyPara.dwAuthType = AUTHTYPE_SERVER;
5150 &oct2007, &policyPara);
5151 /* And again authenticating a client, but specify the size of the policy
5152 * parameter.
5153 */
5154 sslPolicyPara.cbSize = sizeof(sslPolicyCheck);
5155 sslPolicyPara.dwAuthType = AUTHTYPE_CLIENT;
5157 &oct2007, &policyPara);
5158 /* One more time authenticating a client, but specify winehq.org as the
5159 * server name.
5160 */
5161 sslPolicyPara.pwszServerName = (WCHAR *)L"winehq.org";
5163 &oct2007, &policyPara);
5164 /* And again authenticating a server, still specifying winehq.org as the
5165 * server name.
5166 */
5167 sslPolicyPara.dwAuthType = AUTHTYPE_SERVER;
5169 &oct2007, &policyPara);
5170 /* And again authenticating a server, this time specifying the size of the
5171 * policy param.
5172 */
5173 policyPara.cbSize = sizeof(policyPara);
5175 &oct2007, &policyPara);
5176 /* And again, specifying a chain with an untrusted root, but ignoring
5177 * unknown CAs.
5178 */
5181 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
5182 sslPolicyPara.fdwChecks = 0;
5183 /* And again, but specifying the ignore in dwFlags */
5186 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
5187 /* And again, but checking the Google chain at a bad date */
5188 sslPolicyPara.pwszServerName = (WCHAR *)L"www.google.com";
5191 policyPara.dwFlags = 0;
5192 /* Again checking the Google chain at a bad date, but ignoring date
5193 * errors.
5194 */
5199 /* And again, but checking the Google chain at a good date */
5201 sslPolicyPara.pwszServerName = (WCHAR *)L"www.google.com";
5204 sslPolicyPara.fdwChecks = 0;
5205
5206 /* Check again with the openssl cert, which has a wildcard in its name,
5207 * with various combinations of matching and non-matching names.
5208 * With "a.openssl.org": match
5209 */
5210 sslPolicyPara.pwszServerName = (WCHAR *)L"a.openssl.org";
5213 /* With "openssl.org": no match */
5214 sslPolicyPara.pwszServerName = (WCHAR *)L"openssl.org";
5217 /* With "fopenssl.org": no match */
5218 sslPolicyPara.pwszServerName = (WCHAR *)L"fopenssl.org";
5221 /* with "a.b.openssl.org": no match */
5222 sslPolicyPara.pwszServerName = (WCHAR *)L"a.b.openssl.org";
5225 /* Check again with the cs.stanford.edu, which has both cs.stanford.edu
5226 * and www.cs.stanford.edu in its subject alternative name.
5227 * With "cs.stanford.edu": match
5228 */
5229 sslPolicyPara.pwszServerName = (WCHAR *)L"cs.stanford.edu";
5232 /* With "www.cs.stanford.edu": match */
5233 sslPolicyPara.pwszServerName = (WCHAR *)L"www.cs.stanford.edu";
5236 /* With "a.cs.stanford.edu": no match */
5237 sslPolicyPara.pwszServerName = (WCHAR *)L"a.cs.stanford.edu";
5240 /* Check chain29, which has a wildcard in its subject alternative name,
5241 * but not in its distinguished name.
5242 * Step 1: create a chain engine that trusts chain29's root.
5243 */
5244 testRoot = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
5248 engineConfig.hExclusiveRoot = testRoot;
5249 if (!CertCreateCertificateChainEngine(&engineConfig, &engine))
5250 {
5251 skip("Couldn't create chain engine\n");
5252 return;
5253 }
5254 /* With "winehq.org": no match */
5255 sslPolicyPara.pwszServerName = (WCHAR *)L"winehq.org";
5258 /* With "test.winehq.org": match */
5259 sslPolicyPara.pwszServerName = (WCHAR *)L"test.winehq.org";
5262 /* With "a.b.winehq.org": no match */
5263 sslPolicyPara.pwszServerName = (WCHAR *)L"a.b.winehq.org";
5266 /* When specifying to ignore name mismatch: match */
5271 CertCloseStore(testRoot, 0);
5272 /* Test chain30, which has an invalid critical extension in an intermediate
5273 * cert, against the SSL policy.
5274 */
5276 sslPolicyPara.pwszServerName = NULL;
5278 invalidExtensionPolicyCheck, &oct2007, &policyPara);
5279 /* Test chain31, which has two CNs, "*.foo.com" and "foo.com", against
5280 * some names that match one of the CNs:
5281 */
5282 sslPolicyPara.pwszServerName = (WCHAR *)L"foo.com";
5285 sslPolicyPara.pwszServerName = (WCHAR *)L"a.foo.com";
5288 /* and against a name that doesn't match either CN: */
5289 sslPolicyPara.pwszServerName = (WCHAR *)L"afoo.com";
5292 /* The Battle.Net chain checks a certificate with a domain component
5293 * containing a terminating NULL.
5294 */
5295 sslPolicyPara.pwszServerName = (WCHAR *)L"www.battle.net";
5298}
#define skip(...)
Definition: atltest.h:64
BOOL WINAPI CertAddEncodedCertificateToStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext)
Definition: cert.c:58
void WINAPI CertFreeCertificateChainEngine(HCERTCHAINENGINE hChainEngine)
Definition: chain.c:249
BOOL WINAPI CertCreateCertificateChainEngine(PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine)
Definition: chain.c:225
HCERTSTORE WINAPI CertOpenStore(LPCSTR lpszStoreProvider, DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara)
Definition: store.c:815
BOOL WINAPI CertCloseStore(HCERTSTORE hCertStore, DWORD dwFlags)
Definition: store.c:1127
#define L(x)
Definition: resources.c:13
static const ChainPolicyCheck stanfordPolicyCheckWithoutMatchingName
Definition: chain.c:4826
static const ChainPolicyCheck googlePolicyCheckWithMatchingNameExpired
Definition: chain.c:4787
static const ChainPolicyCheck nullTerminatedDomainComponentPolicyCheck
Definition: chain.c:4831
static const ChainPolicyCheck opensslPolicyCheckWithMatchingName
Definition: chain.c:4801
static const BYTE chain0_0[]
Definition: chain.c:1260
static const ChainPolicyCheck sslPolicyCheck[]
Definition: chain.c:4739
static const ChainPolicyCheck winehqPolicyCheckWithMatchingName
Definition: chain.c:4811
static const ChainPolicyCheck fooPolicyCheckWithoutMatchingName
Definition: chain.c:4846
static SYSTEMTIME nov2016
Definition: chain.c:3520
static const ChainPolicyCheck googlePolicyCheckWithMatchingName
Definition: chain.c:4792
static SYSTEMTIME oct2009
Definition: chain.c:3512
static SYSTEMTIME oct2010
Definition: chain.c:3514
static const ChainPolicyCheck fooPolicyCheckWithMatchingName
Definition: chain.c:4841
static const ChainPolicyCheck winehqPolicyCheckWithoutMatchingName
Definition: chain.c:4816
static const ChainPolicyCheck opensslPolicyCheckWithoutMatchingName
Definition: chain.c:4806
static const ChainPolicyCheck stanfordPolicyCheckWithMatchingName
Definition: chain.c:4821
#define CERT_STORE_CREATE_NEW_FLAG
Definition: wincrypt.h:2633
#define X509_ASN_ENCODING
Definition: wincrypt.h:2501
#define CERT_STORE_PROV_MEMORY
Definition: wincrypt.h:2455
#define AUTHTYPE_SERVER
Definition: wincrypt.h:1148
#define CERT_CHAIN_POLICY_SSL
Definition: wincrypt.h:1077
#define AUTHTYPE_CLIENT
Definition: wincrypt.h:1147
#define CERT_STORE_ADD_ALWAYS
Definition: wincrypt.h:2654
#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
Definition: winhttp.h:282
#define SECURITY_FLAG_IGNORE_UNKNOWN_CA
Definition: winhttp.h:281
#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID
Definition: winhttp.h:283
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by testVerifyCertChainPolicy().

◆ checkChainPolicyStatus()

static void checkChainPolicyStatus ( LPCSTR  policy,
HCERTCHAINENGINE  engine,
const ChainPolicyCheck check,
LPCSTR  testName,
DWORD  testIndex,
SYSTEMTIME sysTime,
PCERT_CHAIN_POLICY_PARA  para 
)
static

Definition at line 4973 of file chain.c.

4976{
4977 PCCERT_CHAIN_CONTEXT chain = getChain(engine, &check->certs, 0, TRUE,
4978 sysTime, check->todo, testIndex);
4979
4980 if (chain)
4981 {
4982 CERT_CHAIN_POLICY_STATUS policyStatus = { 0 };
4984 &policyStatus);
4985
4986 if (check->todo & TODO_POLICY)
4988 "%s[%ld](%s): CertVerifyCertificateChainPolicy failed: %08lx\n",
4989 testName, testIndex,
4991 GetLastError());
4992 else
4993 {
4995 {
4996 skip("%s[%ld]: missing policy %s, skipping test\n",
4997 testName, testIndex,
5000 return;
5001 }
5002 ok(ret, "%s[%ld](%s): CertVerifyCertificateChainPolicy failed: %08lx\n",
5003 testName, testIndex,
5005 GetLastError());
5006 }
5007 if (ret)
5008 {
5009 todo_wine_if (check->todo & TODO_ERROR)
5010 ok(policyStatus.dwError == check->status.dwError ||
5011 broken(policyStatus.dwError == CERT_TRUST_NO_ERROR) ||
5012 (check->brokenStatus && broken(policyStatus.dwError ==
5013 check->brokenStatus->dwError)),
5014 "%s[%ld](%s): expected %08lx, got %08lx\n",
5015 testName, testIndex,
5017 check->status.dwError, policyStatus.dwError);
5018 if (policyStatus.dwError != check->status.dwError)
5019 {
5020 skip("%s[%ld](%s): error %08lx doesn't match expected %08lx, not checking indexes\n",
5021 testName, testIndex,
5023 policyStatus.dwError, check->status.dwError);
5025 return;
5026 }
5028 ok(policyStatus.lChainIndex == check->status.lChainIndex ||
5029 (check->brokenStatus && broken(policyStatus.lChainIndex ==
5030 check->brokenStatus->lChainIndex)),
5031 "%s[%ld](%s): expected %ld, got %ld\n",
5032 testName, testIndex,
5034 check->status.lChainIndex, policyStatus.lChainIndex);
5036 ok(policyStatus.lElementIndex == check->status.lElementIndex ||
5037 (check->brokenStatus && broken(policyStatus.lElementIndex ==
5038 check->brokenStatus->lElementIndex)),
5039 "%s[%ld](%s): expected %ld, got %ld\n",
5040 testName, testIndex,
5042 check->status.lElementIndex, policyStatus.lElementIndex);
5043 }
5045 }
5046}
#define ok(value,...)
Definition: atltest.h:57
#define broken(x)
Definition: atltest.h:178
#define IS_INTOID(x)
#define TRUE
Definition: types.h:120
BOOL WINAPI CertVerifyCertificateChainPolicy(LPCSTR szPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus)
Definition: chain.c:3716
VOID WINAPI CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT pChainContext)
Definition: chain.c:2960
#define check(expected, result)
Definition: dplayx.c:32
return ret
Definition: mutex.c:146
unsigned int BOOL
Definition: ntddk_ex.h:94
#define todo_wine_if(is_todo)
Definition: minitest.h:81
#define todo_wine
Definition: minitest.h:80
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
#define TODO_ERROR
Definition: chain.c:3338
#define TODO_CHAINS
Definition: chain.c:3341
#define TODO_POLICY
Definition: chain.c:3342
#define TODO_ELEMENTS
Definition: chain.c:3340
static const char * num_to_str(WORD num)
Definition: chain.c:4965
static PCCERT_CHAIN_CONTEXT getChain(HCERTCHAINENGINE engine, const CONST_BLOB_ARRAY *certArray, DWORD flags, BOOL includeStore, LPSYSTEMTIME checkTime, DWORD todo, DWORD testIndex)
Definition: chain.c:3348
#define LOWORD(l)
Definition: pedump.c:82
struct sock * chain
Definition: tcpcore.h:1
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define CERT_TRUST_NO_ERROR
Definition: wincrypt.h:981

◆ checkChainStatus()

static void checkChainStatus ( PCCERT_CHAIN_CONTEXT  chain,
const ChainStatusCheck chainStatus,
DWORD  todo,
LPCSTR  testName,
DWORD  testIndex 
)
static

Definition at line 3468 of file chain.c.

3471{
3472 ok(chain->cChain == chainStatus->cChain,
3473 "%s[%ld]: expected %ld simple chains, got %ld\n", testName, testIndex,
3474 chainStatus->cChain, chain->cChain);
3476 chain->TrustStatus.dwErrorStatus != chainStatus->status.dwErrorStatus)
3477 ok(chain->TrustStatus.dwErrorStatus ==
3478 chainStatus->status.dwErrorStatus ||
3479 broken((chain->TrustStatus.dwErrorStatus &
3480 ~chainStatus->statusToIgnore.dwErrorStatus) ==
3481 (chainStatus->status.dwErrorStatus &
3482 ~chainStatus->statusToIgnore.dwErrorStatus)),
3483 "%s[%ld]: expected error %08lx, got %08lx. %08x is expected if no valid "
3484 "root certificate is available.\n",
3485 testName, testIndex, chainStatus->status.dwErrorStatus,
3486 chain->TrustStatus.dwErrorStatus, CERT_TRUST_IS_UNTRUSTED_ROOT);
3488 chain->TrustStatus.dwInfoStatus != chainStatus->status.dwInfoStatus)
3489 ok(chain->TrustStatus.dwInfoStatus ==
3490 chainStatus->status.dwInfoStatus ||
3491 broken((chain->TrustStatus.dwInfoStatus &
3492 ~chainStatus->statusToIgnore.dwInfoStatus) ==
3493 (chainStatus->status.dwInfoStatus &
3494 ~chainStatus->statusToIgnore.dwInfoStatus)),
3495 "%s[%ld]: expected info %08lx, got %08lx\n",
3496 testName, testIndex, chainStatus->status.dwInfoStatus,
3497 chain->TrustStatus.dwInfoStatus);
3498 if (chain->cChain == chainStatus->cChain)
3499 {
3500 DWORD i;
3501
3502 for (i = 0; i < chain->cChain; i++)
3503 checkSimpleChainStatus(chain->rgpChain[i],
3504 &chainStatus->rgChainStatus[i], &chainStatus->statusToIgnore,
3505 todo, testName, testIndex, i);
3506 }
3507}
static WCHAR available[MAX_STRING_RESOURCE_LEN]
Definition: object.c:2336
static WCHAR no[MAX_STRING_RESOURCE_LEN]
Definition: object.c:2340
BOOLEAN valid
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLdouble s
Definition: gl.h:2039
GLdouble n
Definition: glext.h:7729
if(dx< 0)
Definition: linetemp.h:194
#define error(str)
Definition: mkdosfs.c:1605
BOOL todo
Definition: filedlg.c:313
static void checkSimpleChainStatus(const CERT_SIMPLE_CHAIN *simpleChain, const SimpleChainStatusCheck *simpleChainStatus, const CERT_TRUST_STATUS *ignore, DWORD todo, LPCSTR testName, DWORD testIndex, DWORD chainIndex)
Definition: chain.c:3440
#define TODO_INFO
Definition: chain.c:3339
BOOL expected
Definition: store.c:2000
CERT_TRUST_STATUS statusToIgnore
Definition: chain.c:3462
const SimpleChainStatusCheck * rgChainStatus
Definition: chain.c:3465
CERT_TRUST_STATUS status
Definition: chain.c:3463
Definition: ps.c:97
#define CERT_TRUST_IS_UNTRUSTED_ROOT
Definition: wincrypt.h:987

Referenced by testGetCertChain().

◆ checkElementStatus()

static void checkElementStatus ( const CERT_TRUST_STATUS expected,
const CERT_TRUST_STATUS got,
const CERT_TRUST_STATUS ignore,
DWORD  todo,
LPCSTR  testName,
DWORD  testIndex,
DWORD  chainIndex,
DWORD  elementIndex 
)
static

Definition at line 3408 of file chain.c.

3412{
3413 if (got->dwErrorStatus == expected->dwErrorStatus)
3414 ok(got->dwErrorStatus == expected->dwErrorStatus,
3415 "%s[%ld], element [%ld,%ld]: expected error %08lx, got %08lx\n",
3416 testName, testIndex, chainIndex, elementIndex, expected->dwErrorStatus,
3417 got->dwErrorStatus);
3419 ok(got->dwErrorStatus == expected->dwErrorStatus ||
3420 broken((got->dwErrorStatus & ~ignore->dwErrorStatus) ==
3421 (expected->dwErrorStatus & ~ignore->dwErrorStatus)),
3422 "%s[%ld], element [%ld,%ld]: expected error %08lx, got %08lx. %08x is "
3423 "expected if no valid root certificate is available.\n",
3424 testName, testIndex, chainIndex, elementIndex, expected->dwErrorStatus,
3426 if (got->dwInfoStatus == expected->dwInfoStatus)
3427 ok(got->dwInfoStatus == expected->dwInfoStatus,
3428 "%s[%ld], element [%ld,%ld]: expected info %08lx, got %08lx\n",
3429 testName, testIndex, chainIndex, elementIndex, expected->dwInfoStatus,
3430 got->dwInfoStatus);
3431 else todo_wine_if (todo & TODO_INFO)
3432 ok(got->dwInfoStatus == expected->dwInfoStatus ||
3433 broken((got->dwInfoStatus & ~ignore->dwInfoStatus) ==
3434 (expected->dwInfoStatus & ~ignore->dwInfoStatus)),
3435 "%s[%ld], element [%ld,%ld]: expected info %08lx, got %08lx\n",
3436 testName, testIndex, chainIndex, elementIndex, expected->dwInfoStatus,
3437 got->dwInfoStatus);
3438}

Referenced by checkSimpleChainStatus().

◆ checkSimpleChainStatus()

static void checkSimpleChainStatus ( const CERT_SIMPLE_CHAIN simpleChain,
const SimpleChainStatusCheck simpleChainStatus,
const CERT_TRUST_STATUS ignore,
DWORD  todo,
LPCSTR  testName,
DWORD  testIndex,
DWORD  chainIndex 
)
static

Definition at line 3440 of file chain.c.

3444{
3446 ok(simpleChain->cElement == simpleChainStatus->cElement,
3447 "%s[%ld]: expected %ld elements, got %ld\n", testName, testIndex,
3448 simpleChainStatus->cElement, simpleChain->cElement);
3449 if (simpleChain->cElement == simpleChainStatus->cElement)
3450 {
3451 DWORD i;
3452
3453 for (i = 0; i < simpleChain->cElement; i++)
3454 checkElementStatus(&simpleChainStatus->rgElementStatus[i],
3455 &simpleChain->rgpElement[i]->TrustStatus, ignore, todo, testName,
3456 testIndex, chainIndex, i);
3457 }
3458}
static void checkElementStatus(const CERT_TRUST_STATUS *expected, const CERT_TRUST_STATUS *got, const CERT_TRUST_STATUS *ignore, DWORD todo, LPCSTR testName, DWORD testIndex, DWORD chainIndex, DWORD elementIndex)
Definition: chain.c:3408
CERT_TRUST_STATUS TrustStatus
Definition: wincrypt.h:1029
PCERT_CHAIN_ELEMENT * rgpElement
Definition: wincrypt.h:1040
const CERT_TRUST_STATUS * rgElementStatus
Definition: chain.c:3405

Referenced by checkChainStatus().

◆ getChain()

static PCCERT_CHAIN_CONTEXT getChain ( HCERTCHAINENGINE  engine,
const CONST_BLOB_ARRAY certArray,
DWORD  flags,
BOOL  includeStore,
LPSYSTEMTIME  checkTime,
DWORD  todo,
DWORD  testIndex 
)
static

Definition at line 3348 of file chain.c.

3351{
3352 HCERTSTORE store;
3354
3357 if (store)
3358 {
3359 BOOL ret;
3360 PCCERT_CONTEXT endCert;
3361
3362 if (certArray->cBlob > 1)
3363 {
3364 DWORD i;
3365
3366 for (i = 0, ret = TRUE; ret && i < certArray->cBlob - 1; i++)
3367 {
3369 X509_ASN_ENCODING, certArray->rgBlob[i].pbData,
3370 certArray->rgBlob[i].cbData, CERT_STORE_ADD_ALWAYS, NULL);
3371 ok(ret, "Chain %ld: adding cert %ld failed: %08lx\n",
3372 testIndex, i, GetLastError());
3373 }
3374 }
3376 X509_ASN_ENCODING, certArray->rgBlob[certArray->cBlob - 1].pbData,
3377 certArray->rgBlob[certArray->cBlob - 1].cbData, CERT_STORE_ADD_ALWAYS,
3378 &endCert);
3379 ok(ret, "Chain %ld: adding end cert failed: %08lx\n",
3380 testIndex, GetLastError());
3381 if (ret)
3382 {
3383 /* FIXME: allow caller to specify usage matches? */
3384 CERT_CHAIN_PARA chainPara = { sizeof(chainPara), { 0 } };
3385 FILETIME fileTime;
3386
3387 ok(SystemTimeToFileTime(checkTime, &fileTime),
3388 "SystemTimeToFileTime failed for day %d, month %d, year %d\n",
3389 checkTime->wDay, checkTime->wMonth, checkTime->wYear);
3390 ret = CertGetCertificateChain(engine, endCert, &fileTime,
3391 includeStore ? store : NULL, &chainPara, flags, NULL, &chain);
3393 ok(ret, "Chain %ld: CertGetCertificateChain failed: %08lx\n",
3394 testIndex, GetLastError());
3396 }
3397 CertCloseStore(store, 0);
3398 }
3399 return chain;
3400}
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
Definition: cert.c:371
BOOL WINAPI CertGetCertificateChain(HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, PCCERT_CHAIN_CONTEXT *ppChainContext)
Definition: chain.c:2879
BOOL WINAPI SystemTimeToFileTime(IN CONST SYSTEMTIME *lpSystemTime, OUT LPFILETIME lpFileTime)
Definition: time.c:158
GLbitfield flags
Definition: glext.h:7161
#define TODO_CHAIN
Definition: chain.c:3337
CONST_DATA_BLOB * rgBlob
Definition: chain.c:3334
DWORD cbData
Definition: chain.c:3327
const BYTE * pbData
Definition: chain.c:3328

Referenced by checkChainPolicyStatus(), and testGetCertChain().

◆ num_to_str()

static const char * num_to_str ( WORD  num)
static

Definition at line 4965 of file chain.c.

4966{
4967 static char buf[6];
4968
4969 sprintf(buf, "#%04X", num);
4970 return buf;
4971}
GLuint GLuint num
Definition: glext.h:9618
#define sprintf
Definition: sprintf.c:45

Referenced by checkChainPolicyStatus().

◆ START_TEST()

START_TEST ( chain  )

Definition at line 5379 of file chain.c.

5380{
5382#if defined(__REACTOS__) && defined(_M_IX86)
5383 if ((GetVersion() & 0xFF) > 5) // testVerifyCertChainPolicy() hangs on Server 2003 x86
5384#endif
5388}
DWORD WINAPI GetVersion(void)
Definition: version.c:1458
static void testVerifyCertChainPolicy(void)
Definition: chain.c:5314
static void testCreateCertChainEngine(void)
Definition: chain.c:73
static void test_CERT_CHAIN_PARA_cbSize(void)
Definition: chain.c:4623
static void testGetCertChain(void)
Definition: chain.c:4328

◆ test_CERT_CHAIN_PARA_cbSize()

static void test_CERT_CHAIN_PARA_cbSize ( void  )
static

Definition at line 4623 of file chain.c.

4624{
4625 BOOL ret;
4627 CERT_CHAIN_PARA para = { 0 };
4629 HCERTSTORE store;
4630 DWORD i;
4631
4634
4638 ok(ret, "CertAddEncodedCertificateToStore failed: %08lx\n", GetLastError());
4642 ok(ret, "CertAddEncodedCertificateToStore failed: %08lx\n", GetLastError());
4643
4644 for (i = 0; i < sizeof(CERT_CHAIN_PARA) + 2; i++)
4645 {
4646 FILETIME fileTime;
4647
4648 SystemTimeToFileTime(&oct2007, &fileTime);
4649
4650 para.cbSize = i;
4651 ret = CertGetCertificateChain(NULL, cert, &fileTime,
4652 NULL, &para, 0, NULL, &chain);
4653 ok(ret, "CertGetCertificateChain failed %lu\n", GetLastError());
4655 }
4656
4658 CertCloseStore(store, 0);
4659}
static const BYTE chain0_1[]
Definition: chain.c:1292
static BYTE cert[]
Definition: msg.c:1374
struct _CERT_CHAIN_PARA CERT_CHAIN_PARA

Referenced by START_TEST().

◆ testCreateCertChainEngine()

static void testCreateCertChainEngine ( void  )
static

Definition at line 73 of file chain.c.

74{
75 BOOL ret;
78 HCERTCHAINENGINE engine;
79 HCERTSTORE store;
80
81 /* Crash
82 ret = CertCreateCertificateChainEngine(NULL, NULL);
83 ret = CertCreateCertificateChainEngine(NULL, &engine);
84 ret = CertCreateCertificateChainEngine(pConfig, NULL);
85 */
86 ret = CertCreateCertificateChainEngine(pConfig, &engine);
88 "Expected E_INVALIDARG, got %08lx\n", GetLastError());
89 /* Crashes
90 config.cbSize = sizeof(config);
91 ret = CertCreateCertificateChainEngine(pConfig, NULL);
92 */
93 config.cbSize = sizeof(config);
94 ret = CertCreateCertificateChainEngine(pConfig, &engine);
95 ok(ret, "CertCreateCertificateChainEngine failed: %08lx\n", GetLastError());
97 config.dwFlags = 0xff000000;
98 ret = CertCreateCertificateChainEngine(pConfig, &engine);
99 ok(ret, "CertCreateCertificateChainEngine failed: %08lx\n", GetLastError());
101
102 /* Creating a cert with no root certs at all is allowed.. */
105 config.hRestrictedRoot = store;
106 ret = CertCreateCertificateChainEngine(pConfig, &engine);
107 ok(ret, "CertCreateCertificateChainEngine failed: %08lx\n", GetLastError());
109
110 /* but creating one with a restricted root with a cert that isn't a member
111 * of the Root store isn't allowed.
112 */
115 ret = CertCreateCertificateChainEngine(pConfig, &engine);
116 /* ERROR_FILE_NOT_FOUND used in Windows 10 */
117 ok(!ret && ((GetLastError() == CRYPT_E_NOT_FOUND) ||
119 "Expected CRYPT_E_NOT_FOUND or ERROR_FILE_NOT_FOUND, got %08lx\n", GetLastError());
120
121 CertCloseStore(store, 0);
122}
#define E_INVALIDARG
Definition: ddrawi.h:101
struct config_s config
static const BYTE selfSignedCert[]
Definition: chain.c:32
#define CRYPT_E_NOT_FOUND
Definition: winerror.h:4421

Referenced by START_TEST().

◆ testGetCertChain()

static void testGetCertChain ( void  )
static

Definition at line 4328 of file chain.c.

4329{
4330 BOOL ret;
4332 CERT_CHAIN_PARA para = { 0 };
4334 const CERT_SIMPLE_CHAIN *simple_chain;
4335 const CERT_CHAIN_ELEMENT *chain_elem;
4336 FILETIME fileTime;
4337 DWORD i;
4338 HCERTSTORE store;
4339 static char one_two_three[] = "1.2.3";
4340 static char oid_server_auth[] = szOID_PKIX_KP_SERVER_AUTH;
4341 LPSTR oids[2];
4342
4343 /* Basic parameter checks */
4344 if (0)
4345 {
4346 /* Crash on Vista */
4349 "Expected E_INVALIDARG, got %08lx\n", GetLastError());
4350 }
4352 &chain);
4354 "Expected E_INVALIDARG, got %08lx\n", GetLastError());
4355 /* Crash
4356 ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, &para, 0, NULL, NULL);
4357 ret = CertGetCertificateChain(NULL, NULL, NULL, NULL, &para, 0, NULL,
4358 &chain);
4359 */
4361 sizeof(bigCert));
4362 if (0)
4363 {
4364 /* Crash on Vista */
4367 "Expected E_INVALIDARG, got %08lx\n", GetLastError());
4368 }
4369 /* Crash
4370 ret = CertGetCertificateChain(NULL, cert, NULL, NULL, &para, 0, NULL, NULL);
4371 */
4372
4373 /* Tests with an invalid cert (one whose signature is bad) */
4374 SetLastError(0xdeadbeef);
4376 &chain);
4377 ok(!ret, "Expected failure\n");
4379 GetLastError() == CRYPT_E_ASN1_BADTAG /* Vista */,
4380 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %ld\n", GetLastError());
4381 para.cbSize = sizeof(para);
4382 SetLastError(0xdeadbeef);
4384 &chain);
4385 ok(!ret, "Expected failure\n");
4387 GetLastError() == CRYPT_E_ASN1_BADTAG /* Vista */,
4388 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %ld\n", GetLastError());
4389
4390 para.cbSize = 0;
4391 SetLastError(0xdeadbeef);
4393 &chain);
4394 ok(!ret, "Expected failure\n");
4396 GetLastError() == CRYPT_E_ASN1_BADTAG, /* Vista and higher */
4397 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %ld\n", GetLastError());
4398
4400
4401 /* Test usage match with Google's cert */
4409 google_com, sizeof(google_com));
4410 SystemTimeToFileTime(&oct2009, &fileTime);
4411 memset(&para, 0, sizeof(para));
4412 para.cbSize = sizeof(para);
4413 oids[0] = one_two_three;
4417 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para,
4418 0, NULL, &chain);
4419 ok(ret, "CertGetCertificateChain failed: %08lx\n", GetLastError());
4420 if (ret)
4421 {
4422 ok(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE,
4423 "expected CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
4425 }
4426 oids[0] = oid_server_auth;
4427 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para,
4428 0, NULL, &chain);
4429 ok(ret, "CertGetCertificateChain failed: %08lx\n", GetLastError());
4430 if (ret)
4431 {
4432 ok(!(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE),
4433 "didn't expect CERT_TRUST_IS_NOT_VALID_FOR_USAGE, got %lx\n", chain->TrustStatus.dwErrorStatus);
4435 }
4436 oids[1] = one_two_three;
4439 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para,
4440 0, NULL, &chain);
4441 ok(ret, "CertGetCertificateChain failed: %08lx\n", GetLastError());
4442 if (ret)
4443 {
4444 ok(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE,
4445 "expected CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
4447 }
4449 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para,
4450 0, NULL, &chain);
4451 ok(ret, "CertGetCertificateChain failed: %08lx\n", GetLastError());
4452 if (ret)
4453 {
4454 ok(!(chain->TrustStatus.dwErrorStatus &
4456 "didn't expect CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
4458 }
4459 CertCloseStore(store, 0);
4461
4462 for (i = 0; i < ARRAY_SIZE(chainCheck); i++)
4463 {
4464 chain = getChain(NULL, &chainCheck[i].certs, 0, TRUE, chainCheck[i].validfor,
4465 chainCheck[i].todo, i);
4466 if (chain)
4467 {
4469 "chainCheck", i);
4471 }
4472 }
4475 if (chain)
4476 {
4477 ok(chain->TrustStatus.dwErrorStatus ==
4479 broken((chain->TrustStatus.dwErrorStatus &
4483 "unexpected chain error status %08lx\n",
4484 chain->TrustStatus.dwErrorStatus);
4486 chain->TrustStatus.dwErrorStatus)
4488 opensslChainCheck.todo, "opensslChainCheck", 0);
4489 else
4491 incompleteOpensslChainCheck.todo, "incompleteOpensslChainCheck",
4492 0);
4494 }
4495 for (i = 0; i < ARRAY_SIZE(chainCheckNoStore); i++)
4496 {
4499 if (chain)
4500 {
4502 chainCheckNoStore[i].todo, "chainCheckNoStore", i);
4504 }
4505 }
4508 if (chain)
4509 {
4510 ok(chain->TrustStatus.dwErrorStatus ==
4512 broken((chain->TrustStatus.dwErrorStatus &
4516 "unexpected chain error status %08lx\n",
4517 chain->TrustStatus.dwErrorStatus);
4519 chain->TrustStatus.dwErrorStatus)
4521 chainCheckEmbeddedNull.todo, "chainCheckEmbeddedNull", 0);
4522 else
4524 chainCheckEmbeddedNullBroken.todo, "chainCheckEmbeddedNullBroken",
4525 0);
4527 }
4528
4530 ok(store != NULL, "CertOpenStore failed: %lu\n", GetLastError());
4531
4534 ok(ret, "CertAddEncodedCertificateToStore failed: %lu\n", GetLastError());
4535
4536 oids[0] = oid_server_auth;
4537 memset(&para, 0, sizeof(para));
4538 para.cbSize = sizeof(para);
4541 SystemTimeToFileTime(&jun2013, &fileTime);
4542
4543 /* Pass store that does not contain all certs in chain. */
4544 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para, 0, NULL, &chain);
4545 ok(ret, "CertGetCertificateChain failed: %lu\n", GetLastError());
4546
4547 ok(chain->TrustStatus.dwErrorStatus == CERT_TRUST_HAS_EXACT_MATCH_ISSUER, "chain->TrustStatus.dwErrorStatus = %lx\n",
4548 chain->TrustStatus.dwErrorStatus);
4549 todo_wine
4550 ok(chain->TrustStatus.dwInfoStatus == CERT_TRUST_HAS_PREFERRED_ISSUER, "chain->TrustStatus.dwInfoStatus = %lx\n",
4551 chain->TrustStatus.dwInfoStatus);
4552
4553 ok(chain->cChain == 1, "chain->cChain = %ld\n", chain->cChain);
4554 ok(!chain->cLowerQualityChainContext, "chain->cLowerQualityChainContext = %lx\n", chain->cLowerQualityChainContext);
4555 ok(!chain->rgpLowerQualityChainContext, "chain->rgpLowerQualityChainContext = %p\n", chain->rgpLowerQualityChainContext);
4556
4557 simple_chain = *chain->rgpChain;
4558 ok(simple_chain->cbSize == sizeof(*simple_chain), "simple_chain->cbSize = %lu\n", simple_chain->cbSize);
4559 ok(simple_chain->TrustStatus.dwErrorStatus == CERT_TRUST_HAS_EXACT_MATCH_ISSUER, "simple_chain->TrustStatus.dwErrorStatus = %lx\n",
4560 simple_chain->TrustStatus.dwErrorStatus);
4561 todo_wine
4563 "simple_chain->TrustStatus.dwInfoStatus = %lx\n", simple_chain->TrustStatus.dwInfoStatus);
4564 ok(simple_chain->cElement == 3, "simple_chain->cElement = %lu\n", simple_chain->cElement);
4565
4566 for(i=0; i < simple_chain->cElement; i++) {
4567 chain_elem = simple_chain->rgpElement[i];
4568 ok(chain_elem->cbSize == sizeof(*chain_elem), "chain_elem->cbSize = %lu\n", chain_elem->cbSize);
4569 if (!i || i == 1)
4571 "chain_elem->TrustStatus.dwErrorStatus = %lx\n", chain_elem->TrustStatus.dwErrorStatus);
4572 else
4573 ok(!chain_elem->TrustStatus.dwErrorStatus, "chain_elem->TrustStatus.dwErrorStatus = %lx\n",
4574 chain_elem->TrustStatus.dwErrorStatus);
4575 trace("info[%lu] = %lx\n", i, chain_elem->TrustStatus.dwInfoStatus);
4577 "chain_elem->pCertContext->dwCertEncodingType = %lx\n",
4578 chain_elem->pCertContext->dwCertEncodingType);
4579 }
4580
4581 ok(simple_chain->rgpElement[0]->pCertContext == cert, "simple_chain->rgpElement[0]->pCertContext != cert\n");
4583 "US, New Jersey, Jersey City, The USERTRUST Network, USERTrust RSA Certification Authority");
4585 "US, VA, Herndon, Network Solutions L.L.C., Network Solutions OV Server CA 2");
4587 "US, New Jersey, Jersey City, The USERTRUST Network, USERTrust RSA Certification Authority");
4589 "US, New Jersey, Jersey City, The USERTRUST Network, USERTrust RSA Certification Authority");
4590
4592
4593 /* Test revocation flags */
4595 &chain);
4596 ok(ret, "CertGetCertificateChain failed: %lu\n", GetLastError());
4597 ok(chain->TrustStatus.dwErrorStatus == CERT_TRUST_HAS_EXACT_MATCH_ISSUER, "chain->TrustStatus.dwErrorStatus = %lx\n",
4598 chain->TrustStatus.dwErrorStatus);
4600
4602 ok(ret, "CertGetCertificateChain failed: %lu\n", GetLastError());
4603 ok(chain->TrustStatus.dwErrorStatus == CERT_TRUST_HAS_EXACT_MATCH_ISSUER,
4604 "chain->TrustStatus.dwErrorStatus = %lx\n", chain->TrustStatus.dwErrorStatus);
4606
4608 NULL, &chain);
4609 ok(ret, "CertGetCertificateChain failed: %lu\n", GetLastError());
4610 ok(chain->TrustStatus.dwErrorStatus == CERT_TRUST_HAS_EXACT_MATCH_ISSUER, "chain->TrustStatus.dwErrorStatus = %lx\n",
4611 chain->TrustStatus.dwErrorStatus);
4613
4614 /* Test HCCE_LOCAL_MACHINE */
4615 ret = CertGetCertificateChain(HCCE_LOCAL_MACHINE, cert, &fileTime, store, &para, 0, NULL, &chain);
4616 ok(ret, "CertGetCertificateChain failed: %lu\n", GetLastError());
4618
4620 CertCloseStore(store, 0);
4621}
#define trace
Definition: atltest.h:70
#define FALSE
Definition: types.h:117
PCCERT_CONTEXT WINAPI CertCreateCertificateContext(DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded)
Definition: cert.c:316
#define SetLastError(x)
Definition: compat.h:752
static const BYTE google_internet_authority[]
Definition: chain.c:195
static ChainCheck opensslChainCheck
Definition: chain.c:4283
static const BYTE bigCert[]
Definition: chain.c:124
static const BYTE google_com[]
Definition: chain.c:266
static ChainCheck chainCheckEmbeddedNullBroken
Definition: chain.c:4309
static const BYTE geotrust_global_ca[]
Definition: chain.c:134
static void checkChainStatus(PCCERT_CHAIN_CONTEXT chain, const ChainStatusCheck *chainStatus, DWORD todo, LPCSTR testName, DWORD testIndex)
Definition: chain.c:3468
static ChainCheck incompleteOpensslChainCheck
Definition: chain.c:4288
static ChainCheck chainCheckEmbeddedNull
Definition: chain.c:4301
static ChainCheck chainCheckNoStore[]
Definition: chain.c:4268
#define test_name_blob(a, b)
Definition: chain.c:4319
static const BYTE winehq_org[]
Definition: chain.c:392
static SYSTEMTIME jun2013
Definition: chain.c:3516
static ChainCheck chainCheck[]
Definition: chain.c:4018
#define memset(x, y, z)
Definition: compat.h:39
PCCERT_CONTEXT pCertContext
Definition: wincrypt.h:1028
CERT_USAGE_MATCH RequestedUsage
Definition: wincrypt.h:1183
DWORD dwCertEncodingType
Definition: wincrypt.h:488
PCERT_INFO pCertInfo
Definition: wincrypt.h:491
CERT_NAME_BLOB Subject
Definition: wincrypt.h:256
CERT_NAME_BLOB Issuer
Definition: wincrypt.h:253
CERT_TRUST_STATUS TrustStatus
Definition: wincrypt.h:1038
CERT_ENHKEY_USAGE Usage
Definition: wincrypt.h:1161
DWORD cUsageIdentifier
Definition: wincrypt.h:831
LPSTR * rgpszUsageIdentifier
Definition: wincrypt.h:832
DWORD todo
Definition: chain.c:3528
ChainStatusCheck status
Definition: chain.c:3527
CONST_BLOB_ARRAY certs
Definition: chain.c:3526
#define USAGE_MATCH_TYPE_AND
Definition: wincrypt.h:1156
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN
Definition: wincrypt.h:1170
#define CERT_CHAIN_REVOCATION_CHECK_END_CERT
Definition: wincrypt.h:1169
#define USAGE_MATCH_TYPE_OR
Definition: wincrypt.h:1157
#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER
Definition: wincrypt.h:1008
#define HCCE_LOCAL_MACHINE
Definition: wincrypt.h:3774
#define CERT_TRUST_HAS_PREFERRED_ISSUER
Definition: wincrypt.h:1013
#define szOID_PKIX_KP_SERVER_AUTH
Definition: wincrypt.h:3450
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
Definition: wincrypt.h:1171
#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE
Definition: wincrypt.h:986
#define CRYPT_E_ASN1_BADTAG
Definition: winerror.h:4510
#define ERROR_INVALID_DATA
Definition: winerror.h:238
char * LPSTR
Definition: xmlstorage.h:182

Referenced by START_TEST().

◆ testVerifyCertChainPolicy()

static void testVerifyCertChainPolicy ( void  )
static

Definition at line 5314 of file chain.c.

5315{
5316 BOOL ret;
5318 CERT_CHAIN_PARA chainPara = { sizeof(CERT_CHAIN_PARA), { 0 } };
5320 CERT_CHAIN_POLICY_STATUS policyStatus = { 0 };
5321 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
5322
5323 /* Crash
5324 ret = CertVerifyCertificateChainPolicy(NULL, NULL, NULL, NULL);
5325 ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
5326 NULL);
5327 ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL,
5328 &chainPara, NULL);
5329 */
5330 SetLastError(0xdeadbeef);
5333 "Expected ERROR_FILE_NOT_FOUND, got %08lx\n", GetLastError());
5334 /* Crashes
5335 ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
5336 &policyStatus);
5337 */
5339 sizeof(selfSignedCert));
5340 CertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL,
5341 &chain);
5342 /* Crash
5343 ret = CertVerifyCertificateChainPolicy(NULL, chain, NULL, NULL);
5344 ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
5345 NULL);
5346 ret = CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
5347 &chainPara, NULL);
5348 */
5349 /* Size of policy status is apparently ignored, as is pChainPolicyPara */
5351 &policyStatus);
5352 ok(ret, "CertVerifyCertificateChainPolicy failed: %08lx\n", GetLastError());
5353 ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT ||
5354 policyStatus.dwError == TRUST_E_CERT_SIGNATURE, /* win7 + win8 */
5355 "Expected CERT_E_UNTRUSTEDROOT or TRUST_E_CERT_SIGNATURE, got %08lx\n", policyStatus.dwError);
5356 ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
5357 "Expected both indexes 0, got %ld, %ld\n", policyStatus.lChainIndex,
5358 policyStatus.lElementIndex);
5360 &policyPara, &policyStatus);
5361 ok(ret, "CertVerifyCertificateChainPolicy failed: %08lx\n", GetLastError());
5362 ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT ||
5363 policyStatus.dwError == TRUST_E_CERT_SIGNATURE, /* win7 + win8 */
5364 "Expected CERT_E_UNTRUSTEDROOT or TRUST_E_CERT_SIGNATURE, got %08lx\n", policyStatus.dwError);
5365 ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
5366 "Expected both indexes 0, got %ld, %ld\n", policyStatus.lChainIndex,
5367 policyStatus.lElementIndex);
5370
5377}
static void check_base_policy(void)
Definition: chain.c:5060
static const ChainPolicyCheck basicConstraintsPolicyCheck[]
Definition: chain.c:4901
static void check_ssl_policy(void)
Definition: chain.c:5123
static void check_msroot_policy(void)
Definition: chain.c:5300
static void check_authenticode_policy(void)
Definition: chain.c:5099
#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS
Definition: wincrypt.h:1078
#define CERT_E_UNTRUSTEDROOT
Definition: winerror.h:4639
#define TRUST_E_CERT_SIGNATURE
Definition: winerror.h:4588

Referenced by START_TEST().

Variable Documentation

◆ authenticodePolicyCheck

const ChainPolicyCheck authenticodePolicyCheck[]
static

Definition at line 4851 of file chain.c.

Referenced by check_authenticode_policy().

◆ badDateNestingStatus

const CERT_CHAIN_POLICY_STATUS badDateNestingStatus
static
Initial value:
=
#define CERT_E_VALIDITYPERIODNESTING
Definition: winerror.h:4632

Definition at line 4716 of file chain.c.

◆ basePolicyCheck

const ChainPolicyCheck basePolicyCheck[]
static

Definition at line 4669 of file chain.c.

Referenced by check_base_policy().

◆ basicConstraintsPolicyCheck

const ChainPolicyCheck basicConstraintsPolicyCheck[]
static

Definition at line 4901 of file chain.c.

Referenced by testVerifyCertChainPolicy().

◆ battlenet

const BYTE battlenet[]
static

Definition at line 518 of file chain.c.

◆ battlenetChain

CONST_DATA_BLOB battlenetChain[]
static
Initial value:
= {
{ sizeof(battlenet), battlenet },
}
static const BYTE thawte_ssl_ca[]
Definition: chain.c:657
static const BYTE thawte_primary_ca[]
Definition: chain.c:585
static const BYTE battlenet[]
Definition: chain.c:518

Definition at line 3960 of file chain.c.

◆ bigCert

const BYTE bigCert[]
static
Initial value:
= { 0x30, 0x7a, 0x02, 0x01, 0x01, 0x30, 0x02, 0x06,
0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x22,
0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x31, 0x36, 0x30, 0x31, 0x30, 0x31, 0x30,
0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30,
0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20,
0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30, 0x07, 0x30, 0x02, 0x06, 0x00, 0x03, 0x01,
0x00, 0xa3, 0x16, 0x30, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01 }

Definition at line 124 of file chain.c.

Referenced by testGetCertChain().

◆ chain0

CONST_DATA_BLOB chain0[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain0_1), chain0_1 },
}

Definition at line 3532 of file chain.c.

◆ chain0_0

const BYTE chain0_0[]
static

Definition at line 1260 of file chain.c.

Referenced by check_ssl_policy(), and test_CERT_CHAIN_PARA_cbSize().

◆ chain0_1

const BYTE chain0_1[]
static
Initial value:
= {
0x30,0x82,0x01,0x98,0x30,0x82,0x01,0x01,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,
0x00,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,
0x65,0x72,0x74,0x31,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x31,0x31,0x32,
0x32,0x31,0x38,0x35,0x32,0x30,0x37,0x5a,0x18,0x0f,0x31,0x36,0x32,0x38,0x30,
0x38,0x32,0x36,0x30,0x35,0x32,0x30,0x35,0x37,0x5a,0x30,0x10,0x31,0x0e,0x30,
0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,
0xc5,0x4b,0x3f,0xe5,0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,
0xba,0xff,0xb4,0xc6,0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,
0xce,0x30,0xc5,0xa7,0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,
0x16,0xde,0xc6,0x8b,0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,
0x3b,0xb9,0xcf,0x6b,0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,
0xb7,0x82,0x40,0xfc,0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,
0xcb,0x53,0xac,0x85,0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,
0x8b,0xa2,0x23,0xb2,0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,
0xcf,0x49,0x98,0x72,0xa3,0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,
0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x3c,
0x90,0x45,0x5b,0x81,0x25,0x9d,0x7a,0x10,0x9f,0x15,0x25,0x03,0x52,0x78,0x09,
0x6f,0x62,0x66,0x78,0x01,0x69,0x6a,0x7f,0x19,0x02,0x18,0xd8,0xc0,0x89,0x2f,
0x0f,0x47,0xa7,0x17,0xc2,0xd7,0xe2,0x81,0x7e,0xea,0x54,0xd4,0xe6,0xcc,0x8f,
0x88,0x1a,0xee,0x28,0x42,0x6c,0x77,0xf5,0xec,0x8c,0x05,0xa5,0x7f,0xee,0x2e,
0x0b,0xbc,0xde,0xb0,0x71,0x2c,0x83,0x32,0xcb,0x49,0x00,0x46,0x03,0x95,0x58,
0x6c,0x57,0x0c,0x5a,0x69,0x3c,0xfa,0xbf,0x46,0x7a,0x4d,0xd0,0x23,0x77,0x23,
0xac,0x1d,0x33,0xb7,0x87,0xb4,0xc6,0x6b,0x52,0xa1,0xed,0x9a,0xb8,0x8e,0x1a,
0xcb,0xc3,0xd3,0x50,0xe0,0x0d,0x12,0x5d,0x0e,0x84,0x52,0xa5,0x12,0x76,0x6b,
0xbf,0xb8,0xbe,0x51,0xc0,0xa6,0xae }

Definition at line 1292 of file chain.c.

Referenced by test_CERT_CHAIN_PARA_cbSize().

◆ chain1

CONST_DATA_BLOB chain1[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain1_1), chain1_1 },
}
static const BYTE chain1_1[]
Definition: chain.c:1324

Definition at line 3544 of file chain.c.

◆ chain10

CONST_DATA_BLOB chain10[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain10_1), chain10_1 },
{ sizeof(chain7_1), chain7_1 },
}
static const BYTE chain10_1[]
Definition: chain.c:1750
static const BYTE chain7_1[]
Definition: chain.c:1590

Definition at line 3659 of file chain.c.

◆ chain10_1

const BYTE chain10_1[]
static
Initial value:
= {
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,
0x24,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,0xa8,0xec,0x8c,0x34,0xe7,0x2c,0xdf,0x75,0x87,0xc4,0xf7,0xda,0x71,
0x72,0x29,0xb2,0x48,0xa8,0x2a,0xec,0x7b,0x7d,0x19,0xb9,0x5f,0x1d,0xd9,0x91,
0x2b,0xc4,0x28,0x7e,0xd6,0xb5,0x91,0x69,0xa5,0x8a,0x1a,0x1f,0x97,0x98,0x46,
0x9d,0xdf,0x12,0xf6,0x45,0x62,0xad,0x60,0xb6,0xba,0xb0,0xfd,0xf5,0x9f,0xc6,
0x98,0x05,0x4f,0x4d,0x48,0xdc,0xee,0x69,0xbe,0xb8,0xc4,0xc4,0xd7,0x1b,0xb1,
0x1f,0x64,0xd6,0x45,0xa7,0xdb,0xb3,0x87,0x63,0x0f,0x54,0xe1,0x3a,0x6b,0x57,
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 }

Definition at line 1750 of file chain.c.

◆ chain11

CONST_DATA_BLOB chain11[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain11_1), chain11_1 },
{ sizeof(chain7_1), chain7_1 },
}
static const BYTE chain11_1[]
Definition: chain.c:1785

Definition at line 3672 of file chain.c.

◆ chain11_1

const BYTE chain11_1[]
static
Initial value:
= {
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,
0x03,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,0xc3,0x31,0x35,0xc3,0x9d,0x8a,0x87,0x20,0xc6,0x32,0xe9,
0xb1,0xf6,0x8f,0xf9,0x05,0x73,0x1d,0xa7,0xde,0xab,0x15,0x8a,0x9c,0x7f,0x11,
0x7e,0x77,0xa0,0x42,0x80,0xf4,0x79,0xda,0x98,0x7b,0x00,0xfa,0x8f,0x0c,0xd0,
0xeb,0x8a,0x80,0xed,0x07,0xfc,0x64,0x71,0x03,0xc1,0xd6,0x2f,0x9b,0xde,0x42,
0x63,0xd9,0x79,0xea,0xdd,0x10,0xe8,0x68,0xc8,0x69,0x4f,0x4a,0x39,0x23,0x87,
0xca,0xd1,0xc9,0x77,0x14,0x30,0x85,0x9e,0xf7,0x79,0xf9,0x07,0xb7,0x7c,0x55,
0xcb,0xa7,0xd5,0xb8,0x44,0xb5,0x20,0xb5,0x01,0x5c,0xa2,0xd1,0xd5,0xad,0x0f,
0x87,0xaf,0x37,0xd1,0x39,0x0c,0x0d,0xd5,0xde,0x26,0x7a,0xed,0xf9,0x2a,0xb1,
0x60,0x65,0x2d,0x08,0x24,0x51,0x1d,0xb0,0x0a,0xb5,0x13,0xc7,0x02,0x03,0x01,
0x00,0x01,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,0x00,0x03,0x81,
0x81,0x00,0x51,0x17,0xfb,0x2a,0x69,0x31,0x36,0xa7,0x37,0x2c,0x1f,0x38,0xee,
0xe3,0xf1,0xae,0x63,0x61,0xac,0x63,0x13,0xc2,0x3b,0x29,0xca,0xb1,0x8e,0x27,
0x41,0xfa,0xb3,0x7d,0x42,0xbe,0xf0,0x9c,0xe0,0xc7,0x69,0xba,0x80,0xf4,0x87,
0x7c,0x6f,0x77,0x70,0x6b,0x77,0x7d,0x5c,0x58,0x95,0x07,0xbd,0xac,0xe2,0x5d,
0x65,0x12,0xb0,0xae,0xf4,0x01,0x14,0x01,0xba,0xf9,0xa0,0x32,0x10,0xea,0x09,
0x12,0xcf,0xf1,0xbc,0x37,0xc9,0x42,0xc3,0x8c,0x9e,0xa2,0xc3,0x5e,0x2e,0x56,
0xe9,0xa7,0xd8,0x1c,0x1c,0x8c,0x1c,0x2f,0xd8,0xfb,0x67,0x44,0xd4,0xa3,0x79,
0x6d,0x53,0x17,0x56,0x3c,0x3e,0xd0,0x67,0x36,0x0c,0x8b,0x77,0xab,0x40,0xc7,
0x27,0xd9,0x44,0x69,0x13,0xeb,0x09,0xec,0x06,0xe2 }

Definition at line 1785 of file chain.c.

◆ chain12

CONST_DATA_BLOB chain12[]
static
Initial value:
= {
{ sizeof(chain12_0), chain12_0 },
{ sizeof(chain7_1), chain7_1 },
}
static const BYTE chain12_0[]
Definition: chain.c:1817

Definition at line 3677 of file chain.c.

◆ chain12_0

const BYTE chain12_0[]
static

Definition at line 1817 of file chain.c.

◆ chain13

CONST_DATA_BLOB chain13[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain13_1), chain13_1 },
}
static const BYTE chain13_1[]
Definition: chain.c:1852

Definition at line 3689 of file chain.c.

◆ chain13_1

const BYTE chain13_1[]
static
Initial value:
= {
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,
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,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,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,0x33,
0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,0xdc,
0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,0x48,
0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,0x47,
0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,0x05,
0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,0x6a,
0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,0x85,
0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,0xd3,
0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,0xa3,
0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x85,0xc9,0xc5,0x08,0x0b,0xb1,
0xff,0x58,0x8f,0xee,0x66,0x5f,0xa3,0x77,0x63,0x9f,0xd1,0x53,0x03,0xdc,0xf6,
0x59,0x08,0x02,0x1f,0xdc,0x52,0x5a,0x52,0x38,0xa4,0x0b,0x83,0x12,0x19,0xd6,
0xb5,0xb8,0x81,0x17,0xcd,0x10,0x5d,0x96,0x16,0x9d,0x51,0x5b,0xf9,0x31,0x3e,
0x36,0xac,0x30,0xd5,0xd6,0xa0,0x30,0x5c,0x9c,0xcb,0xe1,0x02,0xfd,0x73,0xc3,
0xa1,0x58,0xfe,0x12,0xb0,0xa6,0xbd,0x11,0x86,0xdb,0x20,0x17,0x29,0x1e,0x09,
0x63,0x4d,0x28,0xe4,0x55,0x2d,0xa1,0x78,0xde,0x28,0x0b,0x1b,0x35,0x40,0x4c,
0xf1,0xb0,0x6e,0x82,0x34,0x2b,0x7f,0x3b,0x2e,0x27,0x6b,0xf7,0xde,0x73,0x9a,
0x98,0xac,0x79,0x33,0x1a,0xdd,0x03,0x95,0x60,0x8a,0x08,0xba,0xcb,0x8a,0xbf,
0xea,0xe3 }

Definition at line 1852 of file chain.c.

◆ chain14

CONST_DATA_BLOB chain14[]
static
Initial value:
= {
{ sizeof(chain14_0), chain14_0 },
{ sizeof(chain14_1), chain14_1 },
}
static const BYTE chain14_0[]
Definition: chain.c:1884
static const BYTE chain14_1[]
Definition: chain.c:1916

Definition at line 3701 of file chain.c.

◆ chain14_0

const BYTE chain14_0[]
static

Definition at line 1884 of file chain.c.

◆ chain14_1

const BYTE chain14_1[]
static
Initial value:
= {
0x30,0x82,0x01,0x8d,0x30,0x81,0xf9,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,0x01,
0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x32,0x30,0x81,0x9d,0x30,0x0b,0x06,0x09,0x2a,0x86,
0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,0x8d,0x00,0x30,0x81,0x89,0x02,
0x81,0x81,0x00,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,0x33,0x0e,0x67,0x5f,0x48,
0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,0xdc,0xb6,0x17,0x8e,0x20,
0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,0x48,0x9f,0x6e,0xfe,0xb8,
0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,0x47,0xd1,0x57,0x71,0x3c,
0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,0x05,0x72,0xa7,0x87,0x8e,
0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,0x6a,0x80,0x83,0x68,0x28,
0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,0x85,0xb5,0x46,0x36,0x98,
0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,0xd3,0x51,0x9a,0x22,0x4a,
0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,0xa3,0x02,0x03,0x01,0x00,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x03,
0x81,0x81,0x00,0x63,0x67,0x7f,0x82,0x91,0xe2,0x42,0x45,0x98,0xbc,0xe5,0x03,
0x6c,0x7d,0xc9,0xab,0xdb,0x95,0xc4,0x96,0x86,0xfd,0xcf,0xe6,0x32,0x4a,0x0b,
0x7c,0x5b,0x76,0x39,0x71,0x26,0x54,0x60,0x1d,0xce,0x4f,0x29,0x22,0x9a,0xb7,
0x7d,0x8d,0xfa,0x2c,0x99,0x0d,0xa6,0xa4,0x2e,0xd3,0xf6,0x3e,0xaf,0xea,0x89,
0xa0,0x16,0x40,0x0f,0xf1,0x50,0xaa,0x98,0xdc,0xc2,0x69,0x90,0x6f,0xc6,0x4a,
0xee,0x26,0x9e,0x5e,0x7d,0x4b,0x06,0x65,0x54,0x15,0x67,0x9e,0xe5,0x1d,0x1c,
0x6f,0x0c,0x6e,0x84,0x29,0xf9,0x12,0xe9,0x71,0xdd,0xaf,0x9a,0x3d,0x2a,0xc1,
0x60,0xeb,0x27,0xed,0x7c,0xbf,0xc4,0x84,0x17,0xa5,0xa6,0x41,0x29,0x13,0x8d,
0x6c,0xdd,0x7c,0x3d,0x01,0x03,0xf8,0x70,0x97,0x3c,0x45 }

Definition at line 1916 of file chain.c.

◆ chain15

CONST_DATA_BLOB chain15[]
static
Initial value:
= {
{ sizeof(chain15_0), chain15_0 },
{ sizeof(chain14_1), chain14_1 },
}
static const BYTE chain15_0[]
Definition: chain.c:1947

Definition at line 3713 of file chain.c.

◆ chain15_0

const BYTE chain15_0[]
static

Definition at line 1947 of file chain.c.

◆ chain16

CONST_DATA_BLOB chain16[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain16_1), chain16_1 },
}
static const BYTE chain16_1[]
Definition: chain.c:1984

Definition at line 3725 of file chain.c.

◆ chain16_1

const BYTE chain16_1[]
static

Definition at line 1984 of file chain.c.

◆ chain17

CONST_DATA_BLOB chain17[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain17_1), chain17_1 },
{ sizeof(chain17_2), chain17_2 },
}
static const BYTE chain17_2[]
Definition: chain.c:2050
static const BYTE chain17_1[]
Definition: chain.c:2019

Definition at line 3738 of file chain.c.

◆ chain17_1

const BYTE chain17_1[]
static

Definition at line 2019 of file chain.c.

◆ chain17_2

const BYTE chain17_2[]
static
Initial value:
= {
0x30,0x82,0x01,0x8d,0x30,0x81,0xf9,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,0x01,
0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x30,0x10,
0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,
0x32,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,0x33,0x30,0x81,0x9d,0x30,0x0b,0x06,0x09,0x2a,0x86,
0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,0x8d,0x00,0x30,0x81,0x89,0x02,
0x81,0x81,0x00,0xc3,0x31,0x35,0xc3,0x9d,0x8a,0x87,0x20,0xc6,0x32,0xe9,0xb1,
0xf6,0x8f,0xf9,0x05,0x73,0x1d,0xa7,0xde,0xab,0x15,0x8a,0x9c,0x7f,0x11,0x7e,
0x77,0xa0,0x42,0x80,0xf4,0x79,0xda,0x98,0x7b,0x00,0xfa,0x8f,0x0c,0xd0,0xeb,
0x8a,0x80,0xed,0x07,0xfc,0x64,0x71,0x03,0xc1,0xd6,0x2f,0x9b,0xde,0x42,0x63,
0xd9,0x79,0xea,0xdd,0x10,0xe8,0x68,0xc8,0x69,0x4f,0x4a,0x39,0x23,0x87,0xca,
0xd1,0xc9,0x77,0x14,0x30,0x85,0x9e,0xf7,0x79,0xf9,0x07,0xb7,0x7c,0x55,0xcb,
0xa7,0xd5,0xb8,0x44,0xb5,0x20,0xb5,0x01,0x5c,0xa2,0xd1,0xd5,0xad,0x0f,0x87,
0xaf,0x37,0xd1,0x39,0x0c,0x0d,0xd5,0xde,0x26,0x7a,0xed,0xf9,0x2a,0xb1,0x60,
0x65,0x2d,0x08,0x24,0x51,0x1d,0xb0,0x0a,0xb5,0x13,0xc7,0x02,0x03,0x01,0x00,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x03,
0x81,0x81,0x00,0x5c,0xb5,0x55,0xd7,0x2c,0x70,0xc5,0x6e,0xc0,0x8e,0x30,0x1f,
0xf2,0x8e,0x55,0xd6,0xf6,0x95,0xa4,0x51,0xd8,0xf0,0x39,0x98,0x12,0x57,0xa7,
0x6d,0x0c,0xfd,0xcb,0x25,0xf1,0xc4,0x73,0x85,0x78,0x82,0x15,0x12,0x08,0xb6,
0x05,0x85,0x4f,0x5a,0x59,0x1f,0x03,0xdf,0x04,0xef,0xc2,0xb0,0xee,0xd7,0x73,
0x09,0xca,0xbb,0xfb,0xd8,0xec,0x8b,0x39,0x01,0x14,0xc9,0x03,0xc9,0x08,0x4d,
0x97,0xc7,0xf2,0x0b,0x54,0x67,0xf7,0x7c,0xc6,0xee,0x74,0xd5,0xa2,0x10,0x3e,
0xd9,0x3a,0x7a,0x9d,0xeb,0xeb,0xd8,0x8e,0x43,0x74,0xc3,0xa5,0x3b,0x1a,0x4b,
0x8a,0xbc,0x6a,0x2c,0x15,0x4b,0x72,0x0b,0xac,0xa4,0x1a,0x97,0x80,0xf8,0xb1,
0xd3,0xd7,0x1a,0xf3,0xf5,0x9f,0x7c,0x4c,0x7d,0x7c,0xc7 }

Definition at line 2050 of file chain.c.

◆ chain18

CONST_DATA_BLOB chain18[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain18_1), chain18_1 },
{ sizeof(chain18_2), chain18_2 },
}
static const BYTE chain18_1[]
Definition: chain.c:2081
static const BYTE chain18_2[]
Definition: chain.c:2112

Definition at line 3752 of file chain.c.

◆ chain18_1

const BYTE chain18_1[]
static

Definition at line 2081 of file chain.c.

◆ chain18_2

const BYTE chain18_2[]
static
Initial value:
= {
0x30,0x82,0x01,0x8d,0x30,0x81,0xf9,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,0x01,
0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x30,0x10,
0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,
0x32,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,0x33,0x30,0x81,0x9d,0x30,0x0b,0x06,0x09,0x2a,0x86,
0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,0x8d,0x00,0x30,0x81,0x89,0x02,
0x81,0x81,0x00,0xc3,0x31,0x35,0xc3,0x9d,0x8a,0x87,0x20,0xc6,0x32,0xe9,0xb1,
0xf6,0x8f,0xf9,0x05,0x73,0x1d,0xa7,0xde,0xab,0x15,0x8a,0x9c,0x7f,0x11,0x7e,
0x77,0xa0,0x42,0x80,0xf4,0x79,0xda,0x98,0x7b,0x00,0xfa,0x8f,0x0c,0xd0,0xeb,
0x8a,0x80,0xed,0x07,0xfc,0x64,0x71,0x03,0xc1,0xd6,0x2f,0x9b,0xde,0x42,0x63,
0xd9,0x79,0xea,0xdd,0x10,0xe8,0x68,0xc8,0x69,0x4f,0x4a,0x39,0x23,0x87,0xca,
0xd1,0xc9,0x77,0x14,0x30,0x85,0x9e,0xf7,0x79,0xf9,0x07,0xb7,0x7c,0x55,0xcb,
0xa7,0xd5,0xb8,0x44,0xb5,0x20,0xb5,0x01,0x5c,0xa2,0xd1,0xd5,0xad,0x0f,0x87,
0xaf,0x37,0xd1,0x39,0x0c,0x0d,0xd5,0xde,0x26,0x7a,0xed,0xf9,0x2a,0xb1,0x60,
0x65,0x2d,0x08,0x24,0x51,0x1d,0xb0,0x0a,0xb5,0x13,0xc7,0x02,0x03,0x01,0x00,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x03,
0x81,0x81,0x00,0x5c,0xb5,0x55,0xd7,0x2c,0x70,0xc5,0x6e,0xc0,0x8e,0x30,0x1f,
0xf2,0x8e,0x55,0xd6,0xf6,0x95,0xa4,0x51,0xd8,0xf0,0x39,0x98,0x12,0x57,0xa7,
0x6d,0x0c,0xfd,0xcb,0x25,0xf1,0xc4,0x73,0x85,0x78,0x82,0x15,0x12,0x08,0xb6,
0x05,0x85,0x4f,0x5a,0x59,0x1f,0x03,0xdf,0x04,0xef,0xc2,0xb0,0xee,0xd7,0x73,
0x09,0xca,0xbb,0xfb,0xd8,0xec,0x8b,0x39,0x01,0x14,0xc9,0x03,0xc9,0x08,0x4d,
0x97,0xc7,0xf2,0x0b,0x54,0x67,0xf7,0x7c,0xc6,0xee,0x74,0xd5,0xa2,0x10,0x3e,
0xd9,0x3a,0x7a,0x9d,0xeb,0xeb,0xd8,0x8e,0x43,0x74,0xc3,0xa5,0x3b,0x1a,0x4b,
0x8a,0xbc,0x6a,0x2c,0x15,0x4b,0x72,0x0b,0xac,0xa4,0x1a,0x97,0x80,0xf8,0xb1,
0xd3,0xd7,0x1a,0xf3,0xf5,0x9f,0x7c,0x4c,0x7d,0x7c,0xc7 }

Definition at line 2112 of file chain.c.

◆ chain19

CONST_DATA_BLOB chain19[]
static
Initial value:
= {
{ sizeof(chain19_0), chain19_0 },
{ sizeof(chain19_1), chain19_1 },
}
static const BYTE chain19_0[]
Definition: chain.c:2141
static const BYTE chain19_1[]
Definition: chain.c:2174

Definition at line 3766 of file chain.c.

◆ chain19_0

const BYTE chain19_0[]
static

Definition at line 2141 of file chain.c.

◆ chain19_1

const BYTE chain19_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xaa,0x30,0x82,0x01,0x13,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x14,0x30,0x12,0x30,0x10,0x06,0x03,0x55,
0x1d,0x07,0x04,0x09,0x30,0x07,0x82,0x05,0x61,0x2e,0x63,0x6f,0x6d,0x30,0x0d,
0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,
0x81,0x00,0x8e,0x1d,0xf5,0xac,0x59,0x8e,0x39,0x7a,0x4d,0x79,0x79,0x68,0xa9,
0x13,0x25,0xbf,0x71,0x62,0x73,0x55,0xb0,0x22,0xcb,0x8a,0x22,0xa2,0x4f,0xa3,
0xfc,0x22,0xa3,0x2c,0x4c,0xe3,0x95,0xc6,0x97,0xe1,0x97,0xf1,0xee,0xb0,0xb4,
0xac,0x7a,0x80,0xe3,0xdd,0x02,0x5a,0x42,0x30,0xe7,0x27,0x0e,0x69,0xff,0x6b,
0xb2,0x83,0x7a,0x4f,0xc7,0xaa,0x05,0x95,0xb5,0x18,0x5f,0xa8,0x29,0x97,0x3b,
0xf2,0xb8,0x35,0x06,0x1b,0xfe,0xfa,0xa8,0x91,0xc7,0xb7,0x1b,0x8b,0xaa,0xd5,
0x23,0x88,0x7f,0xd9,0x88,0x45,0xee,0xd4,0xb9,0xcd,0x36,0xd4,0x5a,0x28,0x86,
0x0d,0x92,0x5d,0xcb,0x8c,0xf1,0xd9,0xfb,0xcc,0xa4,0x65,0xda,0x8d,0x6e,0xfd,
0x99,0xed,0xf1,0xc6,0x45,0xdf,0x5b,0x1f,0xf5,0xa0 }

Definition at line 2174 of file chain.c.

◆ chain1_1

const BYTE chain1_1[]
static
Initial value:
= {
0x30,0x82,0x01,0x98,0x30,0x82,0x01,0x01,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,
0x00,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,
0x65,0x72,0x74,0x31,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x31,0x31,0x32,
0x32,0x31,0x38,0x35,0x32,0x30,0x37,0x5a,0x18,0x0f,0x31,0x36,0x32,0x38,0x30,
0x38,0x32,0x36,0x30,0x35,0x32,0x30,0x35,0x37,0x5a,0x30,0x10,0x31,0x0e,0x30,
0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0x0d,0x06,0x09,0x2a,
0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0xad,
0x16,0xaa,0x77,0xab,0xd5,0x1a,0x6c,0x90,0x5d,0x4e,0x61,0x49,0x89,0x6e,0x9f,
0x03,0x7b,0x4a,0x49,0xb1,0x46,0x75,0xf3,0x69,0xeb,0x96,0x13,0x3c,0x35,0xb5,
0x37,0x3b,0xc2,0x84,0x5c,0xe5,0x7c,0x46,0xf6,0x6b,0xc7,0x4e,0x72,0x91,0xf4,
0xde,0xc5,0x66,0x0f,0x2d,0x39,0xc6,0x9e,0x8e,0x25,0x4d,0x3f,0x7b,0x45,0xe1,
0xc6,0x1a,0x7e,0x28,0x83,0xf8,0x87,0x30,0x4e,0xa5,0xfd,0x32,0x7a,0xed,0x53,
0x10,0x3b,0x14,0xe5,0xf1,0x32,0x77,0xf1,0x29,0x72,0x98,0x2b,0xa3,0x17,0xd6,
0x8c,0x65,0xaa,0x3b,0x6d,0xab,0xb3,0xbe,0xfa,0x72,0x38,0xf7,0xd0,0xb6,0x0f,
0x5c,0x0d,0xec,0x17,0x43,0x2a,0xfd,0xc1,0x01,0x43,0x98,0xd3,0x1b,0x84,0x3e,
0x32,0xcf,0xda,0x1d,0xc2,0xc9,0x61 }

Definition at line 1324 of file chain.c.

◆ chain2

CONST_DATA_BLOB chain2[]
static
Initial value:
= {
{ sizeof(chain2_0), chain2_0 },
{ sizeof(chain0_1), chain0_1 },
}
static const BYTE chain2_0[]
Definition: chain.c:1356

Definition at line 3557 of file chain.c.

◆ chain20

CONST_DATA_BLOB chain20[]
static
Initial value:
= {
{ sizeof(chain20_0), chain20_0 },
{ sizeof(chain20_1), chain20_1 },
}
static const BYTE chain20_1[]
Definition: chain.c:2238
static const BYTE chain20_0[]
Definition: chain.c:2205

Definition at line 3779 of file chain.c.

◆ chain20_0

const BYTE chain20_0[]
static

Definition at line 2205 of file chain.c.

◆ chain20_1

const BYTE chain20_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xaa,0x30,0x82,0x01,0x13,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x14,0x30,0x12,0x30,0x10,0x06,0x03,0x55,
0x1d,0x07,0x04,0x09,0x30,0x07,0x82,0x05,0x62,0x2e,0x63,0x6f,0x6d,0x30,0x0d,
0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,
0x81,0x00,0x17,0xbb,0xec,0x37,0x4c,0xaf,0x0f,0xb0,0x57,0x04,0x01,0x67,0x69,
0x77,0xe4,0x73,0xc4,0x12,0x0a,0xa5,0xfe,0x0c,0x8b,0x89,0x90,0x98,0x0d,0x3b,
0x37,0xbe,0xe7,0x7e,0xba,0x84,0x27,0x5f,0xed,0x40,0xc9,0x57,0x91,0x6b,0x72,
0xe3,0x4c,0xfa,0x9f,0x6d,0xd5,0xe6,0xf8,0x33,0xa1,0x6e,0xbd,0x5f,0x8d,0xfb,
0x8f,0xe6,0xe1,0x6a,0x64,0x51,0x1e,0x3b,0x04,0xe4,0x3b,0xa2,0x49,0x15,0x23,
0x35,0x17,0x61,0x4a,0xa6,0x03,0xee,0xa2,0xa6,0x4f,0x42,0x13,0x75,0x14,0xd3,
0x87,0x3b,0x71,0x6a,0x2f,0x11,0xcd,0xe6,0xd0,0x63,0xce,0x62,0x8c,0xd9,0x64,
0xc0,0xaa,0x53,0x4e,0x5e,0xa2,0x4c,0x6e,0xd0,0x13,0x49,0x2e,0xdf,0x81,0x3a,
0x3c,0x67,0xcf,0x4e,0xde,0x95,0x14,0x74,0xa8,0x31 }

Definition at line 2238 of file chain.c.

◆ chain21

CONST_DATA_BLOB chain21[]
static
Initial value:
= {
{ sizeof(chain21_0), chain21_0 },
{ sizeof(chain21_1), chain21_1 },
}
static const BYTE chain21_0[]
Definition: chain.c:2269
static const BYTE chain21_1[]
Definition: chain.c:2302

Definition at line 3791 of file chain.c.

◆ chain21_0

const BYTE chain21_0[]
static

Definition at line 2269 of file chain.c.

◆ chain21_1

const BYTE chain21_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xaa,0x30,0x82,0x01,0x13,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x14,0x30,0x12,0x30,0x10,0x06,0x03,0x55,
0x1d,0x07,0x04,0x09,0x30,0x07,0x82,0x05,0x61,0x2e,0x43,0x4f,0x4d,0x30,0x0d,
0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,
0x81,0x00,0x65,0xd5,0xaa,0x17,0x1f,0xa8,0xda,0x62,0x04,0x9d,0xf5,0xe0,0x82,
0xe4,0xed,0xc6,0x1b,0x54,0x8f,0xb7,0x46,0xac,0xcd,0xaf,0xaa,0xe3,0xd8,0x4a,
0x8b,0xd9,0xe6,0x87,0x4f,0x8c,0xa6,0x86,0x97,0x75,0x08,0x42,0xf1,0xed,0x3e,
0x70,0x99,0x13,0xf2,0x00,0xf8,0xcc,0xf4,0x55,0x36,0xf5,0x29,0x97,0x47,0x71,
0xb8,0x40,0x8d,0x47,0x03,0xe2,0x66,0x3c,0x00,0x01,0xcc,0xa7,0x39,0xf7,0xf9,
0x76,0xfc,0x14,0x31,0x1f,0x6f,0xf0,0x87,0xe0,0x43,0x8b,0xad,0x98,0xa2,0xe3,
0xfe,0x49,0xa3,0x1e,0x57,0x34,0xe8,0x61,0x97,0x23,0xc8,0x03,0x05,0xa4,0x2f,
0xab,0x49,0x97,0xff,0x3f,0xbf,0x6c,0x08,0x2c,0x6b,0x4d,0x6a,0x54,0x62,0x2e,
0x16,0x83,0xac,0xdd,0x21,0x8f,0xe7,0x71,0x12,0x5f }

Definition at line 2302 of file chain.c.

◆ chain22

CONST_DATA_BLOB chain22[]
static
Initial value:
= {
{ sizeof(chain22_0), chain22_0 },
{ sizeof(chain22_1), chain22_1 },
}
static const BYTE chain22_1[]
Definition: chain.c:2366
static const BYTE chain22_0[]
Definition: chain.c:2333

Definition at line 3804 of file chain.c.

◆ chain22_0

const BYTE chain22_0[]
static

Definition at line 2333 of file chain.c.

◆ chain22_1

const BYTE chain22_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xaa,0x30,0x82,0x01,0x13,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x14,0x30,0x12,0x30,0x10,0x06,0x03,0x55,
0x1d,0x07,0x04,0x09,0x30,0x07,0x82,0x05,0x62,0x2e,0x43,0x4f,0x4d,0x30,0x0d,
0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,
0x81,0x00,0x4b,0x4c,0x2f,0x68,0xd2,0x64,0x82,0x7d,0x95,0x1d,0xd0,0x2b,0xa4,
0xab,0xc3,0x9d,0xd8,0xc1,0x0f,0xaa,0x3e,0xc6,0xa3,0x11,0x9a,0xc6,0x58,0x40,
0x49,0xcc,0x92,0x8e,0xd4,0x0d,0x20,0x81,0x65,0x59,0xca,0x7d,0x54,0xce,0xd4,
0x43,0x95,0xb5,0xc3,0x8c,0x79,0x01,0xc6,0x17,0xf8,0x04,0x13,0xf7,0x7c,0xf7,
0x7f,0xd7,0xc6,0x62,0x2c,0x21,0x0d,0xab,0x79,0x82,0xd7,0x70,0x9f,0x38,0xba,
0x5f,0x2f,0xb4,0xfd,0xe8,0x62,0x40,0xe3,0x69,0xe7,0xc4,0xe5,0x5a,0xc1,0x71,
0xc0,0x9a,0xdc,0xcc,0xa6,0x0e,0x5e,0x84,0x27,0x70,0xc3,0x47,0x98,0x72,0x89,
0xf9,0x7c,0xe4,0x15,0x4b,0x4c,0xec,0x56,0x1b,0xbf,0x6c,0xf1,0xf7,0x5a,0x76,
0x80,0x1f,0x43,0x7c,0xae,0xdb,0xb3,0x49,0xbc,0xcb }

Definition at line 2366 of file chain.c.

◆ chain23

CONST_DATA_BLOB chain23[]
static
Initial value:
= {
{ sizeof(chain23_0), chain23_0 },
{ sizeof(chain23_1), chain23_1 },
}
static const BYTE chain23_0[]
Definition: chain.c:2397
static const BYTE chain23_1[]
Definition: chain.c:2430

Definition at line 3816 of file chain.c.

◆ chain23_0

const BYTE chain23_0[]
static

Definition at line 2397 of file chain.c.

◆ chain23_1

const BYTE chain23_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xac,0x30,0x82,0x01,0x15,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
0x1d,0x07,0x04,0x0b,0x30,0x09,0x82,0x07,0x66,0x6f,0x6f,0x2e,0x63,0x6f,0x6d,
0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,
0x03,0x81,0x81,0x00,0xa5,0xc0,0xf6,0xb1,0x63,0x3a,0x23,0xc5,0xb0,0x07,0xb4,
0x83,0xcf,0x36,0xb4,0xfe,0x3c,0xcb,0xa6,0x6b,0xed,0xf7,0x4c,0x25,0x9f,0x2d,
0x88,0xcd,0x8a,0xe4,0x88,0xe3,0x33,0xbb,0x50,0x54,0xee,0xc9,0xad,0xed,0x8b,
0xec,0x1e,0x64,0x36,0xe8,0xb5,0x51,0xca,0xd3,0xa5,0xb9,0x7a,0x2d,0x4b,0xe7,
0xe8,0xc9,0xa5,0x1d,0x49,0xa1,0x31,0x0f,0x50,0x46,0xb0,0x0f,0xd0,0xf6,0xad,
0x51,0x18,0x93,0x25,0x8f,0x4f,0x57,0x12,0x72,0x1e,0xa7,0x44,0x37,0x9f,0xf2,
0xc0,0x28,0xe8,0xbe,0xb8,0x75,0x42,0xef,0x1d,0x7a,0xca,0x87,0x0c,0x11,0x25,
0xeb,0xab,0xcf,0xe0,0xe1,0x12,0x38,0xf6,0x68,0x31,0xfb,0x16,0xcb,0xef,0x67,
0x8c,0x4b,0x6b,0xfd,0x69,0xba,0x0b,0x69,0xee,0x74,0xe0,0x73 }

Definition at line 2430 of file chain.c.

◆ chain24

CONST_DATA_BLOB chain24[]
static
Initial value:
= {
{ sizeof(chain24_0), chain24_0 },
{ sizeof(chain24_1), chain24_1 },
}
static const BYTE chain24_1[]
Definition: chain.c:2494
static const BYTE chain24_0[]
Definition: chain.c:2461

Definition at line 3828 of file chain.c.

◆ chain24_0

const BYTE chain24_0[]
static

Definition at line 2461 of file chain.c.

◆ chain24_1

const BYTE chain24_1[]
static

Definition at line 2494 of file chain.c.

◆ chain25

CONST_DATA_BLOB chain25[]
static
Initial value:
= {
{ sizeof(chain25_0), chain25_0 },
{ sizeof(chain25_1), chain25_1 },
}
static const BYTE chain25_0[]
Definition: chain.c:2526
static const BYTE chain25_1[]
Definition: chain.c:2559

Definition at line 3840 of file chain.c.

◆ chain25_0

const BYTE chain25_0[]
static

Definition at line 2526 of file chain.c.

◆ chain25_1

const BYTE chain25_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xac,0x30,0x82,0x01,0x15,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
0x1d,0x07,0x04,0x0b,0x30,0x09,0x82,0x07,0x66,0x6f,0x6f,0x2e,0x63,0x6f,0x6d,
0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,
0x03,0x81,0x81,0x00,0xa5,0xc0,0xf6,0xb1,0x63,0x3a,0x23,0xc5,0xb0,0x07,0xb4,
0x83,0xcf,0x36,0xb4,0xfe,0x3c,0xcb,0xa6,0x6b,0xed,0xf7,0x4c,0x25,0x9f,0x2d,
0x88,0xcd,0x8a,0xe4,0x88,0xe3,0x33,0xbb,0x50,0x54,0xee,0xc9,0xad,0xed,0x8b,
0xec,0x1e,0x64,0x36,0xe8,0xb5,0x51,0xca,0xd3,0xa5,0xb9,0x7a,0x2d,0x4b,0xe7,
0xe8,0xc9,0xa5,0x1d,0x49,0xa1,0x31,0x0f,0x50,0x46,0xb0,0x0f,0xd0,0xf6,0xad,
0x51,0x18,0x93,0x25,0x8f,0x4f,0x57,0x12,0x72,0x1e,0xa7,0x44,0x37,0x9f,0xf2,
0xc0,0x28,0xe8,0xbe,0xb8,0x75,0x42,0xef,0x1d,0x7a,0xca,0x87,0x0c,0x11,0x25,
0xeb,0xab,0xcf,0xe0,0xe1,0x12,0x38,0xf6,0x68,0x31,0xfb,0x16,0xcb,0xef,0x67,
0x8c,0x4b,0x6b,0xfd,0x69,0xba,0x0b,0x69,0xee,0x74,0xe0,0x73 }

Definition at line 2559 of file chain.c.

◆ chain26

CONST_DATA_BLOB chain26[]
static
Initial value:
= {
{ sizeof(chain26_0), chain26_0 },
{ sizeof(chain26_1), chain26_1 },
}
static const BYTE chain26_0[]
Definition: chain.c:2590
static const BYTE chain26_1[]
Definition: chain.c:2623

Definition at line 3852 of file chain.c.

◆ chain26_0

const BYTE chain26_0[]
static

Definition at line 2590 of file chain.c.

◆ chain26_1

const BYTE chain26_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xac,0x30,0x82,0x01,0x15,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,
0x30,0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,
0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,
0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,
0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,
0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,
0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,
0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,
0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,
0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,
0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,
0xa3,0x02,0x03,0x01,0x00,0x01,0xa3,0x16,0x30,0x14,0x30,0x12,0x06,0x03,0x55,
0x1d,0x07,0x04,0x0b,0x30,0x09,0x82,0x07,0x62,0x61,0x72,0x2e,0x63,0x6f,0x6d,
0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,
0x03,0x81,0x81,0x00,0x47,0xa6,0x37,0x73,0x4f,0x19,0xf9,0xaf,0xa9,0xb5,0xa8,
0x41,0x99,0x31,0xa5,0xaa,0x0d,0x6c,0xb8,0x9d,0xe6,0xf6,0x59,0x4d,0xd8,0x12,
0x76,0xcc,0x0b,0xaa,0x2f,0x08,0x1c,0x75,0x54,0x5a,0xae,0x09,0x39,0x25,0xfc,
0x44,0xa1,0x00,0x24,0x5c,0xec,0x20,0x04,0xc7,0xe9,0x14,0xb0,0x71,0x4a,0x33,
0x41,0x7f,0x1d,0x47,0xe5,0x7c,0xe4,0x86,0xb1,0xeb,0xa4,0x9d,0x2a,0x89,0xeb,
0x1d,0x15,0xd6,0x42,0x39,0xe4,0x05,0x26,0xbf,0xc2,0x09,0x6c,0x5c,0xd1,0x56,
0xfd,0x18,0x42,0xd3,0xd5,0x7c,0x52,0xa8,0x4a,0x77,0xe8,0xc0,0x53,0x2b,0xa6,
0x01,0xf9,0x90,0x68,0x60,0x3f,0xcb,0xb8,0x24,0x16,0x0b,0x69,0x4b,0xd9,0xf8,
0x2c,0x92,0xed,0x89,0xa5,0xff,0x71,0xc5,0xed,0xe8,0xbc,0x70 }

Definition at line 2623 of file chain.c.

◆ chain27

CONST_DATA_BLOB chain27[]
static
Initial value:
= {
{ sizeof(chain27_0), chain27_0 },
{ sizeof(chain27_1), chain27_1 },
}
static const BYTE chain27_1[]
Definition: chain.c:2689
static const BYTE chain27_0[]
Definition: chain.c:2656

Definition at line 3864 of file chain.c.

◆ chain27_0

const BYTE chain27_0[]
static

Definition at line 2656 of file chain.c.

◆ chain27_1

const BYTE chain27_1[]
static

Definition at line 2689 of file chain.c.

◆ chain28

CONST_DATA_BLOB chain28[]
static
Initial value:
= {
{ sizeof(chain28_0), chain28_0 },
{ sizeof(chain28_1), chain28_1 },
}
static const BYTE chain28_0[]
Definition: chain.c:2722
static const BYTE chain28_1[]
Definition: chain.c:2756

Definition at line 3887 of file chain.c.

◆ chain28_0

const BYTE chain28_0[]
static

Definition at line 2722 of file chain.c.

◆ chain28_1

const BYTE chain28_1[]
static

Definition at line 2756 of file chain.c.

◆ chain29

CONST_DATA_BLOB chain29[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain29_1), chain29_1 },
}
static const BYTE chain29_1[]
Definition: chain.c:2788

Definition at line 3899 of file chain.c.

◆ chain29_1

const BYTE chain29_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xab,0x30,0x82,0x01,0x16,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,0x30,0x30,
0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,0x30,0x30,
0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,
0x13,0x05,0x43,0x65,0x72,0x74,0x32,0x30,0x81,0x9d,0x30,0x0b,0x06,0x09,0x2a,
0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,0x8d,0x00,0x30,0x81,0x89,
0x02,0x81,0x81,0x00,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,0x33,0x0e,0x67,0x5f,
0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,0xdc,0xb6,0x17,0x8e,
0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,0x48,0x9f,0x6e,0xfe,
0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,0x47,0xd1,0x57,0x71,
0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,0x05,0x72,0xa7,0x87,
0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,0x6a,0x80,0x83,0x68,
0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,0x85,0xb5,0x46,0x36,
0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,0xd3,0x51,0x9a,0x22,
0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,0xa3,0x02,0x03,0x01,
0x00,0x01,0xa3,0x1b,0x30,0x19,0x30,0x17,0x06,0x03,0x55,0x1d,0x07,0x04,0x10,
0x30,0x0e,0x82,0x0c,0x2a,0x2e,0x77,0x69,0x6e,0x65,0x68,0x71,0x2e,0x6f,0x72,
0x67,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x03,
0x81,0x81,0x00,0x65,0xbf,0xfa,0xf7,0xc3,0x09,0x70,0x25,0x8a,0x46,0x69,0xf6,
0xdc,0x07,0x1e,0x30,0xc9,0xe4,0x58,0x89,0x65,0x3a,0xa8,0xda,0xbd,0x17,0xf8,
0x1d,0x0d,0x7d,0x47,0xb1,0xb2,0xda,0x17,0x9f,0xf6,0x47,0xe0,0xe4,0x4a,0xeb,
0x02,0xc9,0x2e,0x69,0x1c,0x57,0x2a,0x80,0xc9,0x01,0x77,0x7b,0x27,0xff,0x2f,
0xaf,0xdf,0xf3,0x65,0x12,0xd8,0x7d,0xc2,0xbf,0x1b,0x1d,0x18,0x96,0x5c,0xf6,
0xba,0x43,0xc5,0x43,0x57,0xc0,0xdd,0x97,0x95,0xfb,0x1c,0xad,0x64,0x0f,0x61,
0x3a,0xe9,0x27,0xa4,0x57,0x27,0x34,0xa7,0x42,0xde,0x78,0x1a,0x71,0x80,0x23,
0xd6,0xd7,0x22,0xf0,0x24,0x0d,0x71,0xf1,0x2b,0xd0,0xd8,0x76,0x3d,0xef,0x4c,
0xce,0x1c,0x3b,0x83,0x1b,0x63,0x10,0x6c,0x63,0xe5,0x69 }

Definition at line 2788 of file chain.c.

◆ chain2_0

const BYTE chain2_0[]
static

Definition at line 1356 of file chain.c.

◆ chain3

CONST_DATA_BLOB chain3[]
static
Initial value:
= {
{ sizeof(chain3_0), chain3_0 },
{ sizeof(chain0_1), chain0_1 },
}
static const BYTE chain3_0[]
Definition: chain.c:1391

Definition at line 3569 of file chain.c.

◆ chain30

CONST_DATA_BLOB chain30[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain30_1), chain30_1 },
{ sizeof(chain30_2), chain30_2 },
}
static const BYTE chain30_2[]
Definition: chain.c:2854
static const BYTE chain30_1[]
Definition: chain.c:2822

Definition at line 3903 of file chain.c.

◆ chain30_1

const BYTE chain30_1[]
static

Definition at line 2822 of file chain.c.

◆ chain30_2

const BYTE chain30_2[]
static
Initial value:
= {
0x30,0x82,0x01,0x8d,0x30,0x81,0xf9,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,0x01,
0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x30,0x10,
0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,
0x32,0x30,0x1e,0x17,0x0d,0x30,0x37,0x30,0x39,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,0x33,0x30,0x81,0x9d,0x30,0x0b,0x06,0x09,0x2a,0x86,
0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,0x8d,0x00,0x30,0x81,0x89,0x02,
0x81,0x81,0x00,0xc3,0x31,0x35,0xc3,0x9d,0x8a,0x87,0x20,0xc6,0x32,0xe9,0xb1,
0xf6,0x8f,0xf9,0x05,0x73,0x1d,0xa7,0xde,0xab,0x15,0x8a,0x9c,0x7f,0x11,0x7e,
0x77,0xa0,0x42,0x80,0xf4,0x79,0xda,0x98,0x7b,0x00,0xfa,0x8f,0x0c,0xd0,0xeb,
0x8a,0x80,0xed,0x07,0xfc,0x64,0x71,0x03,0xc1,0xd6,0x2f,0x9b,0xde,0x42,0x63,
0xd9,0x79,0xea,0xdd,0x10,0xe8,0x68,0xc8,0x69,0x4f,0x4a,0x39,0x23,0x87,0xca,
0xd1,0xc9,0x77,0x14,0x30,0x85,0x9e,0xf7,0x79,0xf9,0x07,0xb7,0x7c,0x55,0xcb,
0xa7,0xd5,0xb8,0x44,0xb5,0x20,0xb5,0x01,0x5c,0xa2,0xd1,0xd5,0xad,0x0f,0x87,
0xaf,0x37,0xd1,0x39,0x0c,0x0d,0xd5,0xde,0x26,0x7a,0xed,0xf9,0x2a,0xb1,0x60,
0x65,0x2d,0x08,0x24,0x51,0x1d,0xb0,0x0a,0xb5,0x13,0xc7,0x02,0x03,0x01,0x00,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x03,
0x81,0x81,0x00,0x14,0x75,0x85,0xcc,0x68,0xfe,0x98,0x6f,0xf6,0x67,0x00,0x5b,
0x0c,0xfc,0x36,0x18,0xf4,0x56,0x46,0x7c,0xb9,0xfa,0x6c,0xe6,0x37,0xaf,0x69,
0x37,0x93,0x8c,0x35,0x3a,0x1b,0x58,0x2f,0xe2,0x06,0x39,0x85,0x3f,0x73,0xcf,
0xe1,0x3f,0x27,0x19,0x60,0xc3,0x1b,0xf6,0x69,0x3b,0x8e,0x57,0x7b,0xd8,0xb9,
0xc6,0x9f,0x13,0x72,0x22,0x04,0x8f,0x5c,0x54,0x13,0x8c,0x63,0xe3,0x6b,0x70,
0x98,0xec,0xcc,0xe1,0x93,0xb1,0x4b,0x30,0x4c,0xde,0xe8,0x3c,0x68,0x38,0x44,
0x5e,0xe2,0x2b,0xf5,0xa1,0xee,0x02,0x7e,0x09,0x15,0xff,0xc9,0xf6,0xaf,0xf5,
0xcc,0xeb,0xfc,0xe7,0x3c,0x92,0xdb,0x31,0xab,0x1e,0xb8,0x9e,0xf0,0x5e,0xa3,
0x93,0xfe,0xab,0x26,0x7b,0x01,0xa8,0x98,0x88,0xbb,0xee }

Definition at line 2854 of file chain.c.

◆ chain31

CONST_DATA_BLOB chain31[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain31_1), chain31_1 },
}
static const BYTE chain31_1[]
Definition: chain.c:2885

Definition at line 3918 of file chain.c.

◆ chain31_1

const BYTE chain31_1[]
static
Initial value:
= {
0x30,0x82,0x01,0xa2,0x30,0x82,0x01,0x0d,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,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,0x35,0x30,0x31,0x30,0x30,0x30,
0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,0x30,0x30,
0x30,0x30,0x30,0x5a,0x30,0x24,0x31,0x22,0x30,0x0e,0x06,0x03,0x55,0x04,0x03,
0x13,0x07,0x66,0x6f,0x6f,0x2e,0x63,0x6f,0x6d,0x30,0x10,0x06,0x03,0x55,0x04,
0x03,0x13,0x09,0x2a,0x2e,0x66,0x6f,0x6f,0x2e,0x63,0x6f,0x6d,0x30,0x81,0x9d,
0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x03,0x81,
0x8d,0x00,0x30,0x81,0x89,0x02,0x81,0x81,0x00,0xb8,0x52,0xda,0xc5,0x4b,0x3f,
0xe5,0x33,0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,
0xc6,0xdc,0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,
0xa7,0x48,0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,
0x8b,0x47,0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,
0x6b,0x05,0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,
0xfc,0x6a,0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,
0x85,0x85,0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,
0xb2,0xd3,0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,
0x72,0xa3,0x02,0x03,0x01,0x00,0x01,0x30,0x0b,0x06,0x09,0x2a,0x86,0x48,0x86,
0xf7,0x0d,0x01,0x01,0x05,0x03,0x81,0x81,0x00,0xa0,0x93,0x52,0x87,0x81,0xe2,
0xff,0x2a,0xc7,0xef,0x5f,0x3c,0xbc,0x88,0x99,0xc0,0x47,0x3e,0x13,0xe9,0x87,
0xfa,0x36,0xd7,0xb5,0xe8,0xdf,0x70,0xcc,0x36,0xe4,0x70,0x3c,0xcd,0xa2,0x0b,
0x31,0x6e,0x0a,0xb9,0x00,0xf0,0x4f,0xb6,0xc2,0xce,0xf4,0x33,0x1e,0xc0,0x29,
0xc0,0x73,0x0c,0xcf,0x28,0xa5,0x26,0x9d,0xc2,0xaf,0x85,0x30,0x81,0xbf,0xd1,
0x70,0x3f,0x69,0x15,0xc5,0x41,0x1d,0x8e,0xd4,0xfa,0x02,0xcd,0xba,0xf1,0xf2,
0x67,0xb5,0x45,0x29,0xad,0xe8,0x54,0x9a,0x0f,0x1a,0x8f,0xdf,0x16,0xf4,0xcb,
0x43,0x08,0xe5,0x78,0x2b,0x95,0xf3,0x75,0xb6,0x88,0xf0,0x6b,0x5c,0x5b,0x50,
0x04,0x91,0x3b,0x89,0x5a,0x60,0x1f,0xfc,0x36,0x53,0x32,0x36,0x0a,0x4d,0x03,
0x2c,0xd7 }

Definition at line 2885 of file chain.c.

◆ chain32

CONST_DATA_BLOB chain32[]
static
Initial value:
= {
{ sizeof(chain32_1), chain32_1 },
{ sizeof(chain32_2), chain32_2 },
{ sizeof(chain32_3), chain32_3 },
}
static const BYTE chain32_3[]
Definition: chain.c:3133
static const BYTE chain32_2[]
Definition: chain.c:3020
static const BYTE chain32_1[]
Definition: chain.c:2916

Definition at line 3922 of file chain.c.

◆ chain32_1

const BYTE chain32_1[]
static

Definition at line 2916 of file chain.c.

◆ chain32_2

const BYTE chain32_2[]
static

Definition at line 3020 of file chain.c.

◆ chain32_3

const BYTE chain32_3[]
static

Definition at line 3133 of file chain.c.

◆ chain32BrokenStatus

const CERT_CHAIN_POLICY_STATUS chain32BrokenStatus
static
Initial value:
=
{ 0, CERT_E_UNTRUSTEDROOT, 0, 0, NULL }

Definition at line 4944 of file chain.c.

◆ chain33

CONST_DATA_BLOB chain33[]
static
Initial value:
= {
{ sizeof(chain33_1), chain33_1 },
}
static const BYTE chain33_1[]
Definition: chain.c:3221

Definition at line 3927 of file chain.c.

◆ chain33_1

const BYTE chain33_1[]
static

Definition at line 3221 of file chain.c.

◆ chain3_0

const BYTE chain3_0[]
static
Initial value:
= {
0x30,0x82,0x01,0xad,0x30,0x82,0x01,0x1a,0xa0,0x03,0x02,0x01,0x02,0x02,0x10,
0x63,0x73,0xee,0x45,0x59,0x76,0x1a,0x9e,0x47,0xf1,0xfb,0xf0,0x42,0x44,0x26,
0xeb,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,0x10,0x30,0x0e,0x30,0x0c,0x06,0x03,0x55,0x1d,0x13,0x01,0x01,
0xff,0x04,0x02,0x30,0x00,0x30,0x09,0x06,0x05,0x2b,0x0e,0x03,0x02,0x1d,0x05,
0x00,0x03,0x81,0x81,0x00,0x53,0xb7,0xa9,0x90,0xe0,0x88,0x36,0xc0,0x2d,0xb1,
0xa3,0x97,0xff,0x16,0x62,0x29,0xa2,0xfd,0x92,0x90,0xb7,0x8d,0xd9,0xdf,0x57,
0x94,0x5a,0xce,0x36,0x5c,0x95,0x24,0xab,0x4f,0x63,0x55,0xa7,0xea,0x8b,0xaf,
0xd9,0x41,0x6a,0x2f,0xd8,0x9e,0x1c,0x2d,0xc0,0x11,0x52,0x09,0x4b,0x31,0x1f,
0x5e,0x8f,0x4b,0xbf,0x20,0x73,0x2d,0x04,0x11,0x56,0x6d,0xb1,0xbe,0xb4,0x5d,
0x70,0x6b,0xb2,0xd0,0xd3,0xf5,0x5d,0x60,0x08,0x65,0x2c,0xe3,0x78,0x5a,0x05,
0x36,0xe1,0xf1,0x67,0x3a,0x25,0xf3,0x47,0x83,0xce,0x4f,0xb0,0x74,0x7a,0x35,
0xa0,0x7f,0x70,0x64,0x8a,0x14,0x66,0x03,0xf6,0xae,0xdf,0x1b,0xf5,0x80,0x87,
0x06,0x39,0x76,0x70,0x7b,0xd2,0x83,0xe9,0xce,0x1f,0xf8,0x66,0xc1 }

Definition at line 1391 of file chain.c.

◆ chain4

CONST_DATA_BLOB chain4[]
static
Initial value:
= {
{ sizeof(chain4_0), chain4_0 },
{ sizeof(chain4_1), chain4_1 },
{ sizeof(chain4_2), chain4_2 },
}
static const BYTE chain4_1[]
Definition: chain.c:1456
static const BYTE chain4_0[]
Definition: chain.c:1424
static const BYTE chain4_2[]
Definition: chain.c:1487

Definition at line 3581 of file chain.c.

◆ chain4_0

const BYTE chain4_0[]
static

Definition at line 1424 of file chain.c.

◆ chain4_1

const BYTE chain4_1[]
static

Definition at line 1456 of file chain.c.

◆ chain4_2

const BYTE chain4_2[]
static
Initial value:
= {
0x30,0x82,0x01,0x98,0x30,0x82,0x01,0x01,0xa0,0x03,0x02,0x01,0x02,0x02,0x01,
0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,
0x00,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,
0x65,0x72,0x74,0x32,0x30,0x22,0x18,0x0f,0x31,0x36,0x30,0x31,0x31,0x31,0x32,
0x32,0x31,0x38,0x35,0x32,0x30,0x37,0x5a,0x18,0x0f,0x31,0x36,0x32,0x38,0x30,
0x38,0x32,0x36,0x30,0x35,0x32,0x30,0x35,0x37,0x5a,0x30,0x10,0x31,0x0e,0x30,
0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x33,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,0xc3,0x31,0x35,
0xc3,0x9d,0x8a,0x87,0x20,0xc6,0x32,0xe9,0xb1,0xf6,0x8f,0xf9,0x05,0x73,0x1d,
0xa7,0xde,0xab,0x15,0x8a,0x9c,0x7f,0x11,0x7e,0x77,0xa0,0x42,0x80,0xf4,0x79,
0xda,0x98,0x7b,0x00,0xfa,0x8f,0x0c,0xd0,0xeb,0x8a,0x80,0xed,0x07,0xfc,0x64,
0x71,0x03,0xc1,0xd6,0x2f,0x9b,0xde,0x42,0x63,0xd9,0x79,0xea,0xdd,0x10,0xe8,
0x68,0xc8,0x69,0x4f,0x4a,0x39,0x23,0x87,0xca,0xd1,0xc9,0x77,0x14,0x30,0x85,
0x9e,0xf7,0x79,0xf9,0x07,0xb7,0x7c,0x55,0xcb,0xa7,0xd5,0xb8,0x44,0xb5,0x20,
0xb5,0x01,0x5c,0xa2,0xd1,0xd5,0xad,0x0f,0x87,0xaf,0x37,0xd1,0x39,0x0c,0x0d,
0xd5,0xde,0x26,0x7a,0xed,0xf9,0x2a,0xb1,0x60,0x65,0x2d,0x08,0x24,0x51,0x1d,
0xb0,0x0a,0xb5,0x13,0xc7,0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,
0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0xaa,
0x0e,0x17,0x8d,0x5b,0xca,0x11,0xda,0x5a,0xb5,0xd4,0xe8,0x63,0xce,0xa5,0x67,
0x11,0x2f,0xf8,0xb8,0x9f,0x89,0x46,0x7d,0x20,0x94,0x5f,0x0d,0x02,0x7e,0x5e,
0x8c,0x33,0xfc,0x24,0x56,0x08,0xe6,0xf1,0x4d,0x29,0xd5,0xef,0x03,0xe3,0x9a,
0xc6,0xcd,0x6e,0xe3,0xe6,0x45,0xaa,0xce,0x5a,0x2f,0x37,0x6c,0x07,0xd2,0x28,
0x63,0x8e,0x55,0x8a,0xad,0xe3,0x8a,0x58,0x3d,0x24,0x09,0x1e,0x9a,0x7d,0x5f,
0x05,0xc4,0x51,0x18,0x17,0x46,0x33,0x4d,0x72,0x05,0xc2,0x02,0xb6,0x05,0x22,
0x23,0xcc,0xf9,0x1f,0x87,0x6c,0x4a,0x3d,0x6f,0xdb,0x59,0xf6,0x79,0x81,0x02,
0x45,0x9f,0xc8,0xc3,0xf0,0x90,0x82,0xaf,0x58,0x80,0x18,0xea,0x73,0x50,0x29,
0x71,0x8d,0xc1,0x9e,0x53,0x19,0x5a }

Definition at line 1487 of file chain.c.

◆ chain4BrokenStatus

const CERT_CHAIN_POLICY_STATUS chain4BrokenStatus
static
Initial value:
=
#define TRUST_E_BASIC_CONSTRAINTS
Definition: winerror.h:4592

Definition at line 4898 of file chain.c.

◆ chain5

CONST_DATA_BLOB chain5[]
static
Initial value:
= {
{ sizeof(chain5_0), chain5_0 },
{ sizeof(chain5_1), chain5_1 },
}
static const BYTE chain5_1[]
Definition: chain.c:1553
static const BYTE chain5_0[]
Definition: chain.c:1519

Definition at line 3595 of file chain.c.

◆ chain5_0

const BYTE chain5_0[]
static

Definition at line 1519 of file chain.c.

◆ chain5_1

const BYTE chain5_1[]
static

Definition at line 1553 of file chain.c.

◆ chain6

CONST_DATA_BLOB chain6[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain4_1), chain4_1 },
}

Definition at line 3608 of file chain.c.

◆ chain7

CONST_DATA_BLOB chain7[]
static
Initial value:
= {
{ sizeof(chain0_0), chain0_0 },
{ sizeof(chain7_1), chain7_1 },
}

Definition at line 3620 of file chain.c.

◆ chain7_1

const BYTE chain7_1[]
static
Initial value:
= {
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,
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,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,0x33,
0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,0xdc,
0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,0x48,
0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,0x47,
0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,0x05,
0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,0x6a,
0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,0x85,
0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,0xd3,
0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,0xa3,
0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x9f,0x69,0xfd,0x26,0xd5,0x4b,
0xe0,0xab,0x12,0x21,0xb9,0xfc,0xf7,0xe0,0x0c,0x09,0x94,0xad,0x27,0xd7,0x9d,
0xa3,0xcc,0x46,0x2a,0x25,0x9a,0x24,0xa7,0x31,0x58,0x78,0xf5,0xfc,0x30,0xe1,
0x6d,0xfd,0x59,0xab,0xbe,0x69,0xa0,0xea,0xe3,0x7d,0x7a,0x7b,0xe5,0x85,0xeb,
0x86,0x6a,0x84,0x3c,0x96,0x01,0x1a,0x70,0xa7,0xb8,0xcb,0xf2,0x11,0xe7,0x52,
0x9c,0x58,0x2d,0xac,0x63,0xce,0x72,0x4b,0xad,0x62,0xa8,0x1d,0x75,0x96,0xe2,
0x27,0xf5,0x6f,0xba,0x91,0xf8,0xf1,0xb0,0xbf,0x90,0x24,0x6d,0xba,0x5d,0xd7,
0x39,0x63,0x3b,0x7c,0x04,0x5d,0x89,0x9d,0x1c,0xf2,0xf7,0xcc,0xdf,0x6e,0x8a,
0x43,0xa9,0xdd,0x86,0x05,0xa2,0xf3,0x22,0x2d,0x1e,0x70,0xa1,0x59,0xd7,0xa5,
0x94,0x7d }

Definition at line 1590 of file chain.c.

◆ chain8

CONST_DATA_BLOB chain8[]
static
Initial value:
= {
{ sizeof(chain8_0), chain8_0 },
{ sizeof(chain8_1), chain8_1 },
{ sizeof(chain8_2), chain8_2 },
}
static const BYTE chain8_2[]
Definition: chain.c:1684
static const BYTE chain8_1[]
Definition: chain.c:1655
static const BYTE chain8_0[]
Definition: chain.c:1623

Definition at line 3632 of file chain.c.

◆ chain8_0

const BYTE chain8_0[]
static

Definition at line 1623 of file chain.c.

◆ chain8_1

const BYTE chain8_1[]
static
Initial value:
= {
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,
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,0x35,0x30,0x31,0x30,0x30,
0x30,0x30,0x30,0x30,0x5a,0x17,0x0d,0x30,0x37,0x31,0x30,0x30,0x31,0x30,0x30,
0x30,0x30,0x30,0x30,0x5a,0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,
0x03,0x13,0x05,0x43,0x65,0x72,0x74,0x32,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,0xb8,0x52,0xda,0xc5,0x4b,0x3f,0xe5,0x33,
0x0e,0x67,0x5f,0x48,0x21,0xdc,0x7e,0xef,0x37,0x33,0xba,0xff,0xb4,0xc6,0xdc,
0xb6,0x17,0x8e,0x20,0x55,0x07,0x12,0xd2,0x7b,0x3c,0xce,0x30,0xc5,0xa7,0x48,
0x9f,0x6e,0xfe,0xb8,0xbe,0xdb,0x9f,0x9b,0x17,0x60,0x16,0xde,0xc6,0x8b,0x47,
0xd1,0x57,0x71,0x3c,0x93,0xfc,0xbd,0xec,0x44,0x32,0x3b,0xb9,0xcf,0x6b,0x05,
0x72,0xa7,0x87,0x8e,0x7e,0xd4,0x9a,0x87,0x1c,0x2f,0xb7,0x82,0x40,0xfc,0x6a,
0x80,0x83,0x68,0x28,0xce,0x84,0xf4,0x0b,0x2e,0x44,0xcb,0x53,0xac,0x85,0x85,
0xb5,0x46,0x36,0x98,0x3c,0x10,0x02,0xaa,0x02,0xbc,0x8b,0xa2,0x23,0xb2,0xd3,
0x51,0x9a,0x22,0x4a,0xe3,0xaa,0x4e,0x7c,0xda,0x38,0xcf,0x49,0x98,0x72,0xa3,
0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x22,0xf1,0x66,0x00,0x79,0xd2,
0xe6,0xb2,0xb2,0xf7,0x2f,0x98,0x92,0x7d,0x73,0xc3,0x6c,0x5c,0x77,0x20,0xe3,
0xbf,0x3e,0xe0,0xb3,0x5c,0x68,0xb4,0x9b,0x3a,0x41,0xae,0x94,0xa0,0x80,0x3a,
0xfe,0x5d,0x7a,0x56,0x87,0x85,0x44,0x45,0xcf,0xa6,0xd3,0x10,0xe7,0x73,0x41,
0xf2,0x7f,0x88,0x85,0x91,0x8e,0xe6,0xec,0xe2,0xce,0x08,0xbc,0xa5,0x76,0xe5,
0x4d,0x1d,0xb7,0x70,0x31,0xdd,0xc9,0x9a,0x15,0x32,0x11,0x5a,0x4e,0x62,0xc8,
0xd1,0xf8,0xec,0x46,0x39,0x5b,0xe7,0x67,0x1f,0x58,0xe8,0xa1,0xa0,0x5b,0xf7,
0x8a,0x6d,0x5f,0x91,0x18,0xd4,0x90,0x85,0xff,0x30,0xc7,0xca,0x9c,0xc6,0x92,
0xb0,0xca,0x16,0xc4,0xa4,0xc0,0xd6,0xe8,0xff,0x15,0x19,0xd1,0x30,0x61,0xf3,
0xef,0x9f }

Definition at line 1655 of file chain.c.

◆ chain8_2

const BYTE chain8_2[]
static
Initial value:
= {
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,
0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,
0x72,0x74,0x32,0x30,0x1e,0x17,0x0d,0x30,0x37,0x30,0x39,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,0x33,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,0xc3,0x31,0x35,0xc3,0x9d,0x8a,0x87,0x20,
0xc6,0x32,0xe9,0xb1,0xf6,0x8f,0xf9,0x05,0x73,0x1d,0xa7,0xde,0xab,0x15,0x8a,
0x9c,0x7f,0x11,0x7e,0x77,0xa0,0x42,0x80,0xf4,0x79,0xda,0x98,0x7b,0x00,0xfa,
0x8f,0x0c,0xd0,0xeb,0x8a,0x80,0xed,0x07,0xfc,0x64,0x71,0x03,0xc1,0xd6,0x2f,
0x9b,0xde,0x42,0x63,0xd9,0x79,0xea,0xdd,0x10,0xe8,0x68,0xc8,0x69,0x4f,0x4a,
0x39,0x23,0x87,0xca,0xd1,0xc9,0x77,0x14,0x30,0x85,0x9e,0xf7,0x79,0xf9,0x07,
0xb7,0x7c,0x55,0xcb,0xa7,0xd5,0xb8,0x44,0xb5,0x20,0xb5,0x01,0x5c,0xa2,0xd1,
0xd5,0xad,0x0f,0x87,0xaf,0x37,0xd1,0x39,0x0c,0x0d,0xd5,0xde,0x26,0x7a,0xed,
0xf9,0x2a,0xb1,0x60,0x65,0x2d,0x08,0x24,0x51,0x1d,0xb0,0x0a,0xb5,0x13,0xc7,
0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x33,0x95,0x73,0x7c,0x7c,0xb0,
0xbb,0x2b,0xe0,0xc4,0x12,0xf0,0x26,0x85,0x97,0x0c,0x81,0xde,0xc5,0x52,0x04,
0xcb,0xee,0x11,0x9a,0x2e,0xa2,0xc4,0x76,0xd5,0x57,0xd1,0x2f,0x2d,0x6f,0x42,
0xbf,0x23,0x85,0x59,0x5c,0x96,0x8d,0xef,0xbc,0xb6,0xf5,0xd3,0x66,0x99,0x54,
0x95,0x09,0x28,0x0b,0x4f,0x05,0x5f,0x61,0x20,0xa8,0x0d,0x46,0x9a,0xab,0x29,
0x97,0x6b,0xa3,0xcd,0xd7,0x5a,0xda,0xaa,0x8e,0xad,0x5a,0x66,0x58,0xf6,0x63,
0x76,0x10,0xdc,0xb0,0xee,0x3f,0x82,0x6d,0x29,0xb9,0xcb,0x99,0x15,0xbb,0xb9,
0x74,0x73,0x00,0x14,0x74,0x79,0xad,0x89,0x73,0xaa,0xa2,0x0e,0x52,0xe8,0x28,
0x69,0xe6,0x8c,0x1e,0xce,0x3a,0x6d,0x85,0x33,0x1e,0x21,0xa3,0x42,0x61,0x3a,
0xeb,0x25 }

Definition at line 1684 of file chain.c.

◆ chain9

CONST_DATA_BLOB chain9[]
static
Initial value:
= {
{ sizeof(chain9_0), chain9_0 },
{ sizeof(chain7_1), chain7_1 },
}
static const BYTE chain9_0[]
Definition: chain.c:1716

Definition at line 3646 of file chain.c.

◆ chain9_0

const BYTE chain9_0[]
static
Initial value:
= {
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,
0x30,0x10,0x31,0x0e,0x30,0x0c,0x06,0x03,0x55,0x04,0x03,0x13,0x05,0x43,0x65,
0x72,0x74,0x32,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,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,
0x01,0x01,0x05,0x05,0x00,0x03,0x81,0x81,0x00,0x2c,0xf5,0x25,0xaa,0xb4,0x63,
0x5a,0x5d,0xae,0x7b,0x42,0x79,0xbc,0x41,0x2f,0x8a,0x2a,0x70,0x9f,0x8e,0xb2,
0x14,0x1b,0x6f,0xb2,0xf3,0x3e,0xab,0x06,0x9c,0xa8,0x92,0x43,0xc4,0x57,0x63,
0xa4,0xee,0x83,0x04,0xab,0xa5,0x2c,0xd9,0x90,0xed,0xc9,0x4d,0xa8,0x7b,0xca,
0x3b,0x5f,0xdf,0x46,0xe1,0x3b,0x7f,0x72,0xb7,0x92,0x82,0xe6,0x05,0xc3,0x64,
0x38,0xfb,0x86,0x13,0xeb,0x19,0xb6,0x16,0x82,0x63,0x84,0x13,0x04,0x38,0x51,
0x4c,0x89,0x12,0xf1,0x13,0x46,0x75,0x4e,0x99,0x46,0xcb,0xc6,0x76,0x9f,0x97,
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 }

Definition at line 1716 of file chain.c.

◆ chainCheck

ChainCheck chainCheck[]
static

Definition at line 4018 of file chain.c.

Referenced by testGetCertChain().

◆ chainCheckEmbeddedNull

ChainCheck chainCheckEmbeddedNull
static
Initial value:
= {
0 }
static CONST_DATA_BLOB chain27[]
Definition: chain.c:3864
static const SimpleChainStatusCheck simpleStatus27[]
Definition: chain.c:3874
#define CERT_TRUST_INVALID_EXTENSION
Definition: wincrypt.h:990
#define CERT_TRUST_IS_NOT_TIME_NESTED
Definition: wincrypt.h:983
#define CERT_TRUST_INVALID_NAME_CONSTRAINTS
Definition: wincrypt.h:993

Definition at line 4301 of file chain.c.

Referenced by testGetCertChain().

◆ chainCheckEmbeddedNullBroken

ChainCheck chainCheckEmbeddedNullBroken
static

◆ chainCheckNoStore

ChainCheck chainCheckNoStore[]
static
Initial value:
= {
0 },
0 },
}
static const SimpleChainStatusCheck selfSignedSimpleStatus[]
Definition: chain.c:3937
static CONST_DATA_BLOB selfSignedChain[]
Definition: chain.c:3930
static CONST_DATA_BLOB chain8[]
Definition: chain.c:3632
static const SimpleChainStatusCheck simpleStatus8NoStore[]
Definition: chain.c:4264
#define CERT_TRUST_IS_PARTIAL_CHAIN
Definition: wincrypt.h:1003
#define CERT_TRUST_IS_NOT_TIME_VALID
Definition: wincrypt.h:982

Definition at line 4268 of file chain.c.

Referenced by testGetCertChain().

◆ cs_stanford_edu

const BYTE cs_stanford_edu[]
static

Definition at line 1163 of file chain.c.

◆ elementStatus0

const CERT_TRUST_STATUS elementStatus0[]
static
Initial value:

Definition at line 3536 of file chain.c.

◆ elementStatus1

◆ elementStatus10

◆ elementStatus12

◆ elementStatus13

◆ elementStatus14

◆ elementStatus15

◆ elementStatus16

◆ elementStatus17

◆ elementStatus18

◆ elementStatus19

◆ elementStatus2

◆ elementStatus20

◆ elementStatus21

◆ elementStatus22

◆ elementStatus23

◆ elementStatus24

◆ elementStatus25

◆ elementStatus26

◆ elementStatus27

◆ elementStatus27Broken

◆ elementStatus28

◆ elementStatus3

◆ elementStatus30

◆ elementStatus4

◆ elementStatus5

◆ elementStatus6

◆ elementStatus7

◆ elementStatus8

◆ elementStatus8NoStore

const CERT_TRUST_STATUS elementStatus8NoStore[]
static
Initial value:

Definition at line 4261 of file chain.c.

◆ elementStatus9

◆ fooPolicyCheckWithMatchingName

const ChainPolicyCheck fooPolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}
static CONST_DATA_BLOB chain31[]
Definition: chain.c:3918

Definition at line 4841 of file chain.c.

Referenced by check_ssl_policy().

◆ fooPolicyCheckWithoutMatchingName

const ChainPolicyCheck fooPolicyCheckWithoutMatchingName
static
Initial value:
= {
{ 0, CERT_E_CN_NO_MATCH, 0, 0, NULL}, NULL, 0
}
#define CERT_E_CN_NO_MATCH
Definition: winerror.h:4645

Definition at line 4846 of file chain.c.

Referenced by check_ssl_policy().

◆ geotrust_global_ca

const BYTE geotrust_global_ca[]
static

Definition at line 134 of file chain.c.

Referenced by testGetCertChain().

◆ global_sign_ca

const BYTE global_sign_ca[]
static

Definition at line 811 of file chain.c.

◆ global_sign_root

const BYTE global_sign_root[]
static

Definition at line 737 of file chain.c.

◆ google_com

const BYTE google_com[]
static

Definition at line 266 of file chain.c.

Referenced by testGetCertChain().

◆ google_internet_authority

const BYTE google_internet_authority[]
static

Definition at line 195 of file chain.c.

Referenced by testGetCertChain().

◆ googleChain

CONST_DATA_BLOB googleChain[]
static
Initial value:

Definition at line 3941 of file chain.c.

◆ googleElementStatus

◆ googlePolicyCheckWithMatchingName

const ChainPolicyCheck googlePolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}
static CONST_DATA_BLOB googleChain[]
Definition: chain.c:3941

Definition at line 4792 of file chain.c.

Referenced by check_ssl_policy().

◆ googlePolicyCheckWithMatchingNameExpired

const ChainPolicyCheck googlePolicyCheckWithMatchingNameExpired
static
Initial value:
= {
{ 0, CERT_E_EXPIRED, 0, 0, NULL}, NULL, 0
}
#define CERT_E_EXPIRED
Definition: winerror.h:4631

Definition at line 4787 of file chain.c.

Referenced by check_ssl_policy().

◆ googleSimpleStatus

const SimpleChainStatusCheck googleSimpleStatus[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS googleElementStatus[]
Definition: chain.c:3949

Definition at line 3956 of file chain.c.

◆ ignoredBadDateNestingBasePolicyCheck

const ChainPolicyCheck ignoredBadDateNestingBasePolicyCheck
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}
static CONST_DATA_BLOB chain2[]
Definition: chain.c:3557

Definition at line 4719 of file chain.c.

Referenced by check_base_policy().

◆ ignoredInvalidDateBasePolicyCheck

const ChainPolicyCheck ignoredInvalidDateBasePolicyCheck
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}

Definition at line 4724 of file chain.c.

Referenced by check_authenticode_policy(), and check_base_policy().

◆ ignoredInvalidUsageBasePolicyCheck

const ChainPolicyCheck ignoredInvalidUsageBasePolicyCheck
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}
static CONST_DATA_BLOB chain15[]
Definition: chain.c:3713

Definition at line 4729 of file chain.c.

Referenced by check_base_policy().

◆ ignoredUnknownCAPolicyCheck

const ChainPolicyCheck ignoredUnknownCAPolicyCheck
static
Initial value:
= {
{ 0, CERT_E_EXPIRED, 0, 0, NULL }, NULL, 0
}
static CONST_DATA_BLOB chain0[]
Definition: chain.c:3532

Definition at line 4782 of file chain.c.

Referenced by check_authenticode_policy(), check_base_policy(), and check_ssl_policy().

◆ incommon_rsa_ca

const BYTE incommon_rsa_ca[]
static

Definition at line 1065 of file chain.c.

◆ incompleteOpensslChain

CONST_DATA_BLOB incompleteOpensslChain[]
static
Initial value:
= {
{ sizeof(openssl_org), openssl_org },
}
static const BYTE global_sign_ca[]
Definition: chain.c:811
static const BYTE openssl_org[]
Definition: chain.c:885

Definition at line 3986 of file chain.c.

◆ incompleteOpensslChainCheck

ChainCheck incompleteOpensslChainCheck
static
Initial value:
=
static CONST_DATA_BLOB incompleteOpensslChain[]
Definition: chain.c:3986
static const SimpleChainStatusCheck incompleteOpensslSimpleStatus[]
Definition: chain.c:3994

Definition at line 4288 of file chain.c.

Referenced by testGetCertChain().

◆ incompleteOpensslElementStatus

const CERT_TRUST_STATUS incompleteOpensslElementStatus[]
static

◆ incompleteOpensslSimpleStatus

const SimpleChainStatusCheck incompleteOpensslSimpleStatus[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS incompleteOpensslElementStatus[]
Definition: chain.c:3990

Definition at line 3994 of file chain.c.

◆ invalidExtensionPolicyCheck

const ChainPolicyCheck invalidExtensionPolicyCheck
static
Initial value:
= {
}
static const CERT_CHAIN_POLICY_STATUS badDateNestingStatus
Definition: chain.c:4716
static CONST_DATA_BLOB chain30[]
Definition: chain.c:3903
#define CERT_E_CRITICAL
Definition: winerror.h:4635

Definition at line 4836 of file chain.c.

Referenced by check_base_policy(), and check_ssl_policy().

◆ invalidUsageBasePolicyCheck

const ChainPolicyCheck invalidUsageBasePolicyCheck
static
Initial value:
= {
{ 0, CERT_E_WRONG_USAGE, 0, 1, NULL}, NULL, 0
}
#define CERT_E_WRONG_USAGE
Definition: winerror.h:4646

Definition at line 4734 of file chain.c.

Referenced by check_base_policy().

◆ jun2013

SYSTEMTIME jun2013 = { 2013, 6, 5, 6, 0, 0, 0, 0 }
static

Definition at line 3516 of file chain.c.

Referenced by testGetCertChain().

◆ may2020

SYSTEMTIME may2020 = { 2020, 5, 4, 14, 0, 0, 0, 0 }
static

Definition at line 3522 of file chain.c.

Referenced by check_msroot_policy().

◆ msRootPolicyCheck

const ChainPolicyCheck msRootPolicyCheck[]
static
Initial value:
= {
{ 0, CERT_E_UNTRUSTEDROOT, 0, 0, NULL }, NULL, 0 },
{ 0, 0, 0, 0, NULL }, &chain32BrokenStatus, 0 },
{ 0, CERT_E_UNTRUSTEDROOT, 0, 0, NULL }, NULL, 0 },
}
static CONST_DATA_BLOB chain32[]
Definition: chain.c:3922
static const CERT_CHAIN_POLICY_STATUS chain32BrokenStatus
Definition: chain.c:4944
static CONST_DATA_BLOB chain33[]
Definition: chain.c:3927

Definition at line 4947 of file chain.c.

Referenced by check_msroot_policy().

◆ msRootPolicyCheck_approot

const ChainPolicyCheck msRootPolicyCheck_approot[]
static
Initial value:
= {
{ 0, 0, 0, 0, NULL }, NULL, 0 },
}

Definition at line 4958 of file chain.c.

Referenced by check_msroot_policy().

◆ nov2016

SYSTEMTIME nov2016 = { 2016, 11, 3, 17, 0, 0, 0, 0 }
static

Definition at line 3520 of file chain.c.

Referenced by check_ssl_policy().

◆ nullTerminatedDomainComponentPolicyCheck

const ChainPolicyCheck nullTerminatedDomainComponentPolicyCheck
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, &untrustedRootStatus, 0
}
static const CERT_CHAIN_POLICY_STATUS untrustedRootStatus
Definition: chain.c:4798
static CONST_DATA_BLOB battlenetChain[]
Definition: chain.c:3960

Definition at line 4831 of file chain.c.

Referenced by check_ssl_policy().

◆ oct2007

SYSTEMTIME oct2007 = { 2007, 10, 1, 1, 0, 0, 0, 0 }
static

◆ oct2009

SYSTEMTIME oct2009 = { 2009, 10, 3, 28, 0, 0, 0, 0 }
static

Definition at line 3512 of file chain.c.

Referenced by check_ssl_policy(), and testGetCertChain().

◆ oct2010

SYSTEMTIME oct2010 = { 2010, 10, 3, 28, 0, 0, 0, 0 }
static

Definition at line 3514 of file chain.c.

Referenced by check_ssl_policy().

◆ oct2016

SYSTEMTIME oct2016 = { 2016, 10, 6, 1, 0, 0, 0, 0 }
static

Definition at line 3518 of file chain.c.

◆ openssl_org

const BYTE openssl_org[]
static

Definition at line 885 of file chain.c.

◆ opensslChain

CONST_DATA_BLOB opensslChain[]
static
Initial value:
= {
{ sizeof(openssl_org), openssl_org },
}
static const BYTE global_sign_root[]
Definition: chain.c:737

Definition at line 3968 of file chain.c.

◆ opensslChainCheck

ChainCheck opensslChainCheck
static
Initial value:
=
static CONST_DATA_BLOB opensslChain[]
Definition: chain.c:3968
static const SimpleChainStatusCheck opensslSimpleStatus[]
Definition: chain.c:3979

Definition at line 4283 of file chain.c.

Referenced by testGetCertChain().

◆ opensslElementStatus

◆ opensslPolicyCheckWithMatchingName

const ChainPolicyCheck opensslPolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, &untrustedRootStatus, 0
}

Definition at line 4801 of file chain.c.

Referenced by check_ssl_policy().

◆ opensslPolicyCheckWithoutMatchingName

const ChainPolicyCheck opensslPolicyCheckWithoutMatchingName
static
Initial value:

Definition at line 4806 of file chain.c.

Referenced by check_ssl_policy().

◆ opensslSimpleStatus

const SimpleChainStatusCheck opensslSimpleStatus[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS opensslElementStatus[]
Definition: chain.c:3973

Definition at line 3979 of file chain.c.

◆ selfSignedCert

const BYTE selfSignedCert[]
static
Initial value:
= {
0x30, 0x82, 0x01, 0x1f, 0x30, 0x81, 0xce, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02,
0x10, 0xeb, 0x0d, 0x57, 0x2a, 0x9c, 0x09, 0xba, 0xa4, 0x4a, 0xb7, 0x25, 0x49,
0xd9, 0x3e, 0xb5, 0x73, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1d,
0x05, 0x00, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03,
0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x00, 0x30,
0x1e, 0x17, 0x0d, 0x30, 0x36, 0x30, 0x36, 0x32, 0x39, 0x30, 0x35, 0x30, 0x30,
0x34, 0x36, 0x5a, 0x17, 0x0d, 0x30, 0x37, 0x30, 0x36, 0x32, 0x39, 0x31, 0x31,
0x30, 0x30, 0x34, 0x36, 0x5a, 0x30, 0x15, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
0x55, 0x04, 0x03, 0x13, 0x0a, 0x4a, 0x75, 0x61, 0x6e, 0x20, 0x4c, 0x61, 0x6e,
0x67, 0x00, 0x30, 0x5c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x4b, 0x00, 0x30, 0x48, 0x02, 0x41,
0x00, 0xe2, 0x54, 0x3a, 0xa7, 0x83, 0xb1, 0x27, 0x14, 0x3e, 0x59, 0xbb, 0xb4,
0x53, 0xe6, 0x1f, 0xe7, 0x5d, 0xf1, 0x21, 0x68, 0xad, 0x85, 0x53, 0xdb, 0x6b,
0x1e, 0xeb, 0x65, 0x97, 0x03, 0x86, 0x60, 0xde, 0xf3, 0x6c, 0x38, 0x75, 0xe0,
0x4c, 0x61, 0xbb, 0xbc, 0x62, 0x17, 0xa9, 0xcd, 0x79, 0x3f, 0x21, 0x4e, 0x96,
0xcb, 0x0e, 0xdc, 0x61, 0x94, 0x30, 0x18, 0x10, 0x6b, 0xd0, 0x1c, 0x10, 0x79,
0x02, 0x03, 0x01, 0x00, 0x01, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
0x1d, 0x05, 0x00, 0x03, 0x41, 0x00, 0x25, 0x90, 0x53, 0x34, 0xd9, 0x56, 0x41,
0x5e, 0xdb, 0x7e, 0x01, 0x36, 0xec, 0x27, 0x61, 0x5e, 0xb7, 0x4d, 0x90, 0x66,
0xa2, 0xe1, 0x9d, 0x58, 0x76, 0xd4, 0x9c, 0xba, 0x2c, 0x84, 0xc6, 0x83, 0x7a,
0x22, 0x0d, 0x03, 0x69, 0x32, 0x1a, 0x6d, 0xcb, 0x0c, 0x15, 0xb3, 0x6b, 0xc7,
0x0a, 0x8c, 0xb4, 0x5c, 0x34, 0x78, 0xe0, 0x3c, 0x9c, 0xe9, 0xf3, 0x30, 0x9f,
0xa8, 0x76, 0x57, 0x92, 0x36 }

Definition at line 32 of file chain.c.

Referenced by testCreateCertChainEngine(), and testVerifyCertChainPolicy().

◆ selfSignedChain

CONST_DATA_BLOB selfSignedChain[]
static
Initial value:
= {
}

Definition at line 3930 of file chain.c.

◆ selfSignedElementStatus

const CERT_TRUST_STATUS selfSignedElementStatus[]
static

◆ selfSignedSimpleStatus

const SimpleChainStatusCheck selfSignedSimpleStatus[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS selfSignedElementStatus[]
Definition: chain.c:3933

Definition at line 3937 of file chain.c.

◆ simpleStatus0

const SimpleChainStatusCheck simpleStatus0[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus0[]
Definition: chain.c:3536

Definition at line 3541 of file chain.c.

◆ simpleStatus1

const SimpleChainStatusCheck simpleStatus1[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus1[]
Definition: chain.c:3548

Definition at line 3554 of file chain.c.

◆ simpleStatus10

const SimpleChainStatusCheck simpleStatus10[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus10[]
Definition: chain.c:3664

Definition at line 3669 of file chain.c.

◆ simpleStatus12

const SimpleChainStatusCheck simpleStatus12[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus12[]
Definition: chain.c:3681

Definition at line 3686 of file chain.c.

◆ simpleStatus13

const SimpleChainStatusCheck simpleStatus13[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus13[]
Definition: chain.c:3693

Definition at line 3698 of file chain.c.

◆ simpleStatus14

const SimpleChainStatusCheck simpleStatus14[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus14[]
Definition: chain.c:3705

Definition at line 3710 of file chain.c.

◆ simpleStatus15

const SimpleChainStatusCheck simpleStatus15[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus15[]
Definition: chain.c:3717

Definition at line 3722 of file chain.c.

◆ simpleStatus16

const SimpleChainStatusCheck simpleStatus16[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus16[]
Definition: chain.c:3729

Definition at line 3735 of file chain.c.

◆ simpleStatus17

const SimpleChainStatusCheck simpleStatus17[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus17[]
Definition: chain.c:3743

Definition at line 3749 of file chain.c.

◆ simpleStatus18

const SimpleChainStatusCheck simpleStatus18[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus18[]
Definition: chain.c:3757

Definition at line 3763 of file chain.c.

◆ simpleStatus19

const SimpleChainStatusCheck simpleStatus19[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus19[]
Definition: chain.c:3770

Definition at line 3776 of file chain.c.

◆ simpleStatus2

const SimpleChainStatusCheck simpleStatus2[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus2[]
Definition: chain.c:3561

Definition at line 3566 of file chain.c.

◆ simpleStatus20

const SimpleChainStatusCheck simpleStatus20[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus20[]
Definition: chain.c:3783

Definition at line 3788 of file chain.c.

◆ simpleStatus21

const SimpleChainStatusCheck simpleStatus21[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus21[]
Definition: chain.c:3795

Definition at line 3801 of file chain.c.

◆ simpleStatus22

const SimpleChainStatusCheck simpleStatus22[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus22[]
Definition: chain.c:3808

Definition at line 3813 of file chain.c.

◆ simpleStatus23

const SimpleChainStatusCheck simpleStatus23[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus23[]
Definition: chain.c:3820

Definition at line 3825 of file chain.c.

◆ simpleStatus24

const SimpleChainStatusCheck simpleStatus24[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus24[]
Definition: chain.c:3832

Definition at line 3837 of file chain.c.

◆ simpleStatus25

const SimpleChainStatusCheck simpleStatus25[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus25[]
Definition: chain.c:3844

Definition at line 3849 of file chain.c.

◆ simpleStatus26

const SimpleChainStatusCheck simpleStatus26[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus26[]
Definition: chain.c:3856

Definition at line 3861 of file chain.c.

◆ simpleStatus27

const SimpleChainStatusCheck simpleStatus27[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus27[]
Definition: chain.c:3868

Definition at line 3874 of file chain.c.

◆ simpleStatus27Broken

const SimpleChainStatusCheck simpleStatus27Broken[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus27Broken[]
Definition: chain.c:3877

Definition at line 3883 of file chain.c.

◆ simpleStatus28

const SimpleChainStatusCheck simpleStatus28[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus28[]
Definition: chain.c:3891

Definition at line 3896 of file chain.c.

◆ simpleStatus3

const SimpleChainStatusCheck simpleStatus3[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus3[]
Definition: chain.c:3573

Definition at line 3578 of file chain.c.

◆ simpleStatus30

const SimpleChainStatusCheck simpleStatus30[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus30[]
Definition: chain.c:3908

Definition at line 3915 of file chain.c.

◆ simpleStatus4

const SimpleChainStatusCheck simpleStatus4[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus4[]
Definition: chain.c:3586

Definition at line 3592 of file chain.c.

◆ simpleStatus5

const SimpleChainStatusCheck simpleStatus5[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus5[]
Definition: chain.c:3599

Definition at line 3605 of file chain.c.

◆ simpleStatus6

const SimpleChainStatusCheck simpleStatus6[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus6[]
Definition: chain.c:3612

Definition at line 3617 of file chain.c.

◆ simpleStatus7

const SimpleChainStatusCheck simpleStatus7[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus7[]
Definition: chain.c:3624

Definition at line 3629 of file chain.c.

◆ simpleStatus8

const SimpleChainStatusCheck simpleStatus8[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus8[]
Definition: chain.c:3637

Definition at line 3643 of file chain.c.

◆ simpleStatus8NoStore

const SimpleChainStatusCheck simpleStatus8NoStore[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus8NoStore[]
Definition: chain.c:4261

Definition at line 4264 of file chain.c.

◆ simpleStatus9

const SimpleChainStatusCheck simpleStatus9[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS elementStatus9[]
Definition: chain.c:3650

Definition at line 3656 of file chain.c.

◆ sslPolicyCheck

const ChainPolicyCheck sslPolicyCheck[]
static

Definition at line 4739 of file chain.c.

Referenced by check_ssl_policy().

◆ stanfordChain

CONST_DATA_BLOB stanfordChain[]
static
Initial value:
= {
{ sizeof(usertrust_ca), usertrust_ca },
}
static const BYTE usertrust_ca[]
Definition: chain.c:968
static const BYTE incommon_rsa_ca[]
Definition: chain.c:1065
static const BYTE cs_stanford_edu[]
Definition: chain.c:1163

Definition at line 4003 of file chain.c.

◆ stanfordElementStatus

◆ stanfordPolicyCheckWithMatchingName

const ChainPolicyCheck stanfordPolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, &untrustedRootStatus, 0
}
static CONST_DATA_BLOB stanfordChain[]
Definition: chain.c:4003

Definition at line 4821 of file chain.c.

Referenced by check_ssl_policy().

◆ stanfordPolicyCheckWithoutMatchingName

const ChainPolicyCheck stanfordPolicyCheckWithoutMatchingName
static
Initial value:

Definition at line 4826 of file chain.c.

Referenced by check_ssl_policy().

◆ stanfordSimpleStatus

const SimpleChainStatusCheck stanfordSimpleStatus[]
static
Initial value:
= {
}
static const CERT_TRUST_STATUS stanfordElementStatus[]
Definition: chain.c:4008

Definition at line 4014 of file chain.c.

◆ thawte_primary_ca

const BYTE thawte_primary_ca[]
static

Definition at line 585 of file chain.c.

◆ thawte_ssl_ca

const BYTE thawte_ssl_ca[]
static

Definition at line 657 of file chain.c.

◆ untrustedRootStatus

const CERT_CHAIN_POLICY_STATUS untrustedRootStatus
static
Initial value:
=
{ 0, CERT_E_UNTRUSTEDROOT, 0, 0, NULL }

Definition at line 4798 of file chain.c.

◆ usertrust_ca

const BYTE usertrust_ca[]
static

Definition at line 968 of file chain.c.

◆ winehq_org

const BYTE winehq_org[]
static

Definition at line 392 of file chain.c.

Referenced by testGetCertChain().

◆ winehqPolicyCheckWithMatchingName

const ChainPolicyCheck winehqPolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, NULL, 0
}
static CONST_DATA_BLOB chain29[]
Definition: chain.c:3899

Definition at line 4811 of file chain.c.

Referenced by check_ssl_policy().

◆ winehqPolicyCheckWithoutMatchingName

const ChainPolicyCheck winehqPolicyCheckWithoutMatchingName
static
Initial value:
= {
{ 0, CERT_E_CN_NO_MATCH, 0, 0, NULL}, NULL, 0
}

Definition at line 4816 of file chain.c.

Referenced by check_ssl_policy().