From 88e4a6cb0dd6712783383c050ebb114141d6b8c7 Mon Sep 17 00:00:00 2001 From: Mounir IDRASSI Date: Sun, 2 Jan 2022 21:45:36 +0100 Subject: [PATCH] Windows: Restore support of Windows 7, 8/8.1 by using single attestation signature for driver and add checks on needed KBs for Windows Vista and Windows 7. Add signed driver files. - Windows 7 needs KB3033929 or KB4474419 - Windows Vista needs KB4039648 or KB4474419 --- src/Common/Dlgcode.c | 234 ++++++++++++++- src/Common/Dlgcode.h | 3 + src/Release/Setup Files/veracrypt-arm64.cat | Bin 10615 -> 11689 bytes src/Release/Setup Files/veracrypt-arm64.sys | Bin 452928 -> 443376 bytes src/Release/Setup Files/veracrypt-x64.cat | Bin 11746 -> 11742 bytes src/Release/Setup Files/veracrypt-x64.sys | Bin 825672 -> 817184 bytes src/Release/Setup Files/veracrypt.cat | Bin 10573 -> 11649 bytes src/Release/Setup Files/veracrypt.sys | Bin 792120 -> 782584 bytes src/Setup/Setup.c | 302 +++++++++----------- 9 files changed, 374 insertions(+), 165 deletions(-) diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 8ae9facf..7084a7b3 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -82,6 +82,11 @@ #include #include +#define _WIN32_DCOM +#include +#include + +#pragma comment(lib, "wbemuuid.lib") #pragma comment( lib, "setupapi.lib" ) #ifndef TTI_INFO_LARGE @@ -3262,8 +3267,7 @@ void InitApp (HINSTANCE hInstance, wchar_t *lpszCommandLine) RemoteSession = GetSystemMetrics (SM_REMOTESESSION) != 0; #ifndef VC_SKIP_OS_DRIVER_REQ_CHECK - // OS version check: from version 1.25, only Windows XP, Windows 10 and Windows 11 are supported because of new driver signing requirements - if (!(IsOSVersionAtLeast(WIN_10, 0) || (nCurrentOS == WIN_XP) || (nCurrentOS == WIN_XP64))) + if (!IsSupportedOS()) { MessageBoxW (NULL, GetString ("UNSUPPORTED_OS"), lpszTitle, MB_ICONSTOP); exit (1); @@ -10847,6 +10851,37 @@ BOOL IsOSVersionAtLeast (OSVersionEnum reqMinOS, int reqMinServicePack) >= (major << 16 | minor << 8 | reqMinServicePack)); } +BOOL IsSupportedOS () +{ + BOOL bRet = FALSE; +#ifdef SETUP + static const wchar_t* szWin7KBs[] = {L"KB3033929", L"KB4474419"}; + static const wchar_t* szWinVistaKBs[] = {L"KB4039648", L"KB4474419"}; + if (IsOSAtLeast(WIN_8)) + bRet = TRUE; + else if (IsOSAtLeast(WIN_7)) + { + if (OneOfKBsInstalled(szWin7KBs, 2)) + bRet = TRUE; + else + MessageBoxW (NULL, L"SHA-2 support missing from Windows.\n\nPlease Install KB3033929 or KB4474419", lpszTitle, MB_ICONWARNING); + } + else if (IsOSAtLeast(WIN_VISTA)) + { + if (OneOfKBsInstalled(szWinVistaKBs, 2)) + bRet = TRUE; + else + MessageBoxW (NULL, L"SHA-2 support missing from Windows.\n\nPlease Install KB4039648 or KB4474419", lpszTitle, MB_ICONWARNING); + } + else if (IsOSAtLeast(WIN_XP)) + bRet = TRUE; +#else + if (IsOSAtLeast(WIN_XP)) + bRet = TRUE; +#endif + + return bRet; +} BOOL Is64BitOs() { @@ -14061,7 +14096,7 @@ INT_PTR SecureDesktopDialogBoxParam( #endif -#if !defined(NDEBUG) && !defined(VC_SKIP_OS_DRIVER_REQ_CHECK) +#if defined(NDEBUG) && !defined(VC_SKIP_OS_DRIVER_REQ_CHECK) static BOOL InitializeWintrust() { if (!hWinTrustLib) @@ -14112,7 +14147,7 @@ static void FinalizeWintrust() BOOL VerifyModuleSignature (const wchar_t* path) { -#if !defined(NDEBUG) && !defined (VC_SKIP_OS_DRIVER_REQ_CHECK) +#if defined(NDEBUG) && !defined (VC_SKIP_OS_DRIVER_REQ_CHECK) BOOL bResult = FALSE; HRESULT hResult; GUID gActionID = WINTRUST_ACTION_GENERIC_VERIFY_V2; @@ -15283,3 +15318,194 @@ BOOL IsTestSigningModeEnabled () return bEnabled; } + +// Adapted from https://docs.microsoft.com/en-us/windows/win32/wmisdk/example-creating-a-wmi-application +bool GetKbList (std::vector& kbList) +{ + HRESULT hres; + kbList.clear(); + + // Initialize COM. + hres = CoInitialize(NULL); + if (FAILED(hres)) + { + return false; + } + + // Initialize + hres = CoInitializeSecurity( + NULL, + -1, // COM negotiates service + NULL, // Authentication services + NULL, // Reserved + RPC_C_AUTHN_LEVEL_DEFAULT, // authentication + RPC_C_IMP_LEVEL_IMPERSONATE, // Impersonation + NULL, // Authentication info + EOAC_NONE, // Additional capabilities + NULL // Reserved + ); + + + if (FAILED(hres)) + { + CoUninitialize(); + return false; + } + + // Obtain the initial locator to Windows Management + // on a particular host computer. + IWbemLocator *pLoc = 0; + + hres = CoCreateInstance( + CLSID_WbemLocator, + 0, + CLSCTX_INPROC_SERVER, + IID_IWbemLocator, (LPVOID *) &pLoc); + + if (FAILED(hres)) + { + CoUninitialize(); + return false; + } + + IWbemServices *pSvc = 0; + + // Connect to the root\cimv2 namespace with the + // current user and obtain pointer pSvc + // to make IWbemServices calls. + + hres = pLoc->ConnectServer( + + _bstr_t(L"ROOT\\CIMV2"), // WMI namespace + NULL, // User name + NULL, // User password + 0, // Locale + NULL, // Security flags + 0, // Authority + 0, // Context object + &pSvc // IWbemServices proxy + ); + + if (FAILED(hres)) + { + pLoc->Release(); + CoUninitialize(); + return false; + } + + // Set the IWbemServices proxy so that impersonation + // of the user (client) occurs. + hres = CoSetProxyBlanket( + + pSvc, // the proxy to set + RPC_C_AUTHN_WINNT, // authentication service + RPC_C_AUTHZ_NONE, // authorization service + NULL, // Server principal name + RPC_C_AUTHN_LEVEL_CALL, // authentication level + RPC_C_IMP_LEVEL_IMPERSONATE, // impersonation level + NULL, // client identity + EOAC_NONE // proxy capabilities + ); + + if (FAILED(hres)) + { + pSvc->Release(); + pLoc->Release(); + CoUninitialize(); + return false; + } + + + // Use the IWbemServices pointer to make requests of WMI. + // Make requests here: + + // query for all installed KBs + IEnumWbemClassObject* pEnumerator = NULL; + hres = pSvc->ExecQuery( + bstr_t("WQL"), + bstr_t("SELECT * FROM Win32_QuickFixEngineering"), + WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, + NULL, + &pEnumerator); + + if (FAILED(hres)) + { + pSvc->Release(); + pLoc->Release(); + CoUninitialize(); + return false; + } + else + { + IWbemClassObject *pclsObj; + ULONG uReturn = 0; + + while (pEnumerator) + { + hres = pEnumerator->Next(WBEM_INFINITE, 1, + &pclsObj, &uReturn); + + if(0 == uReturn) + { + break; + } + + VARIANT vtProp; + + // Get the value of the "hotfixid" property + hres = pclsObj->Get(L"hotfixid", 0, &vtProp, 0, 0); + if (SUCCEEDED(hres) && (V_VT(&vtProp) == VT_BSTR)) + { + kbList.push_back(vtProp.bstrVal); + } + VariantClear(&vtProp); + + pclsObj->Release(); + pclsObj = NULL; + } + + } + + // Cleanup + // ======== + + pSvc->Release(); + pLoc->Release(); + pEnumerator->Release(); + + CoUninitialize(); + + return true; +} + +bool OneOfKBsInstalled (const wchar_t* szKBs[], int count) +{ + std::vector kbList; + bool bRet = GetKbList(kbList); + if (bRet) + { + // at least one of the given KBs must be present + bool bFound = false; + + for (size_t j = 0; j < kbList.size(); j++) + { + for (int i = 0; i < count; i++) + { + if (_wcsicmp(szKBs[i], kbList[j].c_str()) == 0) + { + bFound = true; + break; + } + } + + if (bFound) + { + break; + } + } + + bRet = bFound; + } + + return bRet; +} diff --git a/src/Common/Dlgcode.h b/src/Common/Dlgcode.h index 3d521a21..362b2d6d 100644 --- a/src/Common/Dlgcode.h +++ b/src/Common/Dlgcode.h @@ -495,6 +495,7 @@ void Debug (char *format, ...); void DebugMsgBox (char *format, ...); BOOL IsOSAtLeast (OSVersionEnum reqMinOS); BOOL IsOSVersionAtLeast (OSVersionEnum reqMinOS, int reqMinServicePack); +BOOL IsSupportedOS (); BOOL Is64BitOs (); BOOL IsARM(); BOOL IsServerOS (); @@ -774,6 +775,8 @@ public: }; BOOL GetHibernateStatus (BOOL& bHibernateEnabled, BOOL& bHiberbootEnabled); +bool GetKbList (std::vector& kbList); +bool OneOfKBsInstalled (const wchar_t* szKBs[], int count); #endif // __cplusplus diff --git a/src/Release/Setup Files/veracrypt-arm64.cat b/src/Release/Setup Files/veracrypt-arm64.cat index 751a6b26e1cc821fc61606b458fa50814d8e346f..7dd138e0b46ace814c58ee766c2ab78dc577ed81 100644 GIT binary patch delta 4523 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 delta 3378 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 DvLb=I diff --git a/src/Release/Setup Files/veracrypt-arm64.sys b/src/Release/Setup Files/veracrypt-arm64.sys index b5046d1fd20b7e62cea51836211ba21844f5fc33..fd4a65df248b03e9d77ff15e486bfdcba9220d7a 100644 GIT binary patch delta 1940 zcmZuyX*iS%8=iNVR|aF>x5*lXcg8;1w`|kcm+4f<634z(W0?#xk&@&^am3;1L@G^_ zlX2`EA!MsYWLL*f%97Nl^P?Z%IX~{_danDrulvt)KhM)LEW4H^o43Zb#2&i3PDI|5 zzGeluA=i}C3xTXc;5(3e;MxQC9#G6e08F(1u7(92LFw-e^PnS$1B9}7KJsahG)eV0 zpDv3N!Bfm|C$PXnaZMS4Kp>F_h^9OR@@ihNzpyC)@F2@+%7c4UAFNmox?zz&S9!1c zKVIb#R$s3_TJS6+B(|oQILD{H0u_51_$4y?JHb~1s8on1PJ!#5gDjv0P8|Uqu|Z{$ zi1Ub7<&30(g6)>PdACLrS*J3u2(#5C`(L&8nZQdUU??>uMnSUSaCn{p|EDvW$J4j? zqh;vy-v{{Q%Uo{uuc1$=GA^Tb;%h^ukM-@k9`@+{7}R|;BUrzLE(W9DolkB3xc^GN zJv*_;>O`%;eIr--3x7?p;$LP_Fr1SW>_q#SK+}!QgzPsF&#ldFWwS|yKSc{06HprWgjtddkkm$Oe7gGJ}olh)t?uFMAIgE^_s8B0hf@`MU zZapVXjpF?1^7d5^I%gRTXPGw*VKY?)Uo4sMS8X^-w@?S2# z7@t3R9jYUC?rD^i@mbO}kdbU=u@EoWPFOP$gg6_k#Sle*#*_^#;BLH_;a00w3rcag>*z>{Ta5y8p z0i;ic(t2U2AM}Ld$3ct#G`si$+)rh^dlb*pAiLdQg`96&vb=cj*tCa2#T024rmHcW z4_HLTO@_r-#5r7fm#CbzEUYJ_eJP+kzT(L8D;19rQUWb^prG}B8a|#k-ALDyqUiCy z2dz=zH>9MfLoi#*s0#eTYOYN7mN6#tCvhOdQ(=+rgrjA`-mxl0D z3Mnb`kMxHS^_pAmPm>5xT*Q z3HU;3eA6d+iAZ*r8)V%*wyV9cg5&}aKqU>3g=l~zBoA_V%44`CxW&3Ea^mbYZ#O{F z7R>4Bh+3SNO#*Z5CCCp@3r@4nC4a`+m~{hj4i&EKn@8@~l%;F1Fdg2p@Z`$pd7>S4 zK{c?4+~l8}U2bKz!Z_Mj>`smAe1F7;PaA(fxa@6T&-N4DS7S>789}XT_Y=6vH{?`L zx~rr-SI_u`o+Gd=?4`kJ5YK&{l2cu*;O%I>-fr=#`3a8a)`MJaYGHWiYL4=jeAkSU zSl$48^~BNTkE`NYsnR_irT3hg8ci&h&q%miru@bVjE^)7W|n-;()J#1w;oLl2ql(O zANPtHdikPpU|LYMjgh%nrHvPNbe`i43igh=)0bAVwlvE(EB3}S*6{&K z(+X+}wX2=GHI&{_iX`YUXV~C=p8trIkyy4PaitqGMj{>9PhhsC4g?8-c4!DYveGW?2#S)}p%tJN<^5THUT=cSBXs$z)>! z*?h9&(2Iv2k_UNvbcprKnU4|CeyH#h_0vOtsMG>Gu*L$I|F5m=T>vex`}*7OaGv$+ zuL`~!ujM=BQlm0qygFhf=Y2NQ*fe^C0c$RT3d%06=qtt#vHN(xz_;?Ot4rh$rOQQy zV-&+WP^WVlR}fHI5$rbyro)^?5TyR!`a??GSXz?T;QJ{$K`xl9W^;QQ#YK5^X~p2; znkgtCNf@38g#>=Q1Aq^O;HCixRkWaabCeeUSJ6aIeTg2|B{kii0iRE?nzB{fLK`uf z*>-+SGo7rTf)h<5$>UE@w+A{r56L4{)aC-%n&9_DP z4R2ukzXYrg$mdsHS0ra7uIsr;s=41SH*sZvPuWtMm$9F{Q1RW3iz0 bO_piqODKdCMYJH4 zEkfDa@V}$pv+bMCn_=X|$w7o+)_pYvT=gzK(!CoY-78X}Xm zp%ySr!|)VnbPAMmz`z3z9tiNDs!f3+eGMpAlbDT=Jd_W$(nd%Oltm1^uvS;cZCYMn zBLf%v>Q?JwjJ$eSNYfAkfxuu8fM_U(q?L*?h+1QWQp3nZLm{w=k0eA!S`aS6q*b65 z=G2Yo-gTOLDt0gGFT(N8K2x5K>@zv$`b}gaI}{*NWdlS+92pLS!eA`^aBgiqk2tL! zcj(>us-nXHd$?vt0x%G4uc}r86W7rmctJ0l2n$ zMzQ?SG1|>n)(eM`1a?tQ!BObnrwDFn9d~;NG-ZTNZjL_(X`#3WAi_j;J{Ob<0w=_);O^{N*^@uEs1~Lht&@evt<`hZ5r}sVa686Hk0U7DGi( zLOw|SB2$1Bn>SO_>Ru$51qqlwFSJ%knR)w_FR}h2i_G&!Is)0W-dUlgL6cZIhGWhN z4a>#HNkN1=N4`fahHgZd435_|w)$kbH{w{lbt_V-$GwX;&keaq?3)pq7)3G|PZD<6^5 zR7b0<;pkGXXUl^t)(T%K5t#L3)IZ?$w5jphwU0NYV^}u6Sx*;OjaBv(9-pBWPh)G% z2*qn84_&(YR$X^eBJ{`ehw#Nq4A1ojc8(~K{V<8N~o^o_ho<1T1V zQu{=-`y|ICX8#rjheDt^M5rG?gn9u?;M@{mhC(+H2ymT50VqmY9Kit4A!($MP%0{F zI2>T6RH7&sQ2}u94*?LM)G#495$r;cCjC&lAO5Pfc~v^Ej+)g!O;HDgD5pgc+yG}N z`{hMrLZO_V*d0@|Z+15>j*JiUH2{Izy+ff0H^2pu-7W*rDB*M7-X3c5^6qwC9&(Ob zOVJCQ=yG=MuJU+rIpVPdK>hdiuqgRo*LykG`QRP?+QJTJ=YaR#YAB1x%Gu$)0VT@l zgb?z8EFevmB=3q6|J8#X-sP{&DL4Gt&ILF?X@^E=0)&0QUL*qi3;`4Yh3%ohpqvtv zj=aFJ`}z6(ttST$cP}SzcYJ{S&NT{R51a^vLQ2-UIW7VLg#z@uV|Zu>`3W0QjX}q; zZj6phL1$i#aod(PqD}~i-cdF4RVLihT|WgCJr;G;r2BS*J&GO3MHi0lpH9aQg)F^f z5Uneey|s6BE;AZK?XaR+U{3TI`z%jdeKzKh5^ledC1C!&S}bklxt~)*q>Sx1YrkiA z3d-rn2mI=bsuYci+%=Y$7_Xg}{2HiNCeDSCd$Y!TZZce`Xli`qyPF&(rpo>ki$yq`>6fc{EkG32xX zqknM^*X^X_GiW~_m&Oi-sv*IeGjN0WPq_|`lKc(aZs-F#I%p87 z(RxR>AbcCaL55KP6aW&j5Gg`HFOUT9K^1h!Hbrrw>*$krRM;+d$@Fh(z2rU8&tqA; zp2Ia2sA}81_LMc}Yu-obx9Ym&h0^4qFXNRwCgEj9x@HLf2$u7?11VP$!oFN6maopS z!albSy2|9roR=seRT+K=Umh1^pVYfpb>vhEJ?q4cYMBbw9&x^4bLmtef?>|7FQ|+? zcj2(txhVNaqlH#^52lv>ZYD%JsY+k5$YU zk{}n}@pqleis9J%;KO|F%iFlTQV*rJQ=wh&y4@~lD#H9!SWA}f*=qJV!!@PFBb3vh(e z1sZV>FaflXv>??XpkxIo3~aIuJg{YLzVlZ^rE{R(oEi2BVi(EU*KSEc9;9JKh>NRr}s;l zdE%*wjgg$2U&?lEFs`xqQSep;_fU+^WA82u`FQE z*c(16J4p-oHG2669{U-*_;%)p*eD|KVDEdkk*66dW)jQ7o(_Yw;{Bb}kiff- zmi(sM`p1v-_6e>MEXEDv@3G<;Vss_2XQ8@p-(#7CN6y3&45(kP07PnM(1Te1q%#Jp zLdI}gE&l`u_->OORJO%rTckqaivMT^{yR<~{ImtXNM*~5U;q^b1qA>DC@N6A2uL;< z3`PN?gi$#Tg!N(s06xn7nHkv4@J_xsZwK@tyd%!dDG=xF&g&DT%A6zjMg>*kMJs6xQ^2%c6N6>IPyjyJVqn z4<2-BoRbhtSVQ&QKXqVs)06LZZF{wnHLt|l20DFJuv<2xZ$xTUie+rV^9E`ive-pKx{?d2I6ed-S7yRJBV(6%~ZDstX%2k!@q* zaq-4nDK*A$A!o+9H{EpRBmEh|=>dql_2-b_!pyk}n(d)J=`x@NPWR>>nMSnXXFmf3|Sn4dDVZj2jUA25YIg=O}3 zS3#1vVOIq#KFAX;r_Z{#`o#qH4E8pD+Fg?WL(-Go$rpua51sJ-HaXYTUkLf;(k z{G;)yAfu2EggtW4AIrWvd%`Q`B!BrC7oMSDnvZHWAErLu6L4s-*7wGH@z>JdP<;{H zRxQ}pqNmw=c~9FBj&_M8&M~CetKKJqPRL>V2tIOvu)!$0lyyC9k4r>qC6G zLpCxw&h^fmQ)5Cu>Gp7}16}Z^;FZ8>v!vy@MHTfnNr}w#m@_=qemTcp`1daQr+?a0 zUw}WSc01z1RdPR%9Py)!$YYlbYVOe76y6(=2=mOnu=uhYf$=7xzTu1mnJ=#Rc&t}&pZq+r0B>kWn zO%FK_W5rI+XPC`<1p6ocHfBbi)suAr+*DkTFRH}cktIJ2_Pt_cB%FOfX6?UhYh ztA&6@+KDlRR9vVtdhP!*{Uf!yrX>~KbOCF_$nss=SGNr~#x)6Y0};K&39H=KK5-py zCbC_4g88!^ugQe)upq8b76-CQykf-7cib0}1erZ$M=l5#Vw71OKC?jj4RKPxYq_JKkp>zmRd-GgDK;sG(+}Nd8tHd8q$| zxMEY1$Mp4)dxMPZ_3v!)9C4G?gAaLI?wr4fk{Iq{rne)+!0_@+U*Go#CyRa3ojmlK z6!?~~PHgr!l_xy;9KSb5Dz(b2O(f#02CNE2BQrl1HfLiihGnjs@HAc1tt}#2RDQnE z8-lfGMnIp2rc<56J#uAh;QcmBS9pl`u!zvBSu2*$UOsQm)Zffx&pT-JZ7;QCnLf+> ze$M18W|T`z_aUbS4pvCZSAr6r*a8g4h{-*p+~ zzDKHhOLs50j=7j+LDd0EWko6NQF#>W>qQdN;2>j;PoYxM}ld*t@hAj*IU_iv}CPsEQ^SV28fISzb6$O4#f}|oxnPW-x)R~A!j@aR#}iR6F3PW&z4|~fD(8+k;h_=fF-40Wx!y2R6hsB1#nPqL5E`6zJ&~BRC3$<1aK7B_K834 zMM-fmB>HTmFyX-@F2b=bZiSI1SFg*?*?drqRlAYS$H(+)6@yu|1j~j%hkK$kL&_Ad zt-*rsL{l2>2}k0Y<99b5>C^4jmClEKll(F)?GZTw<6iQ2Z3zDQ$dy*({(0Z%nYhL; z5hnzFJKwka`l?wzd)9Yc>2iC{m^`0aEpEVT?w~6+?!pOzo~&`X*`$`5^3kZFWYPFF zGx2Hr$>F}s@>bQ+=vk%&nHQq3mreck-@(H%l18=+m^hPzW@vrQq9H(4#3~ART zL@ih2?WTE)ZOR3J2Wd{ksy9E59&QlIiY~q%XhVmVH>T~pRuEtDZNTp0!8|kH4o2BTpFp%J<*ukM2Ks_Jj@iednM<`oo~!AU8JQzGV_(K8L`&9`j&mec=Z@ZEdLa9EZ2;o1vVt_Jb#bNtH>6w=-}Gpwj(A{(v3>U ztt&fwzhSqmfUeT;yYqn!fG1@PLWuLgIY5C7kmaIe{*XY}Kg~;duX8vBSsY~&5*+Mh zy}dx0=koVPivQH;k2YbE+m8o|&j7#=5Zf+;u?zQ3t+;bt0Ed2Gr45VH*&gOr1n%|c zn{Llt%Ch;jY7BLEt{ELIl6eV|g8*jJ2K+)Lp8Z#vNfImJoO z#alg&-Df9H>W#{0b4p@AKco_9cy>UYqcGmQxQ!exBU5}nK(<|mi{sBsXyK0xF zEHaY|KI&uyO;rtRiNt=7&en$?{IR@IYwu@wO4PzBocN8`^5d26_$)3j#%02igQ|z| zQu;t(&})VU4TWC5$1AuWJ~R;DhA^ft&11Gbt*rPdK6}HLA~$?Ev{z&mRKi{_pU$qU zviNR0iW3t*RPnY`vd~M%{B@(n&l3!0Ah z)E)E1#hwZ&s7i43|EiQa_IUSef=zUOoIGgcF(AnC`~o<-Eb)N>1-=li_f)TyNDnyv z3UCg8hLZm|zKH=M;G_fbjgPSXL+!-2U%QeNOv5OF7^aK?g8={lojsNUaNET{fcAfn zv;SkD{fT~!y$bWjPc9RNi|UBi+f)zlwyF^|YGtCU%gALNjol9ip-(C#XK(oxiGZY~z%}{?WAAclrmAyhlRlcZD=(uaHMa zMD{anhFtr;lv5|NkGq8R{o-}Ft9s-G+P?V{9XIF?6W$fldODBxh_EpG^myVA(%pWm zsb*ViK9&{0-fk);3Y=(|+k5(ai9B`p`r?NJuVTzjuAg-~irXa_8(}_4oYFU2zbYkD z@ZM)%T`F?~Arr$saQnq)`^Q0oRJ{>Ac&<-e$OVlj1Evc|?e%O+sY8(htpa;XdtR5Y ztPGcw%p4_bCU2wPQxN^Sc0kO(M4+8ENN+Z~bUEoU5hH7Uv7kWs=8|g%^H%=y*L3&a z?A;NzH}7bGfNe+sfy5PX{x5+mK`Cm(!U3( ztQoOj9MRO(1Bb1*6+C1@Ys-}SElCS82p^ZKrBW0)f9Lv_UD;=wXm6c<>zk{V%>1R| z*~<$&XQodQ#RXgI_=9AG#|La=*!Sol&Q-kefsNuHr4H=1pAa%&;XW0sf-^m%FBWZg zDbYfvR5EtLUub}yJuh^S?SMxm!RJMCWO7JNlH+$vTx{Wrb4v5FwG-oo4ruwk-9EL~ z?IJ}k;kp8@h8+8GiTRy-HB_R;C2v03T=>29>9jfqS!vho){y#Eap?mvnhS<^P&H#0 zw6%A)b06)|Qmi?9qQ*ODoFcAgQ(BG04klvx5VGJ04fENJwvJvcK zgT%tI#QO`*U7U&4x2mq@i={1r0J;5|3M~R7f!N{67RbPhl4 z)-{`{(>bG3hnC(Hz~9j6%;CSbRH$F7DY!@Qds!Iurrh<7{Ja-%)|(%tql>#mZ{nua z@QaIY1a!rHZOT8hSB@hja!xz(%I~emHu+;aYBQT@V)ElsCyj*O$n9z9CQRhKf*E+} z7asOo+|1W93G}^gB-+V4;g@q_<3m{exsOd>neh94EQog6jC1y}4FW_lw%Lh-wqb$Ty5si2#u!p5%E4*~s1pz5ztH{oC;%FyK2A&@FS1{!iwfbiEYm zL{K6-UW&n|XM{PMihYf|bGM-;Nc%!av-{bJ{o>E&@6xb)%xWGSyR33)CV~E}>+Q1g z)s{u!W_o_K#A&-LM zzZX@V-&}v_v4rNPa8D~738pcR7uU{$UGjbwzjUU9u})2tEZ}k+1@~aqxeZcC6a@bT!9p1K4dTF zvl<9L9uB@z27w+THCG_h*>~)Js3<4_3gG@n7wK6A@(4-10;&0*`o&fucN22h{i^L( z&+VS$d%xbg@ZCT_qBQR1Da@vfL^NK!njRhCY~fpOI9jeOY(yPs>}hwi6Y^P1?3r8c z`BYgx!_gJS<(0h`zx`l}W@`6SVpD_-63_!wc~V&%Srk*F#JW z6i}6X4`CnFmh?y%dl7u_Xi-%;LC||B=15U0veT>g(A~}YyvS~gtF_M1*t3Uh5mqm} zdaFyAY>W26?uIcKGf|t<)1-w_xhQs1i9XxlH8!-~EgDqxLh)(A{lZn~ZTXpAPpcOu z&y<3{V{_1^neI}D@qpOh&P{Ll!`(l3E_X|d1JL4NcAi;ZN&Y+Q;*|8d`C!Obi)O@Oc4T=Po)wzW$P7*u=fs;+H6QJJu%xVNyQb8vCDjpK%)IC^A~8z*cWVlkJwF`)JgyA=K&KWbT^zDsxtYIAs3nim_J# ze`9zz^djkXGcxIK3pS_)sfo^Z-*f!s56P#ahiM)!)#m9AJ~k2BKT$7DCm(BITes;; zdeedw6ooiSu&ffTbDP`o!mix-K%JgjUjkf#c$T*I7D%-+3**YR*-~_ zQ90N>gikKC?l3b zG8M{HYvGkiUGZ@Q65>X;cjR=vY>`Ru$m?2A+F!tS)RMO3o zP$F8m$W|&#mMBZ*qGa#Ub36Ck=RVIl&-tA5U0$E>_w)VZ`#$f_l*2m*6v$8?=HSA_ znZ|ub0B~q2L%nMkJx@pJN^gb5WEX1}8$U$FCit+LsVD>v2Vy}SRtty6;nV#^6c_+6 z46PpgJvoZ^5F*OjKg;tm3%^`1`{b~<^$*miOiI9M!!4#I@Vn0cI|S0pV8SLspX#{v zIpy<8*SszO)h7-X_DC=(Y)R>tDgYQ$hE0xn8alyp#HS^RSFIw8(C9gQ8=|TOpx0;g%+O21}Y96JE z-@TWcbTK-n3i771{H|r7)Z5_IPEX`C-!)!E23!B{<^HO=r0RvzA5ERb2&er`qtZM@ z>V`=H{1*&=JI=il?QfOG$NSDR>=qz4~D7r`*QR2K^y(TGD03 zBQMggAt6@pXhW<|T|5QtRFbWQdr^W{X^@@psL*ObU#q&m?)R|ive9eD1}n1JR_}GW z@SaCSyFJwtq2bbXS5#b5XKdm+UY{x50G5FQ zK!(Wne+WqA%PyLS0&G}*5W&Ia9A^r+v%#PMI|O6^CpdV1X^l$&fR!?ULofz#U^hW# zDxlV^CFmI74H+I^IYJr*2{hVwnb_7Td?e>5xKHrH4!ezQ-1FuZHh;zH(w(149L)0e2yE0p|mi*4uM040@KWn)d?(Z<9 zlqsGpS;8vl|Du|;_Plo;p5xYV8TG+7F8R0wzcWc=k=C2HKPU(atzn_oFAl@ya|*%>+y-u?NLCoN1mQvHOSdWs`X~eC6)q-ou+~o8BsR?hDTr zOVFvJLHm4mV9HlS-VUua^Eg`9i>cq>NhxGNwd#TKCXbinSYAu3#IySg=|9W%p;w@R8)De#=4s znur)l!ad3E4+{@7y19r}Jr#9Mp{;UlYgvX_R7eY_Po}wo9wI{EE_1>*Af+@u)a2~> zi;b0*XX|_;m0ga2s|HK98u$N*_j2X+8xvSDmBL+J?3+dC*R4C~^#zG;ic{Nd?# zEZ?lH)q?l2>!Bh(P}t`=$3W-)hehRlj=cEAo$FuM&$92V*di^vOCJl|vK67sJmDf$ z&k<`Br#k0nbX7BPM~%rjzMQe1?L9mDk<3c;kY>7jAmJO|wPX*>QzmSTm6}aEI=6nS z@y6fu(ijis8TwM15g%TQPwouW#Qes4C+V8gfu2DhSH}x_^MP{y@^mM%DPAsdY%a)c zG9lOJ%u`nUXx~H0n`oZ;DM*(=$=GB?OHz!||o{YHo5;F)tNnJCNYT92wHpBHwiFoKbMWA~=+;>fc zQDM1)zS*^OnJ_r}OOOH8XYMHe4}Vf(PADNIfje*TK@_9%RQF{wsvE1iYjQ=YlpX`p zqpw9V$5o=3NyLDetC54Np2W`RRb{~H$J6=_Rtr9NUWn^ zk5^hIWV|cId)V&C4ko!F5?CLLwmZK?aCVZB7F)k#!Kl{J)RSM-g*=_yTV5`-E^*vIMIB~)XC^6#v}6c z)F*e0VIY0uZ>S>;OoXh zDCVJ26jMMonf8xoK{*(@VM*SbIx9pPeSHXf*6Ny=@K-8-C+h@jeZj{1MyO%t&j$Fb z-vK=A5Eugr;U;lRofs*TACx$CI>Wam1MZ0#67EuJu_B)GLkKy95bQk^FNG094#}K* z*39i!^70L!y%fIk*owCCsu?dG?RvSWR4mtopJsKPocj=VIW*$v zX#9xDw@AsLM8$?mrBv>^iY^bLfoWirShGf#`02<-%SP-~G9Wkx6l7sKAJP7|XIM6%br2QcTYbi=I@|^SBiu%CNRv5dv z5prC=Sf*wATuw2$PMNk4sQ+YuTYm2rNpy+RaWT6&-NB@z;K}u`ONPp(^rjm4sMrwZ z{a&o>-NmW=Bf?*loRAau|M-k|xKSQPNJNtQ0Z;Nw&RnK^2VswFB3{A3a%OYdwKsYz zrtgr~F-eC}f}uAp@eg5}+m5nt;>YYW`RiV?#H$D{BG>gtI&U8j#`?m zjY5mQ69RajSoX|TcMg?Y?jFL%D7qtJzeH;`j0$bL)F`viPSzjXcI`XdwQiR2EiWLYC0jEvBeU;S zn~Iv3x`aL6U#P7eow$#I@j#o~Yd%_TC+*L!$=i-7+O!_m%SgW#(vZ6O%~dHnduwwb KCxD!CgzsNky8>4L delta 2869 zcmah~c{tRK7M|Z2Yh^6M3?W;VVKf_K3>v#i_R5-RNTX0mB2&XmCR+@XCDK@<&vvb) zQphNT%2rWGC`-Arq%7C>eckVQ?sxC=+;jdo=e*}U?_clpp7)*~JmF|2>b;OCl5NXg z*#QWHbD5}~EvPdEPEwk6$Zj9>yKR5Ruk_KyotZK49aszoi$iY(QC~mhj4am(d|P8X zM7h$DK-!7%x=~jXPZzfYjL1ihSrfhI)D#<=Anv0Cn{aK+%M6(xp*zvK^M z{=)HsAGt*1Tawa4k1wr z+ZH%3009GnAT$$j7uxnqU7`{IB$o-;LYRQ%)`HC44OcZzH;-I?h$Hg{UXIU>YPzzr z)Q(l+D_e+G*LfieIqidBp<^uvG<-u4(pdDr<%dDz2zvSiJeLVC7dJGpv_|30%`H$w z98RBWf zL&OrcMs6}Z_rDo6x!dJc7`?VMyFBStm9kU1ri+r^*)unO9B4JBzME{OA9Y=E(L=}= zuFZ_j%m;m(uAHzcQRPcj@;(`WTn{XH-Y7u@+b=&j&%GpuD5*Wm&(`JmEf;yea@p42 zp;|v`$8T!cH5n{7nO7F5_PQ-y=QUH$8b3yQP}o0aQJ&+n79Z>4#Q0{1l=av>Jn3dQ z=BC$~xb!UMPNO-@?}*Vy{=)uqJaSbYYxw5}Yg^&mK%b)itH#Ue3tCr{2!_T)Cekx~ zm=}Bg;M%Tnb*^`$KHapi_dm08mqx$nGtvY_EiZU9Lb5JyuK1FJ1#74M6qx#N4 zC(bJiJE&oNmFDG1&AtG3J1Pe*Eq&-i{-CH{gZSQua4m3B?`e)<^v6gOwd%$m*+8d9 zBU*)QNnVJ6Ipv`LFlav0bSO&EneKR-yHfF4BY2}SoN{(ZRMy*)?o z7TMjqjus6ydPB@<;b?ai%13@_T2B#0eUvaGx5drtF|^yKLdqvy0;MH{ikAu^)Lv=Z zYd#)XTOS^1cuSenM__4L8=vaaS9|7;l_N!JIv;(W{-U1CjfaOOZ0g{fQNieqp0u(D#VY4ufHXN6o+$@MH~*{+pR zGB?d@$vlGnmiL)wirjSaieQL{$ebZJVTV1fYoB^a06xlDp9={;NQG`n9v0a7=@Of( zrcae8OiC9`e0@*2N+mO}yPLiby?*;bZc)>lq)T^PpPzP8DkmMc3mXvEuHj#J4@>3b zR6s?7iqnE%0sQaV&%xx(8@pC?7blNC#bxL{Y8L_7h+b11Cl8gUmoTc^aor+4Pg47j zwD!HPrf6?Vg6jXoWK@%$%hQ_Eb*oMY4#-jcs}q_(o96YM9Lf47*3f%ph4N!g{X&y^xfO9G}rS@?OuY^zj7CqVgpR<%gE13ko_)edJ9)xM#PQ zKLVA+P!xq&-P`h8EgR!ztm4f^7{6Vb)jOG2+Z$N6;{^bHUlA0kYJz8_UB3~^)UyqG zPgl}hQLnlGh}ZD!{CJ+~Cf3a=>!0NTahxX8jxJ*3JrI9Xp$D=N81}d(YFD_h;2@d_ zCUe&{{)azlaz`{J;rRRo*i7l7aemgB@W2Yc8cU7J{@iF57plYJ#%oC*zi=o5t%`vD zWqSH}eJs)AF93u76F^@;oBZ=H41!e3OICI1diIIfl8vtHyJ^ zvZ2H1tn>BgX)D>U$5vTA@_AxbMg8&iHgchHD}i4~`>%w#TLK>3F6~t4-~BllNmk~6 ztH=yE^eP0Ndk&i-`A#iXm(E&ujV%VA4}X-GB3|HjBbAi<%M-rKAUQokjMhmN!JOz1 zT>E;snm`GCCN36{8E}icT_=(8H+HltM0q%7-({(88=aRE<#9It*)YDJh=lt!*ShaE zXG?cfKmX&C{d!!$HbD@C2?kYDha$w{+4Hhhae+QMyMi*LolDk>*Q4H?*qN4Wcgd`@ zhXxLCriL~P1!nT{fg`IG)lUu5mux~A*=?0)ST|>%KL4tBPymYZIb5|lF-9vb9-5L) zbBj#0Y3p;0G@Om9w^;C-S{i~opw8J{EO+d$Ga0xlDq*`X;!?^z*Ec0pFTv-h>9mHp z<3?ofp!R)rZtVnP_Xx9&HFw_5mFle3#{E@Eic-*m?@F*{3tRc+2d(w&Cn+DQ8G%;a z)F=H4U8GgRth>uh+MY#7)+(0)*A8`Av-enyFq}I86)7&H48KuAx~G0}xZhEoSV>nt zm;^11IsA^mW)F3{x1_XTJ>v$Cyu_1K1?2bMpm~vwily!)O?*l}ZK)bvX6A9{UD&|a zpYr7VNx_QX>6NqZJTp@+qen7#F{FyjZ+@A{G`*9fn>>va3pUI5SATSO-HR9z=1j@; z6Omjm`Xn7APL?^$*A`BQ_fC^|N%FY1DJn(Ha<#4hgbzY3&PhtkOnBENbrAxSv;jc! z;RyCc;aL;SXpr!iHXX245-!tZWk7d^$IH#$w=C>8ORmh>5Q56BIF+*Zze;yf`^Oma z4fS%OdzK~Vxlbi2{{3&IBn+}CidZG}RfK$VW9G?SUxY*Pp6QQ0N}b=l2*!yMmW9?E UC%3uI(lvwEQjLw^r(VGR1#>X?YXATM diff --git a/src/Release/Setup Files/veracrypt-x64.sys b/src/Release/Setup Files/veracrypt-x64.sys index 4c800b444221e2e06d1649081d6fc75be3ce7e63..a7969ab377036e466c211d7b31e7796362ccee93 100644 GIT binary patch delta 4467 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 DwePD- delta 12550 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 Kfw_-}=>GxhP*8LL diff --git a/src/Release/Setup Files/veracrypt.cat b/src/Release/Setup Files/veracrypt.cat index 39cccb3070fe55d74d83448c2760e4fe76f2aced..655ec3984c5d336b5ac66a8db0892a622fa7863e 100644 GIT binary patch delta 4509 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 delta 3473 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 U)ZU_aZ@NIZs1UMAAJ*~z07415!~g&Q diff --git a/src/Setup/Setup.c b/src/Setup/Setup.c index 6423b6b0..cf57cb70 100644 --- a/src/Setup/Setup.c +++ b/src/Setup/Setup.c @@ -2231,168 +2231,148 @@ void DoUninstall (void *arg) OutcomePrompt (hwndDlg, bOK); } -/* IDRIX code signing certificate */ +/* Microsoft code signing certificate that signs our driver*/ -unsigned char g_pbCodeSignCert[1903] = { - 0x30, 0x82, 0x07, 0x6B, 0x30, 0x82, 0x05, 0x53, 0xA0, 0x03, 0x02, 0x01, - 0x02, 0x02, 0x0C, 0x05, 0xA8, 0x0D, 0x83, 0x5C, 0x41, 0x78, 0x8E, 0x65, - 0x03, 0x28, 0x4C, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, - 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x30, 0x5C, 0x31, 0x0B, 0x30, 0x09, - 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x42, 0x45, 0x31, 0x19, 0x30, - 0x17, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x10, 0x47, 0x6C, 0x6F, 0x62, - 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x6E, 0x76, 0x2D, 0x73, 0x61, - 0x31, 0x32, 0x30, 0x30, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x29, 0x47, - 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x53, 0x69, 0x67, 0x6E, 0x20, 0x47, 0x43, - 0x43, 0x20, 0x52, 0x34, 0x35, 0x20, 0x45, 0x56, 0x20, 0x43, 0x6F, 0x64, - 0x65, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x43, 0x41, 0x20, - 0x32, 0x30, 0x32, 0x30, 0x30, 0x1E, 0x17, 0x0D, 0x32, 0x31, 0x30, 0x38, - 0x32, 0x32, 0x32, 0x30, 0x31, 0x30, 0x34, 0x32, 0x5A, 0x17, 0x0D, 0x32, - 0x32, 0x30, 0x32, 0x31, 0x31, 0x31, 0x32, 0x31, 0x36, 0x31, 0x38, 0x5A, - 0x30, 0x81, 0xD0, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x0F, - 0x0C, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x4F, 0x72, - 0x67, 0x61, 0x6E, 0x69, 0x7A, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x14, - 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x05, 0x13, 0x0B, 0x34, 0x39, 0x30, - 0x20, 0x30, 0x30, 0x30, 0x20, 0x36, 0x31, 0x39, 0x31, 0x13, 0x30, 0x11, - 0x06, 0x0B, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x3C, 0x02, 0x01, - 0x03, 0x13, 0x02, 0x46, 0x52, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, - 0x04, 0x06, 0x13, 0x02, 0x46, 0x52, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, - 0x55, 0x04, 0x08, 0x13, 0x0D, 0x69, 0x6C, 0x65, 0x2D, 0x64, 0x65, 0x2D, - 0x46, 0x72, 0x61, 0x6E, 0x63, 0x65, 0x31, 0x0E, 0x30, 0x0C, 0x06, 0x03, - 0x55, 0x04, 0x07, 0x13, 0x05, 0x50, 0x61, 0x72, 0x69, 0x73, 0x31, 0x25, - 0x30, 0x23, 0x06, 0x03, 0x55, 0x04, 0x09, 0x13, 0x1C, 0x39, 0x20, 0x72, - 0x75, 0x65, 0x20, 0x64, 0x75, 0x20, 0x44, 0x6F, 0x63, 0x74, 0x65, 0x75, - 0x72, 0x20, 0x47, 0x65, 0x72, 0x6D, 0x61, 0x69, 0x6E, 0x20, 0x53, 0x65, - 0x65, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x0A, - 0x49, 0x44, 0x52, 0x49, 0x58, 0x20, 0x53, 0x41, 0x52, 0x4C, 0x31, 0x13, - 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x0A, 0x49, 0x44, 0x52, - 0x49, 0x58, 0x20, 0x53, 0x41, 0x52, 0x4C, 0x30, 0x82, 0x02, 0x22, 0x30, - 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, - 0x05, 0x00, 0x03, 0x82, 0x02, 0x0F, 0x00, 0x30, 0x82, 0x02, 0x0A, 0x02, - 0x82, 0x02, 0x01, 0x00, 0xCF, 0x50, 0x72, 0x0E, 0x92, 0x17, 0xCF, 0xD4, - 0xC9, 0xDC, 0x6B, 0x59, 0x54, 0x34, 0x12, 0x96, 0x11, 0x9C, 0xE3, 0xF4, - 0x23, 0xA5, 0x70, 0x3B, 0x48, 0x24, 0xD8, 0xCA, 0x2D, 0x01, 0xDF, 0x4E, - 0x4E, 0x6C, 0xBD, 0xEC, 0x26, 0x1E, 0x8E, 0xF7, 0x13, 0xD3, 0xBE, 0x5F, - 0x47, 0xEB, 0xFF, 0x71, 0x1B, 0xAD, 0xB7, 0xC6, 0xB5, 0x36, 0x58, 0x1A, - 0x26, 0xF7, 0xFE, 0x20, 0x9C, 0xF6, 0x1E, 0xCC, 0x2D, 0x9E, 0xD3, 0xDE, - 0x2A, 0xF6, 0x2A, 0x10, 0xE1, 0xE5, 0x71, 0x9A, 0x16, 0x87, 0x23, 0xB9, - 0xC6, 0x6C, 0xE5, 0x02, 0x68, 0x88, 0x3F, 0xAE, 0x54, 0xA3, 0xEF, 0x0A, - 0x6A, 0x03, 0xDD, 0xAC, 0xA3, 0xAF, 0xAD, 0x10, 0x23, 0x75, 0xE0, 0x4E, - 0x9C, 0xE5, 0x6B, 0x6E, 0xDE, 0xCB, 0x4C, 0xF2, 0xFB, 0x87, 0xC7, 0x3E, - 0x05, 0xB7, 0xF3, 0xDC, 0xB2, 0xB2, 0x7F, 0x66, 0x39, 0xEF, 0xFE, 0x88, - 0x85, 0xC5, 0xE1, 0x25, 0x8A, 0x8D, 0x4B, 0x17, 0x96, 0xB6, 0x4B, 0x03, - 0x1F, 0x6B, 0x0D, 0xEC, 0xDB, 0xCC, 0x0A, 0x51, 0xDE, 0xD4, 0x9E, 0x21, - 0x9C, 0x79, 0xCB, 0xCE, 0x67, 0x7A, 0x08, 0x1D, 0xA9, 0xA2, 0x3E, 0xEE, - 0x7F, 0x28, 0x83, 0xE1, 0x1C, 0x37, 0xB0, 0x31, 0xD6, 0xFC, 0xA0, 0xBB, - 0x0F, 0xDC, 0x48, 0x33, 0xA5, 0x45, 0xB1, 0xFF, 0x7F, 0x1D, 0x3A, 0x60, - 0xBB, 0xDE, 0x61, 0xEB, 0x74, 0x0E, 0xCD, 0x17, 0x74, 0xEB, 0xD9, 0xAB, - 0x74, 0xBB, 0x5D, 0x7B, 0x95, 0x5B, 0xEF, 0x3A, 0xB3, 0x19, 0x1E, 0x1E, - 0xB5, 0x74, 0xB0, 0x81, 0x9F, 0xCA, 0x20, 0x51, 0x5F, 0x49, 0x58, 0xBD, - 0x8A, 0xE0, 0xFD, 0xD6, 0x4D, 0x02, 0xCE, 0x02, 0x9F, 0xD0, 0xCC, 0xB4, - 0x00, 0x92, 0x18, 0x02, 0x94, 0x1D, 0x52, 0xEA, 0x2F, 0x7F, 0x8F, 0x9C, - 0xEB, 0x6F, 0xC4, 0x77, 0x88, 0x7A, 0xCF, 0xD7, 0xD0, 0xBD, 0xF1, 0x28, - 0xB6, 0x91, 0x2D, 0x13, 0x8A, 0x96, 0x2C, 0x7F, 0x8A, 0xDD, 0x13, 0xA3, - 0x7D, 0xAB, 0x85, 0xAB, 0xF7, 0x89, 0x3C, 0xA2, 0xC5, 0x8C, 0x8E, 0xC3, - 0x91, 0x68, 0x7E, 0x41, 0x6F, 0x92, 0x29, 0x41, 0x41, 0x55, 0x32, 0x30, - 0x1D, 0x51, 0xAD, 0x8F, 0x79, 0x58, 0xA0, 0xAC, 0x75, 0x6C, 0x38, 0x0D, - 0xBC, 0x0A, 0xB5, 0xF2, 0x14, 0x05, 0xBB, 0x4B, 0xCC, 0xC8, 0xBA, 0xE5, - 0x2A, 0xA6, 0x7A, 0x78, 0x2D, 0x97, 0x4A, 0xC6, 0xB2, 0xD5, 0x71, 0xA4, - 0xF4, 0xE6, 0xEF, 0xD3, 0xEC, 0x1A, 0xEE, 0xC7, 0xE2, 0xE7, 0x7B, 0x4A, - 0x7E, 0xEA, 0x35, 0x2E, 0xD2, 0xCB, 0x2D, 0xD9, 0x66, 0x5D, 0x73, 0x88, - 0x5E, 0x1C, 0xB1, 0x62, 0x6C, 0x19, 0xDC, 0x7D, 0x08, 0xED, 0x3A, 0x5B, - 0xEA, 0xE7, 0xED, 0xB9, 0x1D, 0x65, 0xBC, 0x58, 0x46, 0x74, 0x72, 0x73, - 0x1C, 0xB7, 0x0B, 0x9A, 0x39, 0xD5, 0x7D, 0xC5, 0xB5, 0x1E, 0xC5, 0xC1, - 0x45, 0x40, 0xD0, 0x8F, 0x35, 0xC5, 0x55, 0x15, 0xC6, 0x26, 0x92, 0x16, - 0xE1, 0x06, 0x24, 0xD9, 0xD0, 0xCD, 0x1E, 0x69, 0x06, 0xDD, 0x64, 0x84, - 0x1B, 0xA0, 0x79, 0x21, 0x48, 0xE0, 0x20, 0xAC, 0xEA, 0x20, 0xA8, 0xBB, - 0xA9, 0x21, 0xCA, 0xFE, 0x70, 0x82, 0x11, 0xB5, 0xEB, 0xD2, 0x61, 0x7C, - 0xB0, 0xD7, 0xFF, 0x58, 0x25, 0xA1, 0xEA, 0x94, 0x5E, 0x93, 0x08, 0x3D, - 0xB4, 0xCC, 0x99, 0x77, 0xF5, 0xE6, 0x13, 0x34, 0xA2, 0x0E, 0x2D, 0x44, - 0x59, 0x0F, 0xA3, 0xEA, 0x50, 0x2A, 0xE8, 0xDE, 0x39, 0xA0, 0x09, 0x77, - 0xFF, 0x0B, 0x59, 0x7D, 0x9B, 0x05, 0x18, 0xC3, 0xBD, 0x1D, 0x0B, 0x06, - 0xFA, 0xC8, 0x1F, 0x95, 0x25, 0x4A, 0x07, 0x3D, 0x86, 0x70, 0x2A, 0x9C, - 0xB1, 0x66, 0xD6, 0x5B, 0x61, 0xE9, 0xDF, 0x46, 0x9F, 0x87, 0x7A, 0xC5, - 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0xB6, 0x30, 0x82, 0x01, - 0xB2, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 0xFF, 0x04, - 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x81, 0x9F, 0x06, 0x08, 0x2B, 0x06, - 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x81, 0x92, 0x30, 0x81, 0x8F, - 0x30, 0x4C, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, - 0x86, 0x40, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x2E, 0x67, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x73, 0x69, - 0x67, 0x6E, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x63, 0x61, 0x63, 0x65, 0x72, - 0x74, 0x2F, 0x67, 0x73, 0x67, 0x63, 0x63, 0x72, 0x34, 0x35, 0x65, 0x76, - 0x63, 0x6F, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6E, 0x63, 0x61, 0x32, 0x30, - 0x32, 0x30, 0x2E, 0x63, 0x72, 0x74, 0x30, 0x3F, 0x06, 0x08, 0x2B, 0x06, - 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x33, 0x68, 0x74, 0x74, 0x70, - 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x67, 0x6C, 0x6F, 0x62, - 0x61, 0x6C, 0x73, 0x69, 0x67, 0x6E, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x67, - 0x73, 0x67, 0x63, 0x63, 0x72, 0x34, 0x35, 0x65, 0x76, 0x63, 0x6F, 0x64, - 0x65, 0x73, 0x69, 0x67, 0x6E, 0x63, 0x61, 0x32, 0x30, 0x32, 0x30, 0x30, - 0x55, 0x06, 0x03, 0x55, 0x1D, 0x20, 0x04, 0x4E, 0x30, 0x4C, 0x30, 0x41, - 0x06, 0x09, 0x2B, 0x06, 0x01, 0x04, 0x01, 0xA0, 0x32, 0x01, 0x02, 0x30, - 0x34, 0x30, 0x32, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x02, - 0x01, 0x16, 0x26, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x77, - 0x77, 0x77, 0x2E, 0x67, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x73, 0x69, 0x67, - 0x6E, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x65, 0x70, 0x6F, 0x73, 0x69, - 0x74, 0x6F, 0x72, 0x79, 0x2F, 0x30, 0x07, 0x06, 0x05, 0x67, 0x81, 0x0C, - 0x01, 0x03, 0x30, 0x09, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x04, 0x02, 0x30, - 0x00, 0x30, 0x47, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, 0x40, 0x30, 0x3E, - 0x30, 0x3C, 0xA0, 0x3A, 0xA0, 0x38, 0x86, 0x36, 0x68, 0x74, 0x74, 0x70, - 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x67, 0x6C, 0x6F, 0x62, 0x61, - 0x6C, 0x73, 0x69, 0x67, 0x6E, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x67, 0x73, - 0x67, 0x63, 0x63, 0x72, 0x34, 0x35, 0x65, 0x76, 0x63, 0x6F, 0x64, 0x65, - 0x73, 0x69, 0x67, 0x6E, 0x63, 0x61, 0x32, 0x30, 0x32, 0x30, 0x2E, 0x63, - 0x72, 0x6C, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, 0x0C, 0x30, - 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, - 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, - 0x25, 0x9D, 0xD0, 0xFC, 0x59, 0x09, 0x86, 0x63, 0xC5, 0xEC, 0xF3, 0xB1, - 0x13, 0x3B, 0x57, 0x1C, 0x03, 0x92, 0x36, 0x11, 0x30, 0x1D, 0x06, 0x03, - 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, 0x14, 0xC5, 0xF3, 0x73, 0xA9, 0x87, - 0x58, 0x4F, 0x1B, 0xA4, 0xDC, 0x5B, 0x2C, 0xA3, 0x6B, 0xBB, 0x6B, 0x16, - 0xE7, 0xE1, 0x1F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, - 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x54, - 0x89, 0x65, 0x0A, 0x7D, 0xF1, 0x7D, 0xF5, 0x7A, 0xE8, 0x50, 0x92, 0xF4, - 0xEC, 0xF0, 0x38, 0x3B, 0xC5, 0x29, 0x26, 0x9F, 0x9C, 0x88, 0x62, 0x19, - 0x58, 0x77, 0xA3, 0x59, 0xD5, 0x78, 0xD0, 0xF0, 0x78, 0x9C, 0xF1, 0x35, - 0xBB, 0xA7, 0x72, 0x68, 0x3A, 0xAD, 0x84, 0xC2, 0x94, 0xA0, 0xD4, 0x19, - 0x2E, 0x82, 0xED, 0x2C, 0x22, 0xCB, 0x6C, 0x9E, 0x07, 0x18, 0x80, 0xA4, - 0x96, 0x1A, 0x9A, 0x85, 0x04, 0x51, 0x9F, 0x3C, 0x02, 0x8D, 0xB0, 0x9A, - 0x7A, 0x8D, 0x4C, 0x80, 0x76, 0x83, 0x0D, 0xD6, 0x9F, 0xD8, 0x94, 0x92, - 0xC4, 0x9F, 0x3B, 0x0C, 0x4A, 0x10, 0xBD, 0xEC, 0xAE, 0xA0, 0xC8, 0x33, - 0x14, 0x17, 0x45, 0x12, 0xFF, 0x21, 0x8D, 0xCF, 0x6F, 0x01, 0xA9, 0x6D, - 0xE3, 0x7E, 0x3E, 0xDD, 0xBB, 0x32, 0xC9, 0x28, 0x9D, 0xC2, 0xD4, 0x49, - 0x11, 0x97, 0xF6, 0xBA, 0x4D, 0x8E, 0xD2, 0x79, 0x64, 0x4C, 0x83, 0x81, - 0xDD, 0x63, 0xE8, 0x8E, 0x4B, 0xE3, 0x7D, 0x63, 0xB8, 0x44, 0x2F, 0x87, - 0x76, 0x46, 0x9B, 0x3E, 0x7E, 0x34, 0x09, 0x59, 0x0E, 0xE1, 0x44, 0xE7, - 0x37, 0xF1, 0x24, 0xBA, 0xBD, 0xDC, 0xD7, 0x27, 0xF8, 0x50, 0x19, 0xCD, - 0xA5, 0x8D, 0x74, 0x91, 0x83, 0xF3, 0xF0, 0xEB, 0x93, 0x54, 0xA5, 0x18, - 0x66, 0x6B, 0x23, 0x53, 0xFE, 0x40, 0x9E, 0x07, 0xB2, 0xFE, 0xED, 0x4D, - 0x1F, 0xC0, 0x7E, 0x6B, 0xE4, 0x59, 0xA1, 0x66, 0xEF, 0x42, 0x53, 0xA3, - 0xEC, 0xBA, 0xC1, 0x1C, 0xBF, 0xEA, 0x67, 0xED, 0xA9, 0x03, 0xD7, 0xB3, - 0xB4, 0xEB, 0x25, 0x31, 0x2B, 0x2B, 0x53, 0x24, 0x16, 0x8E, 0x87, 0xAF, - 0x0F, 0x71, 0xC0, 0x6D, 0xF3, 0x18, 0x39, 0xF7, 0x0C, 0x92, 0x46, 0x7B, - 0xE9, 0x40, 0x70, 0x2E, 0x70, 0x4B, 0x34, 0xC9, 0x16, 0xD1, 0x31, 0xFF, - 0xB9, 0x64, 0xCD, 0x78, 0x5B, 0x50, 0x4A, 0x71, 0xB5, 0xE6, 0xBA, 0x79, - 0x18, 0x05, 0x17, 0xCB, 0x8B, 0x38, 0x88, 0xAE, 0x2D, 0xA0, 0xC3, 0x7D, - 0x76, 0x7C, 0x49, 0x55, 0x6D, 0x52, 0x10, 0xCA, 0xC1, 0xBC, 0x72, 0x86, - 0xB4, 0x54, 0xDC, 0x3A, 0xC9, 0x97, 0xD9, 0x28, 0xF4, 0x05, 0x85, 0xE9, - 0x7D, 0x13, 0x1E, 0x8D, 0x2E, 0xAA, 0xC9, 0xAC, 0x27, 0x5C, 0x4A, 0x26, - 0xCB, 0x37, 0xB0, 0x98, 0xCF, 0x46, 0x00, 0xF3, 0x9B, 0xF9, 0x21, 0xF3, - 0x5A, 0x71, 0x96, 0x92, 0x42, 0xD7, 0xCB, 0xE7, 0x83, 0xBE, 0xF0, 0x7A, - 0x71, 0x34, 0x3B, 0xD0, 0x8E, 0xA1, 0xDF, 0x41, 0x04, 0x01, 0x85, 0x63, - 0x24, 0x0E, 0x7E, 0xB2, 0x7C, 0xBA, 0x4A, 0xDA, 0x78, 0xD8, 0x9C, 0xED, - 0x07, 0x3B, 0x40, 0x53, 0x05, 0x0A, 0xE8, 0xA7, 0x11, 0xBC, 0xDE, 0xF4, - 0xB8, 0x5C, 0xD9, 0xAD, 0x48, 0x15, 0xE2, 0x40, 0x2E, 0xD6, 0x84, 0xD0, - 0xAB, 0x8E, 0xF6, 0x18, 0x95, 0xF1, 0x17, 0x5A, 0xC0, 0x82, 0x12, 0x94, - 0x8B, 0x0B, 0xDE, 0x7D, 0x42, 0xF4, 0xE2, 0x15, 0x17, 0x8D, 0xC1, 0x26, - 0x2D, 0xAF, 0x76, 0xCD, 0xA3, 0x42, 0x73, 0x25, 0x61, 0x27, 0xB4, 0xD1, - 0x0A, 0x10, 0x5E, 0xB9, 0x05, 0x3A, 0x3A, 0x56, 0x87, 0x3A, 0xDB, 0x33, - 0xC6, 0xDA, 0xBB, 0x64, 0x98, 0xAB, 0x1C, 0xAA, 0x90, 0x1D, 0xA1, 0x61, - 0x62, 0xB6, 0x2B, 0xEB, 0x2B, 0xD4, 0x8D, 0x74, 0xB4, 0x5C, 0x96, 0xB1, - 0x06, 0xD8, 0xE3, 0xCE, 0x36, 0xA8, 0x92, 0x2B, 0xE5, 0x37, 0xD3, 0x35, - 0xDB, 0xBD, 0x1D, 0x72, 0x4F, 0x67, 0x9F, 0x6C, 0xCC, 0xAD, 0x4C, 0x50, - 0xEE, 0x76, 0xA5, 0x5E, 0x01, 0x3E, 0x3D, 0x9E, 0x17, 0x1F, 0xF8, 0xC6, - 0x6D, 0x56, 0x18, 0x9F, 0x27, 0xCF, 0xC8, 0x9E, 0x09, 0x30, 0x25, 0xC3, - 0xB3, 0xFA, 0x04, 0xE0, 0x37, 0x4D, 0xD7 +unsigned char g_pbCodeSignCert[1664] = { + 0x30, 0x82, 0x06, 0x7C, 0x30, 0x82, 0x04, 0x64, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x13, 0x33, 0x00, 0x00, 0x00, 0x4D, 0xE5, 0x97, 0xA7, 0x75, + 0xE3, 0x15, 0x7F, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x30, 0x0D, + 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, + 0x00, 0x30, 0x81, 0x8E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, + 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, + 0x04, 0x08, 0x13, 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, + 0x6F, 0x6E, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, + 0x07, 0x52, 0x65, 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E, 0x30, 0x1C, + 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, + 0x73, 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, + 0x74, 0x69, 0x6F, 0x6E, 0x31, 0x38, 0x30, 0x36, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x13, 0x2F, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, + 0x20, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x20, 0x50, 0x61, 0x72, 0x74, 0x79, 0x20, 0x43, 0x6F, 0x6D, + 0x70, 0x6F, 0x6E, 0x65, 0x6E, 0x74, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, + 0x31, 0x34, 0x30, 0x1E, 0x17, 0x0D, 0x32, 0x31, 0x30, 0x39, 0x30, 0x39, + 0x31, 0x39, 0x31, 0x35, 0x35, 0x39, 0x5A, 0x17, 0x0D, 0x32, 0x32, 0x30, + 0x39, 0x30, 0x31, 0x31, 0x39, 0x31, 0x35, 0x35, 0x39, 0x5A, 0x30, 0x81, + 0x91, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, + 0x55, 0x53, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, + 0x0A, 0x57, 0x61, 0x73, 0x68, 0x69, 0x6E, 0x67, 0x74, 0x6F, 0x6E, 0x31, + 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x52, 0x65, + 0x64, 0x6D, 0x6F, 0x6E, 0x64, 0x31, 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, + 0x04, 0x0A, 0x13, 0x15, 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, + 0x74, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, + 0x6E, 0x31, 0x3B, 0x30, 0x39, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x32, + 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x57, 0x69, + 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, + 0x72, 0x65, 0x20, 0x43, 0x6F, 0x6D, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, + 0x6C, 0x69, 0x74, 0x79, 0x20, 0x50, 0x75, 0x62, 0x6C, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, + 0x0F, 0x00, 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB6, + 0x92, 0x4E, 0x65, 0x6B, 0xD2, 0x28, 0x40, 0xE7, 0xA8, 0x4A, 0x3B, 0x1F, + 0xB2, 0x44, 0xF7, 0x42, 0x4D, 0x2B, 0xB3, 0x81, 0x5C, 0x77, 0x12, 0x0B, + 0x26, 0x0A, 0xAC, 0x3E, 0xFE, 0x17, 0xA4, 0x6D, 0xCE, 0x52, 0xB4, 0x1B, + 0xEA, 0xA9, 0xDD, 0x17, 0x70, 0x80, 0x1D, 0x08, 0x28, 0xA8, 0x1E, 0x0D, + 0xC7, 0x78, 0x52, 0x3B, 0x63, 0x23, 0x3E, 0x2B, 0x73, 0xBD, 0x72, 0x34, + 0xD4, 0x95, 0x25, 0xAA, 0xA7, 0xCF, 0x99, 0x84, 0x55, 0x5B, 0x8C, 0x70, + 0x1F, 0x3C, 0x24, 0x5C, 0x50, 0x8A, 0xCA, 0xCE, 0x70, 0x2D, 0xB9, 0xC8, + 0xAF, 0xAA, 0xD9, 0xDC, 0x1C, 0xB4, 0xEA, 0x2F, 0x66, 0xC7, 0x31, 0x43, + 0xFD, 0x24, 0x47, 0x27, 0xE8, 0xD1, 0x62, 0xD8, 0xCC, 0x9B, 0x72, 0x8C, + 0xB3, 0x00, 0xE7, 0x93, 0x41, 0xF0, 0x39, 0x28, 0x11, 0x4A, 0x80, 0x28, + 0x77, 0xE1, 0x9F, 0xD7, 0xC0, 0x62, 0x88, 0x22, 0x08, 0x19, 0x4A, 0x46, + 0x7F, 0x99, 0x55, 0x1B, 0xB3, 0x93, 0xFF, 0x76, 0x96, 0x47, 0xC7, 0x72, + 0x44, 0xB1, 0xB3, 0xFB, 0x8C, 0x57, 0x88, 0xDA, 0x88, 0xF2, 0x1C, 0x41, + 0x64, 0xAD, 0x45, 0x59, 0x48, 0x6E, 0x19, 0xDB, 0xDC, 0xE5, 0x27, 0x89, + 0xCB, 0x2E, 0x7C, 0x5C, 0x8E, 0xEC, 0xB9, 0x1E, 0xC8, 0x95, 0x55, 0xAE, + 0xED, 0xCA, 0xEB, 0x86, 0x12, 0x6B, 0xD7, 0x33, 0x2F, 0xC5, 0x2C, 0xFC, + 0x0F, 0x20, 0x77, 0x76, 0x9E, 0x56, 0x41, 0x63, 0x66, 0xA7, 0x80, 0xBE, + 0x96, 0x50, 0x3E, 0xC5, 0xF4, 0xB8, 0xBD, 0x15, 0x2E, 0x5D, 0xC5, 0x21, + 0x61, 0x68, 0xD5, 0xE9, 0x08, 0x24, 0xDF, 0x99, 0x17, 0x64, 0xBF, 0x32, + 0xA4, 0xD9, 0x67, 0xAB, 0xA0, 0x6F, 0xAF, 0x45, 0xAA, 0x7E, 0x47, 0x31, + 0x09, 0x27, 0xD3, 0x88, 0x0E, 0xC9, 0x38, 0x1A, 0x5D, 0x2D, 0x70, 0xCC, + 0x2F, 0x41, 0x81, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x82, 0x01, 0xCC, + 0x30, 0x82, 0x01, 0xC8, 0x30, 0x2C, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x04, + 0x25, 0x30, 0x23, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, + 0x0A, 0x03, 0x05, 0x06, 0x0B, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, + 0x0A, 0x03, 0x05, 0x01, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, + 0x03, 0x03, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 0x16, 0x04, + 0x14, 0x5A, 0x4E, 0x32, 0x4E, 0x41, 0xED, 0xAE, 0x19, 0xF2, 0x59, 0x84, + 0x36, 0x9E, 0xE3, 0x07, 0x87, 0xDA, 0x1A, 0x3F, 0xA3, 0x30, 0x50, 0x06, + 0x03, 0x55, 0x1D, 0x11, 0x04, 0x49, 0x30, 0x47, 0xA4, 0x45, 0x30, 0x43, + 0x31, 0x29, 0x30, 0x27, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x20, 0x4D, + 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x4F, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x20, 0x50, 0x75, 0x65, 0x72, + 0x74, 0x6F, 0x20, 0x52, 0x69, 0x63, 0x6F, 0x31, 0x16, 0x30, 0x14, 0x06, + 0x03, 0x55, 0x04, 0x05, 0x13, 0x0D, 0x32, 0x33, 0x32, 0x31, 0x34, 0x37, + 0x2B, 0x34, 0x36, 0x37, 0x34, 0x33, 0x34, 0x30, 0x1F, 0x06, 0x03, 0x55, + 0x1D, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xC8, 0x3A, 0x9C, 0xA7, + 0x4A, 0xC3, 0x23, 0xF2, 0x25, 0x7E, 0xB9, 0xDA, 0xAB, 0x29, 0x53, 0x0E, + 0x54, 0x00, 0xC3, 0xA1, 0x30, 0x74, 0x06, 0x03, 0x55, 0x1D, 0x1F, 0x04, + 0x6D, 0x30, 0x6B, 0x30, 0x69, 0xA0, 0x67, 0xA0, 0x65, 0x86, 0x63, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, + 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, + 0x70, 0x6B, 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x72, 0x6C, 0x2F, 0x4D, + 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x57, + 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x25, 0x32, 0x30, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x25, 0x32, 0x30, 0x50, 0x61, 0x72, 0x74, 0x79, 0x25, 0x32, + 0x30, 0x43, 0x6F, 0x6D, 0x70, 0x6F, 0x6E, 0x65, 0x6E, 0x74, 0x25, 0x32, + 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x34, 0x2E, 0x63, + 0x72, 0x6C, 0x30, 0x81, 0x81, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, + 0x07, 0x01, 0x01, 0x04, 0x75, 0x30, 0x73, 0x30, 0x71, 0x06, 0x08, 0x2B, + 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x65, 0x68, 0x74, 0x74, + 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x6D, 0x69, 0x63, 0x72, + 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x70, 0x6B, + 0x69, 0x6F, 0x70, 0x73, 0x2F, 0x63, 0x65, 0x72, 0x74, 0x73, 0x2F, 0x4D, + 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x25, 0x32, 0x30, 0x57, + 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x25, 0x32, 0x30, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x25, 0x32, 0x30, 0x50, 0x61, 0x72, 0x74, 0x79, 0x25, 0x32, + 0x30, 0x43, 0x6F, 0x6D, 0x70, 0x6F, 0x6E, 0x65, 0x6E, 0x74, 0x25, 0x32, + 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x30, 0x31, 0x34, 0x2E, 0x63, + 0x72, 0x74, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, + 0x04, 0x02, 0x30, 0x00, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, + 0x17, 0x57, 0x78, 0x2E, 0x79, 0x71, 0x88, 0x07, 0x99, 0x11, 0x86, 0x6D, + 0x54, 0xBD, 0x47, 0x4A, 0x24, 0x32, 0x70, 0x79, 0x84, 0x65, 0x8C, 0x54, + 0x9A, 0x40, 0x7E, 0x7F, 0xB4, 0xE5, 0xEF, 0xA2, 0xBA, 0x72, 0x36, 0x7A, + 0x02, 0xB3, 0x82, 0xD2, 0x11, 0x6D, 0x4C, 0x45, 0x38, 0x83, 0x6D, 0xDC, + 0xD4, 0x61, 0x6F, 0xCD, 0x23, 0x12, 0x29, 0xDF, 0x1A, 0xE5, 0xD0, 0xDA, + 0x6B, 0x3A, 0xBE, 0x49, 0x9E, 0xE5, 0xD8, 0xB4, 0x7A, 0x79, 0x19, 0x94, + 0x0F, 0x6B, 0xBC, 0xBE, 0x25, 0x75, 0x01, 0x8D, 0xCA, 0x65, 0xEE, 0xF4, + 0x91, 0x3E, 0x3D, 0x38, 0x41, 0x0F, 0x2C, 0xD6, 0xCC, 0xA3, 0x08, 0x2D, + 0x9B, 0xA2, 0xC0, 0x61, 0x17, 0x3C, 0xD8, 0x28, 0x63, 0x56, 0x65, 0xF7, + 0x6E, 0x8F, 0x0F, 0x68, 0x5E, 0x03, 0xDA, 0x24, 0x29, 0x0B, 0x9D, 0x2C, + 0xAE, 0x70, 0x39, 0xDA, 0x97, 0x4D, 0xE7, 0xB7, 0xE8, 0x57, 0x98, 0xBA, + 0x64, 0xCB, 0xE9, 0xBA, 0x34, 0xE0, 0x30, 0x8C, 0x3B, 0xD6, 0xB4, 0xD6, + 0x8E, 0x97, 0x23, 0xFD, 0xE7, 0x42, 0x74, 0xFD, 0x38, 0x06, 0xFE, 0x79, + 0x9D, 0x04, 0xD6, 0xA3, 0x83, 0x5F, 0x82, 0xD4, 0xFE, 0xFC, 0x52, 0x08, + 0x8C, 0xCD, 0xA4, 0xB4, 0xC8, 0x17, 0x11, 0x6F, 0x2F, 0x5A, 0x99, 0x44, + 0x5A, 0x3E, 0x95, 0x2D, 0x78, 0xBC, 0x27, 0x75, 0x3E, 0x65, 0xE9, 0x7C, + 0x62, 0x71, 0xC7, 0x1A, 0xC7, 0xC9, 0xE3, 0x43, 0x9B, 0x84, 0x7E, 0x89, + 0x84, 0xAB, 0x06, 0xA5, 0x90, 0x4D, 0x15, 0x02, 0x23, 0xF9, 0xCA, 0x92, + 0xBB, 0xDA, 0x86, 0xC0, 0x26, 0x63, 0xC3, 0xF4, 0x96, 0x4D, 0xA5, 0xE1, + 0x06, 0x61, 0x9B, 0x6E, 0xAF, 0xF2, 0x76, 0x81, 0x43, 0xCC, 0xE9, 0xE5, + 0xA8, 0xB0, 0xB2, 0xCB, 0xA9, 0x0E, 0x82, 0xCD, 0x87, 0x86, 0x6D, 0x9F, + 0xD6, 0x49, 0x9C, 0x6C, 0xFB, 0xC9, 0x65, 0x29, 0xA1, 0x8B, 0x56, 0x53, + 0xD1, 0x2B, 0x54, 0xA6, 0xC9, 0x28, 0x69, 0x3A, 0x4E, 0x3D, 0x19, 0x7F, + 0xFB, 0xFC, 0xCE, 0x7E, 0xD7, 0x1A, 0x90, 0x9B, 0x18, 0xD0, 0x9B, 0x43, + 0x45, 0xB2, 0x4B, 0xC2, 0x5E, 0xB8, 0xDF, 0xA1, 0x82, 0x1A, 0x9C, 0xD0, + 0x97, 0x1F, 0xFC, 0x7D, 0x38, 0xA2, 0x65, 0x80, 0xE2, 0xF1, 0x18, 0xC4, + 0xAC, 0x55, 0xBF, 0x92, 0x6D, 0x06, 0x66, 0xB7, 0x2A, 0xD7, 0xBA, 0x6E, + 0xC2, 0x0F, 0x0B, 0x54, 0xD6, 0x94, 0xBC, 0x3B, 0x8A, 0x0D, 0xBD, 0xDD, + 0xA2, 0x7B, 0xD6, 0x41, 0x94, 0xDA, 0x08, 0x53, 0x19, 0x84, 0x1D, 0x1E, + 0xBC, 0x9D, 0xC0, 0x67, 0xEF, 0x72, 0xEA, 0x06, 0x4A, 0x47, 0x5B, 0xEA, + 0x86, 0x58, 0x28, 0xB1, 0x30, 0x77, 0xBC, 0x8E, 0x14, 0xE2, 0xF7, 0x54, + 0x4B, 0x90, 0xF0, 0x04, 0x5F, 0x3C, 0xD8, 0x4B, 0xCC, 0x0D, 0x5A, 0x80, + 0x64, 0x5A, 0x6F, 0xB6, 0x55, 0x28, 0xE4, 0xF7, 0x68, 0xEC, 0x77, 0x5B, + 0xDB, 0x02, 0x25, 0x39, 0x9F, 0x3C, 0x81, 0xC0, 0xB6, 0x67, 0x71, 0x46, + 0x76, 0xD0, 0x94, 0x9F, 0x9F, 0xFA, 0xDD, 0xC8, 0x54, 0x9D, 0xC4, 0x5E, + 0x5C, 0xE4, 0x34, 0x5C, 0x4E, 0xA7, 0xDC, 0x0A, 0xFF, 0x4A, 0xC5, 0x10, + 0xF5, 0x52, 0x7A, 0xD9, 0x4A, 0x21, 0x81, 0xED, 0xC4, 0xB7, 0x3B, 0xCF, + 0xDE, 0x81, 0x3A, 0x83, 0xD8, 0x1C, 0xA8, 0x97, 0x85, 0x4C, 0x98, 0x71, + 0x23, 0x46, 0x00, 0x1A, 0x12, 0xE5, 0xD3, 0xBF, 0x9A, 0x45, 0xC8, 0x07, + 0xF9, 0xB3, 0xC7, 0xD3, 0xE0, 0xBB, 0x99, 0xC0, 0x35, 0xEA, 0x54, 0xEE, + 0x39, 0xE2, 0xC9, 0xAF, 0x41, 0x47, 0xDB, 0xEA, 0x7A, 0xAB, 0xEC, 0x85, + 0xB4, 0x71, 0x92, 0xB9, 0x45, 0xE0, 0x83, 0xDD, 0xF6, 0x06, 0x1A, 0xFB, + 0x90, 0x1E, 0x83, 0xB1, 0x11, 0x35, 0xD2, 0x4E }; typedef PCCERT_CONTEXT (WINAPI *CertCreateCertificateContextType)(