ReactOS 0.4.15-dev-8145-ga541a46
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 BOOL (WINAPI *pCertCreateCertificateChainEngine)(PCERT_CHAIN_ENGINE_CONFIG
 
static HCERTCHAINENGINE *static PCCERT_CHAIN_CONTEXT *static VOID (WINAPI *pCertFreeCertificateChain)(PCCERT_CHAIN_CONTEXT)
 
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 testVerifyCertChainPolicy (void)
 
 START_TEST (chain)
 

Variables

static const BYTE selfSignedCert []
 
static HCERTCHAINENGINE *static PCCERT_CONTEXT
 
static HCERTCHAINENGINE *static LPFILETIME
 
static HCERTCHAINENGINE *static HCERTSTORE
 
static HCERTCHAINENGINE *static PCERT_CHAIN_PARA
 
static HCERTCHAINENGINE *static DWORD
 
static HCERTCHAINENGINE *static LPVOID
 
static PCCERT_CHAIN_CONTEXT
 
static PCERT_CHAIN_POLICY_PARA
 
static PCERT_CHAIN_POLICY_STATUS
 
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 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 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 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 CERT_CHAIN_POLICY_STATUS expiredStatus
 
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 []
 

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))
WDF_INTERRUPT_POLICY policy
__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:4512

Definition at line 4595 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:33
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 4587 of file chain.c.

◆ IS_INTOID

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

Definition at line 63 of file chain.c.

◆ test_name_blob

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

Definition at line 3877 of file chain.c.

◆ TODO_CHAIN

#define TODO_CHAIN   1

Definition at line 2905 of file chain.c.

◆ TODO_CHAINS

#define TODO_CHAINS   16

Definition at line 2909 of file chain.c.

◆ TODO_ELEMENTS

#define TODO_ELEMENTS   8

Definition at line 2908 of file chain.c.

◆ TODO_ERROR

#define TODO_ERROR   2

Definition at line 2906 of file chain.c.

◆ TODO_INFO

#define TODO_INFO   4

Definition at line 2907 of file chain.c.

◆ TODO_POLICY

#define TODO_POLICY   32

Definition at line 2910 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 3878 of file chain.c.

3879{
3880 char buf[1024];
3881
3883 ok_(__FILE__,line)(!strcmp(buf, exdata), "got string %s, expected %s\n", buf, exdata);
3884}
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:3484
#define CRYPT_ASN_ENCODING
Definition: wincrypt.h:2295

◆ BOOL()

static BOOL ( WINAPI pCertCreateCertificateChainEngine)
static

◆ check_authenticode_policy()

static void check_authenticode_policy ( void  )
static

Definition at line 4637 of file chain.c.

4638{
4639 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
4640 SYSTEMTIME epochStart = { 0 };
4641
4642 /* The authenticode policy doesn't seem to check anything beyond the base
4643 * policy. It might check for chains signed by the MS test cert, but none
4644 * of these chains is.
4645 */
4648 policyPara.cbSize = sizeof(policyPara);
4651 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
4652 epochStart.wDay = epochStart.wMonth = 1;
4653 epochStart.wYear = 1601;
4655 ignoredUnknownCAPolicyCheck, &epochStart, &policyPara);
4659}
#define NULL
Definition: types.h:112
static SYSTEMTIME oct2007
Definition: chain.c:3078
static const ChainPolicyCheck ignoredUnknownCAPolicyCheck
Definition: chain.c:4338
static const ChainPolicyCheck authenticodePolicyCheck[]
Definition: chain.c:4411
static const ChainPolicyCheck ignoredInvalidDateBasePolicyCheck
Definition: chain.c:4280
#define CHECK_CHAIN_POLICY_STATUS_ARRAY(policy, engine, array, date, para)
Definition: chain.c:4587
#define CHECK_CHAIN_POLICY_STATUS(policy, engine, policyCheck, date, para)
Definition: chain.c:4595
WORD wYear
Definition: winbase.h:905
WORD wMonth
Definition: winbase.h:906
WORD wDay
Definition: winbase.h:908
#define CERT_CHAIN_POLICY_AUTHENTICODE
Definition: wincrypt.h:963
#define CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG
Definition: wincrypt.h:980
#define CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG
Definition: wincrypt.h:970

Referenced by testVerifyCertChainPolicy().

◆ check_base_policy()

static void check_base_policy ( void  )
static

Definition at line 4599 of file chain.c.

4600{
4601 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
4602
4605 policyPara.cbSize = sizeof(policyPara);
4608 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
4628 invalidUsageBasePolicyCheck, &oct2007, &policyPara);
4629 /* Test chain30, which has an invalid critical extension in an intermediate
4630 * cert, against the base policy.
4631 */
4634 invalidExtensionPolicyCheck, &oct2007, &policyPara);
4635}
static const ChainPolicyCheck ignoredInvalidUsageBasePolicyCheck
Definition: chain.c:4285
static const ChainPolicyCheck invalidUsageBasePolicyCheck
Definition: chain.c:4290
static const ChainPolicyCheck basePolicyCheck[]
Definition: chain.c:4225
static const ChainPolicyCheck ignoredBadDateNestingBasePolicyCheck
Definition: chain.c:4275
static const ChainPolicyCheck invalidExtensionPolicyCheck
Definition: chain.c:4396
#define CERT_CHAIN_POLICY_BASE
Definition: wincrypt.h:962
#define CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG
Definition: wincrypt.h:981

Referenced by testVerifyCertChainPolicy().

◆ check_ssl_policy()

static void check_ssl_policy ( void  )
static

Definition at line 4661 of file chain.c.

4662{
4663 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
4664 SSL_EXTRA_CERT_CHAIN_POLICY_PARA sslPolicyPara = { { 0 } };
4665 WCHAR winehq[] = { 'w','i','n','e','h','q','.','o','r','g',0 };
4666 WCHAR google_dot_com[] = { 'w','w','w','.','g','o','o','g','l','e','.',
4667 'c','o','m',0 };
4668 WCHAR battle_dot_net[] = { 'w','w','w','.','b','a','t','t','l','e','.',
4669 'n','e','t',0 };
4670 WCHAR a_dot_openssl_dot_org[] = { 'a','.','o','p','e','n','s','s','l','.',
4671 'o','r','g',0 };
4672 WCHAR openssl_dot_org[] = { 'o','p','e','n','s','s','l','.','o','r','g',0 };
4673 WCHAR fopenssl_dot_org[] = { 'f','o','p','e','n','s','s','l','.',
4674 'o','r','g',0 };
4675 WCHAR a_dot_b_dot_openssl_dot_org[] = { 'a','.','b','.',
4676 'o','p','e','n','s','s','l','.','o','r','g',0 };
4677 WCHAR cs_dot_stanford_dot_edu[] = { 'c','s','.',
4678 's','t','a','n','f','o','r','d','.','e','d','u',0 };
4679 WCHAR www_dot_cs_dot_stanford_dot_edu[] = { 'w','w','w','.','c','s','.',
4680 's','t','a','n','f','o','r','d','.','e','d','u',0 };
4681 WCHAR a_dot_cs_dot_stanford_dot_edu[] = { 'a','.','c','s','.',
4682 's','t','a','n','f','o','r','d','.','e','d','u',0 };
4683 WCHAR test_dot_winehq_dot_org[] = { 't','e','s','t','.',
4684 'w','i','n','e','h','q','.','o','r','g',0 };
4685 WCHAR a_dot_b_dot_winehq_dot_org[] = { 'a','.','b','.',
4686 'w','i','n','e','h','q','.','o','r','g',0 };
4687 WCHAR foo_dot_com[] = { 'f','o','o','.','c','o','m',0 };
4688 WCHAR afoo_dot_com[] = { 'a','f','o','o','.','c','o','m',0 };
4689 WCHAR a_dot_foo_dot_com[] = { 'a','.','f','o','o','.','c','o','m',0 };
4690 HCERTSTORE testRoot;
4691 CERT_CHAIN_ENGINE_CONFIG engineConfig = { sizeof(engineConfig), 0 };
4692 HCERTCHAINENGINE engine;
4693
4694 /* Check ssl policy with no parameter */
4696 &oct2007, NULL);
4697 /* Check again with a policy parameter that specifies nothing */
4699 &oct2007, &policyPara);
4700 /* Check yet again, but specify an empty SSL_EXTRA_CERT_CHAIN_POLICY_PARA
4701 * argument.
4702 */
4703 policyPara.pvExtraPolicyPara = &sslPolicyPara;
4705 &oct2007, &policyPara);
4706 /* And again, but specify the auth type as a client */
4707 sslPolicyPara.dwAuthType = AUTHTYPE_CLIENT;
4709 &oct2007, &policyPara);
4710 /* And again, but specify the auth type as a server */
4711 sslPolicyPara.dwAuthType = AUTHTYPE_SERVER;
4713 &oct2007, &policyPara);
4714 /* And again authenticating a client, but specify the size of the policy
4715 * parameter.
4716 */
4717 U(sslPolicyPara).cbSize = sizeof(sslPolicyCheck);
4718 sslPolicyPara.dwAuthType = AUTHTYPE_CLIENT;
4720 &oct2007, &policyPara);
4721 /* One more time authenticating a client, but specify winehq.org as the
4722 * server name.
4723 */
4724 sslPolicyPara.pwszServerName = winehq;
4726 &oct2007, &policyPara);
4727 /* And again authenticating a server, still specifying winehq.org as the
4728 * server name.
4729 */
4730 sslPolicyPara.dwAuthType = AUTHTYPE_SERVER;
4732 &oct2007, &policyPara);
4733 /* And again authenticating a server, this time specifying the size of the
4734 * policy param.
4735 */
4736 policyPara.cbSize = sizeof(policyPara);
4738 &oct2007, &policyPara);
4739 /* And again, specifying a chain with an untrusted root, but ignoring
4740 * unknown CAs.
4741 */
4744 ignoredUnknownCAPolicyCheck, &oct2007, &policyPara);
4745 sslPolicyPara.fdwChecks = 0;
4746 /* And again, but checking the Google chain at a bad date */
4747 sslPolicyPara.pwszServerName = google_dot_com;
4750 /* Again checking the Google chain at a bad date, but ignoring date
4751 * errors.
4752 */
4756 sslPolicyPara.fdwChecks = 0;
4757 /* And again, but checking the Google chain at a good date */
4758 sslPolicyPara.pwszServerName = google_dot_com;
4761
4762 /* Check again with the openssl cert, which has a wildcard in its name,
4763 * with various combinations of matching and non-matching names.
4764 * With "a.openssl.org": match
4765 */
4766 sslPolicyPara.pwszServerName = a_dot_openssl_dot_org;
4769 /* With "openssl.org": no match */
4770 sslPolicyPara.pwszServerName = openssl_dot_org;
4773 /* With "fopenssl.org": no match */
4774 sslPolicyPara.pwszServerName = fopenssl_dot_org;
4777 /* with "a.b.openssl.org": no match */
4778 sslPolicyPara.pwszServerName = a_dot_b_dot_openssl_dot_org;
4781 /* Check again with the cs.stanford.edu, which has both cs.stanford.edu
4782 * and www.cs.stanford.edu in its subject alternative name.
4783 * With "cs.stanford.edu": match
4784 */
4785 sslPolicyPara.pwszServerName = cs_dot_stanford_dot_edu;
4788 /* With "www.cs.stanford.edu": match */
4789 sslPolicyPara.pwszServerName = www_dot_cs_dot_stanford_dot_edu;
4792 /* With "a.cs.stanford.edu": no match */
4793 sslPolicyPara.pwszServerName = a_dot_cs_dot_stanford_dot_edu;
4796 /* Check chain29, which has a wildcard in its subject alternative name,
4797 * but not in its distinguished name.
4798 * Step 1: create a chain engine that trusts chain29's root.
4799 */
4800 testRoot = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
4804 engineConfig.hExclusiveRoot = testRoot;
4805 if (!pCertCreateCertificateChainEngine(&engineConfig, &engine))
4806 {
4807 skip("Couldn't create chain engine\n");
4808 return;
4809 }
4810 /* With "winehq.org": no match */
4811 sslPolicyPara.pwszServerName = winehq;
4814 /* With "test.winehq.org": match */
4815 sslPolicyPara.pwszServerName = test_dot_winehq_dot_org;
4818 /* With "a.b.winehq.org": no match */
4819 sslPolicyPara.pwszServerName = a_dot_b_dot_winehq_dot_org;
4822 /* When specifying to ignore name mismatch: match */
4826 pCertFreeCertificateChainEngine(engine);
4827 CertCloseStore(testRoot, 0);
4828 /* Test chain30, which has an invalid critical extension in an intermediate
4829 * cert, against the SSL policy.
4830 */
4832 sslPolicyPara.pwszServerName = NULL;
4834 invalidExtensionPolicyCheck, &oct2007, &policyPara);
4835 /* Test chain31, which has two CNs, "*.foo.com" and "foo.com", against
4836 * some names that match one of the CNs:
4837 */
4838 sslPolicyPara.pwszServerName = foo_dot_com;
4841 sslPolicyPara.pwszServerName = a_dot_foo_dot_com;
4844 /* and against a name that doesn't match either CN: */
4845 sslPolicyPara.pwszServerName = afoo_dot_com;
4848 /* The Battle.Net chain checks a certificate with a domain component
4849 * containing a terminating NULL.
4850 */
4851 sslPolicyPara.pwszServerName = battle_dot_net;
4854}
#define skip(...)
Definition: atltest.h:64
#define U(x)
Definition: wordpad.c:45
BOOL WINAPI CertAddEncodedCertificateToStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext)
Definition: cert.c:58
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
static const ChainPolicyCheck stanfordPolicyCheckWithoutMatchingName
Definition: chain.c:4386
static const ChainPolicyCheck googlePolicyCheckWithMatchingNameExpired
Definition: chain.c:4343
static const ChainPolicyCheck nullTerminatedDomainComponentPolicyCheck
Definition: chain.c:4391
static const ChainPolicyCheck opensslPolicyCheckWithMatchingName
Definition: chain.c:4361
static const BYTE chain0_0[]
Definition: chain.c:1237
static const ChainPolicyCheck sslPolicyCheck[]
Definition: chain.c:4295
static const ChainPolicyCheck winehqPolicyCheckWithMatchingName
Definition: chain.c:4371
static const ChainPolicyCheck fooPolicyCheckWithoutMatchingName
Definition: chain.c:4406
static SYSTEMTIME nov2016
Definition: chain.c:3088
static const ChainPolicyCheck googlePolicyCheckWithMatchingName
Definition: chain.c:4352
static SYSTEMTIME oct2009
Definition: chain.c:3080
static SYSTEMTIME oct2010
Definition: chain.c:3082
static const ChainPolicyCheck fooPolicyCheckWithMatchingName
Definition: chain.c:4401
static const ChainPolicyCheck winehqPolicyCheckWithoutMatchingName
Definition: chain.c:4376
static const ChainPolicyCheck opensslPolicyCheckWithoutMatchingName
Definition: chain.c:4366
static const ChainPolicyCheck stanfordPolicyCheckWithMatchingName
Definition: chain.c:4381
static WCHAR winehq[]
Definition: url.c:31
#define CERT_STORE_CREATE_NEW_FLAG
Definition: wincrypt.h:2464
#define X509_ASN_ENCODING
Definition: wincrypt.h:2297
#define CERT_STORE_PROV_MEMORY
Definition: wincrypt.h:2251
#define AUTHTYPE_SERVER
Definition: wincrypt.h:1035
#define CERT_CHAIN_POLICY_SSL
Definition: wincrypt.h:965
#define AUTHTYPE_CLIENT
Definition: wincrypt.h:1034
#define CERT_STORE_ADD_ALWAYS
Definition: wincrypt.h:2485
#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 4512 of file chain.c.

4515{
4516 PCCERT_CHAIN_CONTEXT chain = getChain(engine, &check->certs, 0, TRUE,
4517 sysTime, check->todo, testIndex);
4518
4519 if (chain)
4520 {
4521 CERT_CHAIN_POLICY_STATUS policyStatus = { 0 };
4522 BOOL ret = pCertVerifyCertificateChainPolicy(policy, chain, para,
4523 &policyStatus);
4524
4525 if (check->todo & TODO_POLICY)
4527 "%s[%d](%s): CertVerifyCertificateChainPolicy failed: %08x\n",
4528 testName, testIndex,
4530 GetLastError());
4531 else
4532 {
4534 {
4535 skip("%s[%d]: missing policy %s, skipping test\n",
4536 testName, testIndex,
4538 pCertFreeCertificateChain(chain);
4539 return;
4540 }
4541 ok(ret, "%s[%d](%s): CertVerifyCertificateChainPolicy failed: %08x\n",
4542 testName, testIndex,
4544 GetLastError());
4545 }
4546 if (ret)
4547 {
4548 todo_wine_if (check->todo & TODO_ERROR)
4549 ok(policyStatus.dwError == check->status.dwError ||
4550 broken(policyStatus.dwError == CERT_TRUST_NO_ERROR) ||
4551 (check->brokenStatus && broken(policyStatus.dwError ==
4552 check->brokenStatus->dwError)),
4553 "%s[%d](%s): expected %08x, got %08x\n",
4554 testName, testIndex,
4556 check->status.dwError, policyStatus.dwError);
4557 if (policyStatus.dwError != check->status.dwError)
4558 {
4559 skip("%s[%d](%s): error %08x doesn't match expected %08x, not checking indexes\n",
4560 testName, testIndex,
4562 policyStatus.dwError, check->status.dwError);
4563 pCertFreeCertificateChain(chain);
4564 return;
4565 }
4567 ok(policyStatus.lChainIndex == check->status.lChainIndex ||
4568 (check->brokenStatus && broken(policyStatus.lChainIndex ==
4569 check->brokenStatus->lChainIndex)),
4570 "%s[%d](%s): expected %d, got %d\n",
4571 testName, testIndex,
4573 check->status.lChainIndex, policyStatus.lChainIndex);
4575 ok(policyStatus.lElementIndex == check->status.lElementIndex ||
4576 (check->brokenStatus && broken(policyStatus.lElementIndex ==
4577 check->brokenStatus->lElementIndex)),
4578 "%s[%d](%s): expected %d, got %d\n",
4579 testName, testIndex,
4581 check->status.lElementIndex, policyStatus.lElementIndex);
4582 }
4583 pCertFreeCertificateChain(chain);
4584 }
4585}
#define broken(x)
Definition: _sntprintf.h:21
#define ok(value,...)
Definition: atltest.h:57
#define IS_INTOID(x)
#define TRUE
Definition: types.h:120
#define check(expected, result)
Definition: dplayx.c:32
unsigned int BOOL
Definition: ntddk_ex.h:94
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
#define TODO_ERROR
Definition: chain.c:2906
#define TODO_CHAINS
Definition: chain.c:2909
#define TODO_POLICY
Definition: chain.c:2910
#define TODO_ELEMENTS
Definition: chain.c:2908
static const char * num_to_str(WORD num)
Definition: chain.c:4504
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:2916
#define todo_wine_if(is_todo)
Definition: custom.c:76
#define todo_wine
Definition: custom.c:79
#define LOWORD(l)
Definition: pedump.c:82
struct sock * chain
Definition: tcpcore.h:1
int ret
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
#define CERT_TRUST_NO_ERROR
Definition: wincrypt.h:869

◆ checkChainStatus()

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

Definition at line 3036 of file chain.c.

3039{
3040 ok(chain->cChain == chainStatus->cChain,
3041 "%s[%d]: expected %d simple chains, got %d\n", testName, testIndex,
3042 chainStatus->cChain, chain->cChain);
3044 chain->TrustStatus.dwErrorStatus != chainStatus->status.dwErrorStatus)
3045 ok(chain->TrustStatus.dwErrorStatus ==
3046 chainStatus->status.dwErrorStatus ||
3047 broken((chain->TrustStatus.dwErrorStatus &
3048 ~chainStatus->statusToIgnore.dwErrorStatus) ==
3049 (chainStatus->status.dwErrorStatus &
3050 ~chainStatus->statusToIgnore.dwErrorStatus)),
3051 "%s[%d]: expected error %08x, got %08x. %08x is expected if no valid "
3052 "root certificate is available.\n",
3053 testName, testIndex, chainStatus->status.dwErrorStatus,
3054 chain->TrustStatus.dwErrorStatus, CERT_TRUST_IS_UNTRUSTED_ROOT);
3056 chain->TrustStatus.dwInfoStatus != chainStatus->status.dwInfoStatus)
3057 ok(chain->TrustStatus.dwInfoStatus ==
3058 chainStatus->status.dwInfoStatus ||
3059 broken((chain->TrustStatus.dwInfoStatus &
3060 ~chainStatus->statusToIgnore.dwInfoStatus) ==
3061 (chainStatus->status.dwInfoStatus &
3062 ~chainStatus->statusToIgnore.dwInfoStatus)),
3063 "%s[%d]: expected info %08x, got %08x\n",
3064 testName, testIndex, chainStatus->status.dwInfoStatus,
3065 chain->TrustStatus.dwInfoStatus);
3066 if (chain->cChain == chainStatus->cChain)
3067 {
3068 DWORD i;
3069
3070 for (i = 0; i < chain->cChain; i++)
3071 checkSimpleChainStatus(chain->rgpChain[i],
3072 &chainStatus->rgChainStatus[i], &chainStatus->statusToIgnore,
3073 todo, testName, testIndex, i);
3074 }
3075}
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
#define d
Definition: ke_i.h:81
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:3008
#define TODO_INFO
Definition: chain.c:2907
BOOL expected
Definition: store.c:2063
CERT_TRUST_STATUS statusToIgnore
Definition: chain.c:3030
const SimpleChainStatusCheck * rgChainStatus
Definition: chain.c:3033
CERT_TRUST_STATUS status
Definition: chain.c:3031
Definition: ps.c:97
#define CERT_TRUST_IS_UNTRUSTED_ROOT
Definition: wincrypt.h:875

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 2976 of file chain.c.

2980{
2981 if (got->dwErrorStatus == expected->dwErrorStatus)
2982 ok(got->dwErrorStatus == expected->dwErrorStatus,
2983 "%s[%d], element [%d,%d]: expected error %08x, got %08x\n",
2984 testName, testIndex, chainIndex, elementIndex, expected->dwErrorStatus,
2985 got->dwErrorStatus);
2987 ok(got->dwErrorStatus == expected->dwErrorStatus ||
2988 broken((got->dwErrorStatus & ~ignore->dwErrorStatus) ==
2989 (expected->dwErrorStatus & ~ignore->dwErrorStatus)),
2990 "%s[%d], element [%d,%d]: expected error %08x, got %08x. %08x is "
2991 "expected if no valid root certificate is available.\n",
2992 testName, testIndex, chainIndex, elementIndex, expected->dwErrorStatus,
2994 if (got->dwInfoStatus == expected->dwInfoStatus)
2995 ok(got->dwInfoStatus == expected->dwInfoStatus,
2996 "%s[%d], element [%d,%d]: expected info %08x, got %08x\n",
2997 testName, testIndex, chainIndex, elementIndex, expected->dwInfoStatus,
2998 got->dwInfoStatus);
2999 else todo_wine_if (todo & TODO_INFO)
3000 ok(got->dwInfoStatus == expected->dwInfoStatus ||
3001 broken((got->dwInfoStatus & ~ignore->dwInfoStatus) ==
3002 (expected->dwInfoStatus & ~ignore->dwInfoStatus)),
3003 "%s[%d], element [%d,%d]: expected info %08x, got %08x\n",
3004 testName, testIndex, chainIndex, elementIndex, expected->dwInfoStatus,
3005 got->dwInfoStatus);
3006}

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 3008 of file chain.c.

3012{
3014 ok(simpleChain->cElement == simpleChainStatus->cElement,
3015 "%s[%d]: expected %d elements, got %d\n", testName, testIndex,
3016 simpleChainStatus->cElement, simpleChain->cElement);
3017 if (simpleChain->cElement == simpleChainStatus->cElement)
3018 {
3019 DWORD i;
3020
3021 for (i = 0; i < simpleChain->cElement; i++)
3022 checkElementStatus(&simpleChainStatus->rgElementStatus[i],
3023 &simpleChain->rgpElement[i]->TrustStatus, ignore, todo, testName,
3024 testIndex, chainIndex, i);
3025 }
3026}
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:2976
CERT_TRUST_STATUS TrustStatus
Definition: wincrypt.h:917
PCERT_CHAIN_ELEMENT * rgpElement
Definition: wincrypt.h:928
const CERT_TRUST_STATUS * rgElementStatus
Definition: chain.c:2973

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 2916 of file chain.c.

2919{
2920 HCERTSTORE store;
2922
2925 if (store)
2926 {
2927 BOOL ret;
2928 PCCERT_CONTEXT endCert;
2929
2930 if (certArray->cBlob > 1)
2931 {
2932 DWORD i;
2933
2934 for (i = 0, ret = TRUE; ret && i < certArray->cBlob - 1; i++)
2935 {
2937 X509_ASN_ENCODING, certArray->rgBlob[i].pbData,
2938 certArray->rgBlob[i].cbData, CERT_STORE_ADD_ALWAYS, NULL);
2939 ok(ret, "Chain %d: adding cert %d failed: %08x\n",
2940 testIndex, i, GetLastError());
2941 }
2942 }
2944 X509_ASN_ENCODING, certArray->rgBlob[certArray->cBlob - 1].pbData,
2945 certArray->rgBlob[certArray->cBlob - 1].cbData, CERT_STORE_ADD_ALWAYS,
2946 &endCert);
2947 ok(ret, "Chain %d: adding end cert failed: %08x\n",
2948 testIndex, GetLastError());
2949 if (ret)
2950 {
2951 /* FIXME: allow caller to specify usage matches? */
2952 CERT_CHAIN_PARA chainPara = { sizeof(chainPara), { 0 } };
2953 FILETIME fileTime;
2954
2955 ok(SystemTimeToFileTime(checkTime, &fileTime),
2956 "SystemTimeToFileTime failed for day %d, month %d, year %d\n",
2957 checkTime->wDay, checkTime->wMonth, checkTime->wYear);
2958 ret = pCertGetCertificateChain(engine, endCert, &fileTime,
2959 includeStore ? store : NULL, &chainPara, flags, NULL, &chain);
2961 ok(ret, "Chain %d: CertGetCertificateChain failed: %08x\n",
2962 testIndex, GetLastError());
2964 }
2965 CertCloseStore(store, 0);
2966 }
2967 return chain;
2968}
BOOL WINAPI CertFreeCertificateContext(PCCERT_CONTEXT pCertContext)
Definition: cert.c:371
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:2905
CONST_DATA_BLOB * rgBlob
Definition: chain.c:2902
DWORD cbData
Definition: chain.c:2895
const BYTE * pbData
Definition: chain.c:2896

Referenced by checkChainPolicyStatus(), and testGetCertChain().

◆ num_to_str()

static const char * num_to_str ( WORD  num)
static

Definition at line 4504 of file chain.c.

4505{
4506 static char buf[6];
4507
4508 sprintf(buf, "#%04X", num);
4509 return buf;
4510}
GLuint GLuint num
Definition: glext.h:9618
#define sprintf(buf, format,...)
Definition: sprintf.c:55

Referenced by checkChainPolicyStatus().

◆ START_TEST()

START_TEST ( chain  )

Definition at line 4926 of file chain.c.

4927{
4928 HMODULE hCrypt32 = GetModuleHandleA("crypt32.dll");
4929 pCertCreateCertificateChainEngine = (void*)GetProcAddress(hCrypt32, "CertCreateCertificateChainEngine");
4930 pCertGetCertificateChain = (void*)GetProcAddress(hCrypt32, "CertGetCertificateChain");
4931 pCertFreeCertificateChain = (void*)GetProcAddress(hCrypt32, "CertFreeCertificateChain");
4932 pCertFreeCertificateChainEngine = (void*)GetProcAddress(hCrypt32, "CertFreeCertificateChainEngine");
4933 pCertVerifyCertificateChainPolicy = (void*)GetProcAddress(hCrypt32, "CertVerifyCertificateChainPolicy");
4934
4936 if (!pCertGetCertificateChain || !pCertFreeCertificateChain)
4937 {
4938 win_skip("Cert*CertificateChain functions not available\n");
4939 }
4940 else
4941 {
4945 }
4946}
#define GetProcAddress(x, y)
Definition: compat.h:753
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
Definition: loader.c:812
static void testVerifyCertChainPolicy(void)
Definition: chain.c:4856
static void testCreateCertChainEngine(void)
Definition: chain.c:79
static void test_CERT_CHAIN_PARA_cbSize(void)
Definition: chain.c:4179
static void testGetCertChain(void)
Definition: chain.c:3886
#define win_skip
Definition: test.h:163

◆ test_CERT_CHAIN_PARA_cbSize()

static void test_CERT_CHAIN_PARA_cbSize ( void  )
static

Definition at line 4179 of file chain.c.

4180{
4181 BOOL ret;
4183 CERT_CHAIN_PARA para = { 0 };
4185 HCERTSTORE store;
4186 DWORD i;
4187
4190
4194 ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
4198 ok(ret, "CertAddEncodedCertificateToStore failed: %08x\n", GetLastError());
4199
4200 for (i = 0; i < sizeof(CERT_CHAIN_PARA) + 2; i++)
4201 {
4202 FILETIME fileTime;
4203
4204 SystemTimeToFileTime(&oct2007, &fileTime);
4205
4206 para.cbSize = i;
4207 ret = pCertGetCertificateChain(NULL, cert, &fileTime,
4208 NULL, &para, 0, NULL, &chain);
4209 ok(ret, "CertGetCertificateChain failed %u\n", GetLastError());
4210 pCertFreeCertificateChain(chain);
4211 }
4212
4214 CertCloseStore(store, 0);
4215}
static const BYTE chain0_1[]
Definition: chain.c:1269
static BYTE cert[]
Definition: msg.c:1437
struct _CERT_CHAIN_PARA CERT_CHAIN_PARA

Referenced by START_TEST().

◆ testCreateCertChainEngine()

static void testCreateCertChainEngine ( void  )
static

Definition at line 79 of file chain.c.

80{
81 BOOL ret;
84 HCERTCHAINENGINE engine;
85 HCERTSTORE store;
86
87 if (!pCertCreateCertificateChainEngine || !pCertFreeCertificateChainEngine)
88 {
89 win_skip("Cert*CertificateChainEngine() functions are not available\n");
90 return;
91 }
92
93 /* Crash
94 ret = pCertCreateCertificateChainEngine(NULL, NULL);
95 ret = pCertCreateCertificateChainEngine(NULL, &engine);
96 ret = pCertCreateCertificateChainEngine(pConfig, NULL);
97 */
98 ret = pCertCreateCertificateChainEngine(pConfig, &engine);
100 "Expected E_INVALIDARG, got %08x\n", GetLastError());
101 /* Crashes
102 config.cbSize = sizeof(config);
103 ret = pCertCreateCertificateChainEngine(pConfig, NULL);
104 */
105 config.cbSize = sizeof(config);
106 ret = pCertCreateCertificateChainEngine(pConfig, &engine);
107 ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
108 pCertFreeCertificateChainEngine(engine);
109 config.dwFlags = 0xff000000;
110 ret = pCertCreateCertificateChainEngine(pConfig, &engine);
111 ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
112 pCertFreeCertificateChainEngine(engine);
113
114 /* Creating a cert with no root certs at all is allowed.. */
117 config.hRestrictedRoot = store;
118 ret = pCertCreateCertificateChainEngine(pConfig, &engine);
119 ok(ret, "CertCreateCertificateChainEngine failed: %08x\n", GetLastError());
120 pCertFreeCertificateChainEngine(engine);
121
122 /* but creating one with a restricted root with a cert that isn't a member
123 * of the Root store isn't allowed.
124 */
127 ret = pCertCreateCertificateChainEngine(pConfig, &engine);
128 /* ERROR_FILE_NOT_FOUND used in Windows 10 */
129 ok(!ret && ((GetLastError() == CRYPT_E_NOT_FOUND) ||
131 "Expected CRYPT_E_NOT_FOUND or ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
132
133 CertCloseStore(store, 0);
134}
#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:3007

Referenced by START_TEST().

◆ testGetCertChain()

static void testGetCertChain ( void  )
static

Definition at line 3886 of file chain.c.

3887{
3888 BOOL ret;
3890 CERT_CHAIN_PARA para = { 0 };
3892 const CERT_SIMPLE_CHAIN *simple_chain;
3893 const CERT_CHAIN_ELEMENT *chain_elem;
3894 FILETIME fileTime;
3895 DWORD i;
3896 HCERTSTORE store;
3897 static char one_two_three[] = "1.2.3";
3898 static char oid_server_auth[] = szOID_PKIX_KP_SERVER_AUTH;
3899 LPSTR oids[2];
3900
3901 /* Basic parameter checks */
3902 if (0)
3903 {
3904 /* Crash on Vista */
3905 ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL, NULL);
3907 "Expected E_INVALIDARG, got %08x\n", GetLastError());
3908 }
3909 ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, NULL, 0, NULL,
3910 &chain);
3912 "Expected E_INVALIDARG, got %08x\n", GetLastError());
3913 /* Crash
3914 ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, &para, 0, NULL, NULL);
3915 ret = pCertGetCertificateChain(NULL, NULL, NULL, NULL, &para, 0, NULL,
3916 &chain);
3917 */
3919 sizeof(bigCert));
3920 if (0)
3921 {
3922 /* Crash on Vista */
3923 ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, NULL, 0, NULL, NULL);
3925 "Expected E_INVALIDARG, got %08x\n", GetLastError());
3926 }
3927 /* Crash
3928 ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, &para, 0, NULL, NULL);
3929 */
3930
3931 /* Tests with an invalid cert (one whose signature is bad) */
3932 SetLastError(0xdeadbeef);
3933 ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, &para, 0, NULL,
3934 &chain);
3935 ok(!ret, "Expected failure\n");
3937 GetLastError() == CRYPT_E_ASN1_BADTAG /* Vista */,
3938 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %d\n", GetLastError());
3939 para.cbSize = sizeof(para);
3940 SetLastError(0xdeadbeef);
3941 ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, &para, 0, NULL,
3942 &chain);
3943 ok(!ret, "Expected failure\n");
3945 GetLastError() == CRYPT_E_ASN1_BADTAG /* Vista */,
3946 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %d\n", GetLastError());
3947
3948 para.cbSize = 0;
3949 SetLastError(0xdeadbeef);
3950 ret = pCertGetCertificateChain(NULL, cert, NULL, NULL, &para, 0, NULL,
3951 &chain);
3952 ok(!ret, "Expected failure\n");
3954 GetLastError() == CRYPT_E_ASN1_BADTAG, /* Vista and higher */
3955 "Expected ERROR_INVALID_DATA or CRYPT_E_ASN1_BADTAG, got %d\n", GetLastError());
3956
3958
3959 /* Test usage match with Google's cert */
3967 google_com, sizeof(google_com));
3968 SystemTimeToFileTime(&oct2009, &fileTime);
3969 memset(&para, 0, sizeof(para));
3970 para.cbSize = sizeof(para);
3971 oids[0] = one_two_three;
3975 ret = pCertGetCertificateChain(NULL, cert, &fileTime, store, &para,
3976 0, NULL, &chain);
3977 ok(ret, "CertGetCertificateChain failed: %08x\n", GetLastError());
3978 if (ret)
3979 {
3980 ok(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE,
3981 "expected CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
3982 pCertFreeCertificateChain(chain);
3983 }
3984 oids[0] = oid_server_auth;
3985 ret = pCertGetCertificateChain(NULL, cert, &fileTime, store, &para,
3986 0, NULL, &chain);
3987 ok(ret, "CertGetCertificateChain failed: %08x\n", GetLastError());
3988 if (ret)
3989 {
3990 ok(!(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE),
3991 "didn't expect CERT_TRUST_IS_NOT_VALID_FOR_USAGE, got %x\n", chain->TrustStatus.dwErrorStatus);
3992 pCertFreeCertificateChain(chain);
3993 }
3994 oids[1] = one_two_three;
3997 ret = pCertGetCertificateChain(NULL, cert, &fileTime, store, &para,
3998 0, NULL, &chain);
3999 ok(ret, "CertGetCertificateChain failed: %08x\n", GetLastError());
4000 if (ret)
4001 {
4002 ok(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_NOT_VALID_FOR_USAGE,
4003 "expected CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
4004 pCertFreeCertificateChain(chain);
4005 }
4007 ret = pCertGetCertificateChain(NULL, cert, &fileTime, store, &para,
4008 0, NULL, &chain);
4009 ok(ret, "CertGetCertificateChain failed: %08x\n", GetLastError());
4010 if (ret)
4011 {
4012 ok(!(chain->TrustStatus.dwErrorStatus &
4014 "didn't expect CERT_TRUST_IS_NOT_VALID_FOR_USAGE\n");
4015 pCertFreeCertificateChain(chain);
4016 }
4017 CertCloseStore(store, 0);
4019
4020 for (i = 0; i < ARRAY_SIZE(chainCheck); i++)
4021 {
4022 chain = getChain(NULL, &chainCheck[i].certs, 0, TRUE, chainCheck[i].validfor,
4023 chainCheck[i].todo, i);
4024 if (chain)
4025 {
4027 "chainCheck", i);
4028 pCertFreeCertificateChain(chain);
4029 }
4030 }
4033 if (chain)
4034 {
4035 ok(chain->TrustStatus.dwErrorStatus ==
4037 broken((chain->TrustStatus.dwErrorStatus &
4041 "unexpected chain error status %08x\n",
4042 chain->TrustStatus.dwErrorStatus);
4044 chain->TrustStatus.dwErrorStatus)
4046 opensslChainCheck.todo, "opensslChainCheck", 0);
4047 else
4049 incompleteOpensslChainCheck.todo, "incompleteOpensslChainCheck",
4050 0);
4051 pCertFreeCertificateChain(chain);
4052 }
4053 for (i = 0; i < ARRAY_SIZE(chainCheckNoStore); i++)
4054 {
4057 if (chain)
4058 {
4060 chainCheckNoStore[i].todo, "chainCheckNoStore", i);
4061 pCertFreeCertificateChain(chain);
4062 }
4063 }
4066 if (chain)
4067 {
4068 ok(chain->TrustStatus.dwErrorStatus ==
4070 broken((chain->TrustStatus.dwErrorStatus &
4074 "unexpected chain error status %08x\n",
4075 chain->TrustStatus.dwErrorStatus);
4077 chain->TrustStatus.dwErrorStatus)
4079 chainCheckEmbeddedNull.todo, "chainCheckEmbeddedNull", 0);
4080 else
4082 chainCheckEmbeddedNullBroken.todo, "chainCheckEmbeddedNullBroken",
4083 0);
4084 pCertFreeCertificateChain(chain);
4085 }
4086
4088 ok(store != NULL, "CertOpenStore failed: %u\n", GetLastError());
4089
4092 ok(ret, "CertAddEncodedCertificateToStore failed: %u\n", GetLastError());
4093
4094 oids[0] = oid_server_auth;
4095 memset(&para, 0, sizeof(para));
4096 para.cbSize = sizeof(para);
4099 SystemTimeToFileTime(&jun2013, &fileTime);
4100
4101 /* Pass store that does not contain all certs in chain. */
4102 ret = CertGetCertificateChain(NULL, cert, &fileTime, store, &para, 0, NULL, &chain);
4103 ok(ret, "CertGetCertificateChain failed: %u\n", GetLastError());
4104
4105 if(chain->TrustStatus.dwErrorStatus == CERT_TRUST_IS_PARTIAL_CHAIN) { /* win2k */
4106 win_skip("winehq cert reported as partial chain, skipping its tests\n");
4107 pCertFreeCertificateChain(chain);
4108 CertCloseStore(store, 0);
4109 return;
4110 }
4111
4112 ok(!chain->TrustStatus.dwErrorStatus, "chain->TrustStatus.dwErrorStatus = %x\n", chain->TrustStatus.dwErrorStatus);
4113 todo_wine
4114 ok(chain->TrustStatus.dwInfoStatus == CERT_TRUST_HAS_PREFERRED_ISSUER, "chain->TrustStatus.dwInfoStatus = %x\n",
4115 chain->TrustStatus.dwInfoStatus);
4116
4117 ok(chain->cChain == 1, "chain->cChain = %d\n", chain->cChain);
4118 ok(!chain->cLowerQualityChainContext, "chain->cLowerQualityChainContext = %x\n", chain->cLowerQualityChainContext);
4119 ok(!chain->rgpLowerQualityChainContext, "chain->rgpLowerQualityChainContext = %p\n", chain->rgpLowerQualityChainContext);
4120
4121 simple_chain = *chain->rgpChain;
4122 ok(simple_chain->cbSize == sizeof(*simple_chain), "simple_chain->cbSize = %u\n", simple_chain->cbSize);
4123 ok(!simple_chain->TrustStatus.dwErrorStatus, "simple_chain->TrustStatus.dwErrorStatus = %x\n",
4124 simple_chain->TrustStatus.dwErrorStatus);
4125 todo_wine
4127 "simple_chain->TrustStatus.dwInfoStatus = %x\n", simple_chain->TrustStatus.dwInfoStatus);
4128 ok(simple_chain->cElement == 3, "simple_chain->cElement = %u\n", simple_chain->cElement);
4129
4130 for(i=0; i < simple_chain->cElement; i++) {
4131 chain_elem = simple_chain->rgpElement[i];
4132 ok(chain_elem->cbSize == sizeof(*chain_elem), "chain_elem->cbSize = %u\n", chain_elem->cbSize);
4133
4134 ok(!chain_elem->TrustStatus.dwErrorStatus, "chain_elem->TrustStatus.dwErrorStatus = %x\n",
4135 chain_elem->TrustStatus.dwErrorStatus);
4136 trace("info[%u] = %x\n", i, chain_elem->TrustStatus.dwInfoStatus);
4138 "chain_elem->pCertContext->dwCertEncodingType = %x\n",
4139 chain_elem->pCertContext->dwCertEncodingType);
4140 }
4141
4142 ok(simple_chain->rgpElement[0]->pCertContext == cert, "simple_chain->rgpElement[0]->pCertContext != cert\n");
4143 test_name_blob(&simple_chain->rgpElement[1]->pCertContext->pCertInfo->Issuer, "US, GeoTrust Inc., GeoTrust Global CA");
4144 test_name_blob(&simple_chain->rgpElement[1]->pCertContext->pCertInfo->Subject, "US, \"GeoTrust, Inc.\", RapidSSL CA");
4145 test_name_blob(&simple_chain->rgpElement[2]->pCertContext->pCertInfo->Issuer, "US, GeoTrust Inc., GeoTrust Global CA");
4146 test_name_blob(&simple_chain->rgpElement[2]->pCertContext->pCertInfo->Subject, "US, GeoTrust Inc., GeoTrust Global CA");
4147
4148 pCertFreeCertificateChain(chain);
4149
4150 /* Test revocation flags */
4152 &chain);
4153 ok(ret, "CertGetCertificateChain failed: %u\n", GetLastError());
4154 ok(!chain->TrustStatus.dwErrorStatus, "chain->TrustStatus.dwErrorStatus = %x\n", chain->TrustStatus.dwErrorStatus);
4155 pCertFreeCertificateChain(chain);
4156
4158 ok(ret, "CertGetCertificateChain failed: %u\n", GetLastError());
4159 ok(!chain->TrustStatus.dwErrorStatus
4160 || broken(chain->TrustStatus.dwErrorStatus == CERT_TRUST_REVOCATION_STATUS_UNKNOWN), /* XP */
4161 "chain->TrustStatus.dwErrorStatus = %x\n", chain->TrustStatus.dwErrorStatus);
4162 pCertFreeCertificateChain(chain);
4163
4165 NULL, &chain);
4166 ok(ret, "CertGetCertificateChain failed: %u\n", GetLastError());
4167 ok(!chain->TrustStatus.dwErrorStatus, "chain->TrustStatus.dwErrorStatus = %x\n", chain->TrustStatus.dwErrorStatus);
4168 pCertFreeCertificateChain(chain);
4169
4170 /* Test HCCE_LOCAL_MACHINE */
4171 ret = CertGetCertificateChain(HCCE_LOCAL_MACHINE, cert, &fileTime, store, &para, 0, NULL, &chain);
4172 ok(ret, "CertGetCertificateChain failed: %u\n", GetLastError());
4173 pCertFreeCertificateChain(chain);
4174
4176 CertCloseStore(store, 0);
4177}
#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
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
#define SetLastError(x)
Definition: compat.h:752
static const BYTE google_internet_authority[]
Definition: chain.c:207
static ChainCheck opensslChainCheck
Definition: chain.c:3841
static const BYTE bigCert[]
Definition: chain.c:136
static const BYTE google_com[]
Definition: chain.c:278
static ChainCheck chainCheckEmbeddedNullBroken
Definition: chain.c:3867
static const BYTE geotrust_global_ca[]
Definition: chain.c:146
static void checkChainStatus(PCCERT_CHAIN_CONTEXT chain, const ChainStatusCheck *chainStatus, DWORD todo, LPCSTR testName, DWORD testIndex)
Definition: chain.c:3036
static ChainCheck incompleteOpensslChainCheck
Definition: chain.c:3846
static ChainCheck chainCheckEmbeddedNull
Definition: chain.c:3859
static ChainCheck chainCheckNoStore[]
Definition: chain.c:3826
#define test_name_blob(a, b)
Definition: chain.c:3877
static const BYTE winehq_org[]
Definition: chain.c:404
static SYSTEMTIME jun2013
Definition: chain.c:3084
static ChainCheck chainCheck[]
Definition: chain.c:3576
#define memset(x, y, z)
Definition: compat.h:39
PCCERT_CONTEXT pCertContext
Definition: wincrypt.h:916
CERT_USAGE_MATCH RequestedUsage
Definition: wincrypt.h:1070
DWORD dwCertEncodingType
Definition: wincrypt.h:479
PCERT_INFO pCertInfo
Definition: wincrypt.h:482
CERT_NAME_BLOB Subject
Definition: wincrypt.h:247
CERT_NAME_BLOB Issuer
Definition: wincrypt.h:244
CERT_TRUST_STATUS TrustStatus
Definition: wincrypt.h:926
CERT_ENHKEY_USAGE Usage
Definition: wincrypt.h:1048
DWORD cUsageIdentifier
Definition: wincrypt.h:719
LPSTR * rgpszUsageIdentifier
Definition: wincrypt.h:720
DWORD todo
Definition: chain.c:3094
ChainStatusCheck status
Definition: chain.c:3093
CONST_BLOB_ARRAY certs
Definition: chain.c:3092
#define USAGE_MATCH_TYPE_AND
Definition: wincrypt.h:1043
#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN
Definition: wincrypt.h:876
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN
Definition: wincrypt.h:1057
#define CERT_CHAIN_REVOCATION_CHECK_END_CERT
Definition: wincrypt.h:1056
#define USAGE_MATCH_TYPE_OR
Definition: wincrypt.h:1044
#define HCCE_LOCAL_MACHINE
Definition: wincrypt.h:3614
#define CERT_TRUST_HAS_PREFERRED_ISSUER
Definition: wincrypt.h:901
#define szOID_PKIX_KP_SERVER_AUTH
Definition: wincrypt.h:3294
#define CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
Definition: wincrypt.h:1058
#define CERT_TRUST_IS_PARTIAL_CHAIN
Definition: wincrypt.h:891
#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE
Definition: wincrypt.h:874
#define CRYPT_E_ASN1_BADTAG
Definition: winerror.h:3095
#define ERROR_INVALID_DATA
Definition: winerror.h:116
char * LPSTR
Definition: xmlstorage.h:182

Referenced by START_TEST().

◆ testVerifyCertChainPolicy()

static void testVerifyCertChainPolicy ( void  )
static

Definition at line 4856 of file chain.c.

4857{
4858 BOOL ret;
4860 CERT_CHAIN_PARA chainPara = { sizeof(CERT_CHAIN_PARA), { 0 } };
4862 CERT_CHAIN_POLICY_STATUS policyStatus = { 0 };
4863 CERT_CHAIN_POLICY_PARA policyPara = { 0 };
4864
4865 if (!pCertVerifyCertificateChainPolicy)
4866 {
4867 win_skip("CertVerifyCertificateChainPolicy() is not available\n");
4868 return;
4869 }
4870
4871 /* Crash
4872 ret = pCertVerifyCertificateChainPolicy(NULL, NULL, NULL, NULL);
4873 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
4874 NULL);
4875 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL,
4876 &chainPara, NULL);
4877 */
4878 SetLastError(0xdeadbeef);
4879 ret = pCertVerifyCertificateChainPolicy(NULL, NULL, NULL, &policyStatus);
4881 "Expected ERROR_FILE_NOT_FOUND, got %08x\n", GetLastError());
4882 /* Crashes
4883 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, NULL, NULL,
4884 &policyStatus);
4885 */
4887 sizeof(selfSignedCert));
4888 pCertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL,
4889 &chain);
4890 /* Crash
4891 ret = pCertVerifyCertificateChainPolicy(NULL, chain, NULL, NULL);
4892 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
4893 NULL);
4894 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
4895 &chainPara, NULL);
4896 */
4897 /* Size of policy status is apparently ignored, as is pChainPolicyPara */
4898 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain, NULL,
4899 &policyStatus);
4900 ok(ret, "CertVerifyCertificateChainPolicy failed: %08x\n", GetLastError());
4901 ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT ||
4902 policyStatus.dwError == TRUST_E_CERT_SIGNATURE, /* win7 + win8 */
4903 "Expected CERT_E_UNTRUSTEDROOT or TRUST_E_CERT_SIGNATURE, got %08x\n", policyStatus.dwError);
4904 ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
4905 "Expected both indexes 0, got %d, %d\n", policyStatus.lChainIndex,
4906 policyStatus.lElementIndex);
4907 ret = pCertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_BASE, chain,
4908 &policyPara, &policyStatus);
4909 ok(ret, "CertVerifyCertificateChainPolicy failed: %08x\n", GetLastError());
4910 ok(policyStatus.dwError == CERT_E_UNTRUSTEDROOT ||
4911 policyStatus.dwError == TRUST_E_CERT_SIGNATURE, /* win7 + win8 */
4912 "Expected CERT_E_UNTRUSTEDROOT or TRUST_E_CERT_SIGNATURE, got %08x\n", policyStatus.dwError);
4913 ok(policyStatus.lChainIndex == 0 && policyStatus.lElementIndex == 0,
4914 "Expected both indexes 0, got %d, %d\n", policyStatus.lChainIndex,
4915 policyStatus.lElementIndex);
4916 pCertFreeCertificateChain(chain);
4918
4924}
static void check_base_policy(void)
Definition: chain.c:4599
static const ChainPolicyCheck basicConstraintsPolicyCheck[]
Definition: chain.c:4461
static void check_ssl_policy(void)
Definition: chain.c:4661
static void check_authenticode_policy(void)
Definition: chain.c:4637
#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS
Definition: wincrypt.h:966
#define CERT_E_UNTRUSTEDROOT
Definition: winerror.h:3125
#define TRUST_E_CERT_SIGNATURE
Definition: winerror.h:3107

Referenced by START_TEST().

◆ VOID()

static HCERTCHAINENGINE *static PCCERT_CHAIN_CONTEXT *static VOID ( WINAPI pCertFreeCertificateChain)
static

Variable Documentation

◆ authenticodePolicyCheck

const ChainPolicyCheck authenticodePolicyCheck[]
static

Definition at line 4411 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:3118

Definition at line 4272 of file chain.c.

◆ basePolicyCheck

const ChainPolicyCheck basePolicyCheck[]
static

Definition at line 4225 of file chain.c.

Referenced by check_base_policy().

◆ basicConstraintsPolicyCheck

const ChainPolicyCheck basicConstraintsPolicyCheck[]
static

Definition at line 4461 of file chain.c.

Referenced by testVerifyCertChainPolicy().

◆ battlenet

const BYTE battlenet[]
static

Definition at line 495 of file chain.c.

◆ battlenetChain

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

Definition at line 3518 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 136 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 3098 of file chain.c.

◆ chain0_0

const BYTE chain0_0[]
static

Definition at line 1237 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 1269 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:1301

Definition at line 3110 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:1727
static const BYTE chain7_1[]
Definition: chain.c:1567

Definition at line 3225 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 1727 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:1762

Definition at line 3238 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 1762 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:1794

Definition at line 3243 of file chain.c.

◆ chain12_0

const BYTE chain12_0[]
static

Definition at line 1794 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:1829

Definition at line 3255 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 1829 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:1861
static const BYTE chain14_1[]
Definition: chain.c:1893

Definition at line 3267 of file chain.c.

◆ chain14_0

const BYTE chain14_0[]
static

Definition at line 1861 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 1893 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:1924

Definition at line 3279 of file chain.c.

◆ chain15_0

const BYTE chain15_0[]
static

Definition at line 1924 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:1961

Definition at line 3291 of file chain.c.

◆ chain16_1

const BYTE chain16_1[]
static

Definition at line 1961 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:2027
static const BYTE chain17_1[]
Definition: chain.c:1996

Definition at line 3304 of file chain.c.

◆ chain17_1

const BYTE chain17_1[]
static

Definition at line 1996 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 2027 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:2058
static const BYTE chain18_2[]
Definition: chain.c:2089

Definition at line 3318 of file chain.c.

◆ chain18_1

const BYTE chain18_1[]
static

Definition at line 2058 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 2089 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:2118
static const BYTE chain19_1[]
Definition: chain.c:2151

Definition at line 3332 of file chain.c.

◆ chain19_0

const BYTE chain19_0[]
static

Definition at line 2118 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 2151 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 1301 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:1333

Definition at line 3123 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:2215
static const BYTE chain20_0[]
Definition: chain.c:2182

Definition at line 3345 of file chain.c.

◆ chain20_0

const BYTE chain20_0[]
static

Definition at line 2182 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 2215 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:2246
static const BYTE chain21_1[]
Definition: chain.c:2279

Definition at line 3357 of file chain.c.

◆ chain21_0

const BYTE chain21_0[]
static

Definition at line 2246 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 2279 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:2343
static const BYTE chain22_0[]
Definition: chain.c:2310

Definition at line 3370 of file chain.c.

◆ chain22_0

const BYTE chain22_0[]
static

Definition at line 2310 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 2343 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:2374
static const BYTE chain23_1[]
Definition: chain.c:2407

Definition at line 3382 of file chain.c.

◆ chain23_0

const BYTE chain23_0[]
static

Definition at line 2374 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 2407 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:2471
static const BYTE chain24_0[]
Definition: chain.c:2438

Definition at line 3394 of file chain.c.

◆ chain24_0

const BYTE chain24_0[]
static

Definition at line 2438 of file chain.c.

◆ chain24_1

const BYTE chain24_1[]
static

Definition at line 2471 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:2503
static const BYTE chain25_1[]
Definition: chain.c:2536

Definition at line 3406 of file chain.c.

◆ chain25_0

const BYTE chain25_0[]
static

Definition at line 2503 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 2536 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:2567
static const BYTE chain26_1[]
Definition: chain.c:2600

Definition at line 3418 of file chain.c.

◆ chain26_0

const BYTE chain26_0[]
static

Definition at line 2567 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 2600 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:2666
static const BYTE chain27_0[]
Definition: chain.c:2633

Definition at line 3430 of file chain.c.

◆ chain27_0

const BYTE chain27_0[]
static

Definition at line 2633 of file chain.c.

◆ chain27_1

const BYTE chain27_1[]
static

Definition at line 2666 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:2699
static const BYTE chain28_1[]
Definition: chain.c:2733

Definition at line 3453 of file chain.c.

◆ chain28_0

const BYTE chain28_0[]
static

Definition at line 2699 of file chain.c.

◆ chain28_1

const BYTE chain28_1[]
static

Definition at line 2733 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:2765

Definition at line 3465 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 2765 of file chain.c.

◆ chain2_0

const BYTE chain2_0[]
static

Definition at line 1333 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:1368

Definition at line 3135 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:2831
static const BYTE chain30_1[]
Definition: chain.c:2799

Definition at line 3469 of file chain.c.

◆ chain30_1

const BYTE chain30_1[]
static

Definition at line 2799 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 2831 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:2862

Definition at line 3484 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 2862 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 1368 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:1433
static const BYTE chain4_0[]
Definition: chain.c:1401
static const BYTE chain4_2[]
Definition: chain.c:1464

Definition at line 3147 of file chain.c.

◆ chain4_0

const BYTE chain4_0[]
static

Definition at line 1401 of file chain.c.

◆ chain4_1

const BYTE chain4_1[]
static

Definition at line 1433 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 1464 of file chain.c.

◆ chain4BrokenStatus

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

Definition at line 4458 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:1530
static const BYTE chain5_0[]
Definition: chain.c:1496

Definition at line 3161 of file chain.c.

◆ chain5_0

const BYTE chain5_0[]
static

Definition at line 1496 of file chain.c.

◆ chain5_1

const BYTE chain5_1[]
static

Definition at line 1530 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 3174 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 3186 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 1567 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:1661
static const BYTE chain8_1[]
Definition: chain.c:1632
static const BYTE chain8_0[]
Definition: chain.c:1600

Definition at line 3198 of file chain.c.

◆ chain8_0

const BYTE chain8_0[]
static

Definition at line 1600 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 1632 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 1661 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:1693

Definition at line 3212 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 1693 of file chain.c.

◆ chainCheck

ChainCheck chainCheck[]
static

Definition at line 3576 of file chain.c.

Referenced by testGetCertChain().

◆ chainCheckEmbeddedNull

ChainCheck chainCheckEmbeddedNull
static
Initial value:
= {
0 }
static CONST_DATA_BLOB chain27[]
Definition: chain.c:3430
static const SimpleChainStatusCheck simpleStatus27[]
Definition: chain.c:3440
#define CERT_TRUST_INVALID_EXTENSION
Definition: wincrypt.h:878
#define CERT_TRUST_IS_NOT_TIME_NESTED
Definition: wincrypt.h:871
#define CERT_TRUST_INVALID_NAME_CONSTRAINTS
Definition: wincrypt.h:881

Definition at line 3859 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:3495
static CONST_DATA_BLOB selfSignedChain[]
Definition: chain.c:3488
static CONST_DATA_BLOB chain8[]
Definition: chain.c:3198
static const SimpleChainStatusCheck simpleStatus8NoStore[]
Definition: chain.c:3822
#define CERT_TRUST_IS_NOT_TIME_VALID
Definition: wincrypt.h:870

Definition at line 3826 of file chain.c.

Referenced by testGetCertChain().

◆ cs_stanford_edu

const BYTE cs_stanford_edu[]
static

Definition at line 1140 of file chain.c.

◆ DWORD

Definition at line 58 of file chain.c.

◆ elementStatus0

const CERT_TRUST_STATUS elementStatus0[]
static
Initial value:

Definition at line 3102 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 3819 of file chain.c.

◆ elementStatus9

◆ expiredStatus

const CERT_CHAIN_POLICY_STATUS expiredStatus
static
Initial value:
=
{ 0, CERT_E_EXPIRED, 0, 0, NULL }
#define CERT_E_EXPIRED
Definition: winerror.h:3117

Definition at line 4349 of file chain.c.

◆ fooPolicyCheckWithMatchingName

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

Definition at line 4401 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:3131

Definition at line 4406 of file chain.c.

Referenced by check_ssl_policy().

◆ geotrust_global_ca

const BYTE geotrust_global_ca[]
static

Definition at line 146 of file chain.c.

Referenced by testGetCertChain().

◆ global_sign_ca

const BYTE global_sign_ca[]
static

Definition at line 788 of file chain.c.

◆ global_sign_root

const BYTE global_sign_root[]
static

Definition at line 714 of file chain.c.

◆ google_com

const BYTE google_com[]
static

Definition at line 278 of file chain.c.

Referenced by testGetCertChain().

◆ google_internet_authority

const BYTE google_internet_authority[]
static

Definition at line 207 of file chain.c.

Referenced by testGetCertChain().

◆ googleChain

CONST_DATA_BLOB googleChain[]
static
Initial value:

Definition at line 3499 of file chain.c.

◆ googleElementStatus

◆ googlePolicyCheckWithMatchingName

const ChainPolicyCheck googlePolicyCheckWithMatchingName
static
Initial value:
= {
{ 0, 0, -1, -1, NULL}, &expiredStatus, 0
}
static const CERT_CHAIN_POLICY_STATUS expiredStatus
Definition: chain.c:4349
static CONST_DATA_BLOB googleChain[]
Definition: chain.c:3499

Definition at line 4352 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
}

Definition at line 4343 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:3507

Definition at line 3514 of file chain.c.

◆ HCERTSTORE

Definition at line 58 of file chain.c.

◆ ignoredBadDateNestingBasePolicyCheck

const ChainPolicyCheck ignoredBadDateNestingBasePolicyCheck
static
Initial value:
= {
}
static const CERT_CHAIN_POLICY_STATUS badDateNestingStatus
Definition: chain.c:4272
static CONST_DATA_BLOB chain2[]
Definition: chain.c:3123

Definition at line 4275 of file chain.c.

Referenced by check_base_policy().

◆ ignoredInvalidDateBasePolicyCheck

const ChainPolicyCheck ignoredInvalidDateBasePolicyCheck
static
Initial value:

Definition at line 4280 of file chain.c.

Referenced by check_authenticode_policy(), and check_base_policy().

◆ ignoredInvalidUsageBasePolicyCheck

const ChainPolicyCheck ignoredInvalidUsageBasePolicyCheck
static
Initial value:
= {
}
static CONST_DATA_BLOB chain15[]
Definition: chain.c:3279

Definition at line 4285 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:3098

Definition at line 4338 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 1042 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:788
static const BYTE openssl_org[]
Definition: chain.c:862

Definition at line 3544 of file chain.c.

◆ incompleteOpensslChainCheck

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

Definition at line 3846 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:3548

Definition at line 3552 of file chain.c.

◆ invalidExtensionPolicyCheck

const ChainPolicyCheck invalidExtensionPolicyCheck
static
Initial value:
= {
}
static CONST_DATA_BLOB chain30[]
Definition: chain.c:3469
#define CERT_E_CRITICAL
Definition: winerror.h:3121

Definition at line 4396 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:3132

Definition at line 4290 of file chain.c.

Referenced by check_base_policy().

◆ jun2013

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

Definition at line 3084 of file chain.c.

Referenced by testGetCertChain().

◆ LPFILETIME

Definition at line 58 of file chain.c.

◆ LPVOID

Definition at line 58 of file chain.c.

◆ nov2016

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

Definition at line 3088 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:4358
static CONST_DATA_BLOB battlenetChain[]
Definition: chain.c:3518

Definition at line 4391 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 3080 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 3082 of file chain.c.

Referenced by check_ssl_policy().

◆ oct2016

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

Definition at line 3086 of file chain.c.

◆ openssl_org

const BYTE openssl_org[]
static

Definition at line 862 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:714

Definition at line 3526 of file chain.c.

◆ opensslChainCheck

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

Definition at line 3841 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 4361 of file chain.c.

Referenced by check_ssl_policy().

◆ opensslPolicyCheckWithoutMatchingName

const ChainPolicyCheck opensslPolicyCheckWithoutMatchingName
static
Initial value:

Definition at line 4366 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:3531

Definition at line 3537 of file chain.c.

◆ PCCERT_CHAIN_CONTEXT

Definition at line 61 of file chain.c.

◆ PCCERT_CONTEXT

Definition at line 58 of file chain.c.

◆ PCERT_CHAIN_PARA

Definition at line 58 of file chain.c.

◆ PCERT_CHAIN_POLICY_PARA

Definition at line 61 of file chain.c.

◆ PCERT_CHAIN_POLICY_STATUS

Definition at line 61 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 3488 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:3491

Definition at line 3495 of file chain.c.

◆ simpleStatus0

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

Definition at line 3107 of file chain.c.

◆ simpleStatus1

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

Definition at line 3120 of file chain.c.

◆ simpleStatus10

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

Definition at line 3235 of file chain.c.

◆ simpleStatus12

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

Definition at line 3252 of file chain.c.

◆ simpleStatus13

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

Definition at line 3264 of file chain.c.

◆ simpleStatus14

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

Definition at line 3276 of file chain.c.

◆ simpleStatus15

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

Definition at line 3288 of file chain.c.

◆ simpleStatus16

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

Definition at line 3301 of file chain.c.

◆ simpleStatus17

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

Definition at line 3315 of file chain.c.

◆ simpleStatus18

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

Definition at line 3329 of file chain.c.

◆ simpleStatus19

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

Definition at line 3342 of file chain.c.

◆ simpleStatus2

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

Definition at line 3132 of file chain.c.

◆ simpleStatus20

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

Definition at line 3354 of file chain.c.

◆ simpleStatus21

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

Definition at line 3367 of file chain.c.

◆ simpleStatus22

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

Definition at line 3379 of file chain.c.

◆ simpleStatus23

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

Definition at line 3391 of file chain.c.

◆ simpleStatus24

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

Definition at line 3403 of file chain.c.

◆ simpleStatus25

const SimpleChainStatusCheck simpleStatus25[]
static
Initial value:
= {