//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1996 - 1996 // // File: global.h // // Contents: Top level internal header file for CertStor APIs. This file // includes all base header files and contains other global // stuff. // // History: 14-May-96 kevinr created // //-------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include #include #include #include #include "crtem.h" #include "wincrypt.h" #include "ossutil.h" #include "asn1code.h" #include "unicode.h" #include "crypttls.h" #include "crypthlp.h" #include "certprot.h" #include "pkialloc.h" #include "asn1util.h" #include "utf8.h" extern HMODULE hCertStoreInst; #include "resource.h" #ifdef __cplusplus extern "C" { #endif #if 0 // JLS // # of bytes for a hash. Such as, SHA (20) or MD5 (16) #define MAX_HASH_LEN 20 #define SHA1_HASH_LEN 20 // Null terminated ascii hex characters of the hash. // For Win95 Remote Registry Access:: Need extra character #define MAX_CERT_REG_VALUE_NAME_LEN (2 * MAX_HASH_LEN + 1 + 1) #define MAX_HASH_NAME_LEN MAX_CERT_REG_VALUE_NAME_LEN //+------------------------------------------------------------------------- // Compares the certificate's public key with the provider's public key // to see if they are identical. // // Returns TRUE if the keys are identical. // // Implemented in certhlpr.cpp. //-------------------------------------------------------------------------- BOOL WINAPI I_CertCompareCertAndProviderPublicKey( IN PCCERT_CONTEXT pCert, IN HCRYPTPROV hProv, IN DWORD dwKeySpec ); //+------------------------------------------------------------------------- // Registry support functions // // Implemented in logstor.cpp. //-------------------------------------------------------------------------- void ILS_CloseRegistryKey( IN HKEY hKey ); BOOL ILS_ReadDWORDValueFromRegistry( IN HKEY hKey, IN LPCWSTR pwszValueName, IN DWORD *pdwValue ); BOOL ILS_ReadBINARYValueFromRegistry( IN HKEY hKey, IN LPCWSTR pwszValueName, OUT BYTE **ppbValue, OUT DWORD *pcbValue ); //+------------------------------------------------------------------------- // Key Identifier registry and roaming file support functions // // Implemented in logstor.cpp. //-------------------------------------------------------------------------- BOOL ILS_ReadKeyIdElement( IN const CRYPT_HASH_BLOB *pKeyIdentifier, IN BOOL fLocalMachine, IN OPTIONAL LPCWSTR pwszComputerName, OUT BYTE **ppbElement, OUT DWORD *pcbElement ); BOOL ILS_WriteKeyIdElement( IN const CRYPT_HASH_BLOB *pKeyIdentifier, IN BOOL fLocalMachine, IN OPTIONAL LPCWSTR pwszComputerName, IN const BYTE *pbElement, IN DWORD cbElement ); BOOL ILS_DeleteKeyIdElement( IN const CRYPT_HASH_BLOB *pKeyIdentifier, IN BOOL fLocalMachine, IN OPTIONAL LPCWSTR pwszComputerName ); typedef BOOL (*PFN_ILS_OPEN_KEYID_ELEMENT)( IN const CRYPT_HASH_BLOB *pKeyIdentifier, IN const BYTE *pbElement, IN DWORD cbElement, IN void *pvArg ); BOOL ILS_OpenAllKeyIdElements( IN BOOL fLocalMachine, IN OPTIONAL LPCWSTR pwszComputerName, IN void *pvArg, IN PFN_ILS_OPEN_KEYID_ELEMENT pfnOpenKeyId ); //+------------------------------------------------------------------------- // Protected Root functions // // Implemented in protroot.cpp. //-------------------------------------------------------------------------- BOOL IPR_IsCurrentUserRootsAllowed(); BOOL IPR_OnlyLocalMachineGroupPolicyRootsAllowed(); void IPR_InitProtectedRootInfo(); BOOL IPR_DeleteUnprotectedRootsFromStore( IN HCERTSTORE hStore, OUT BOOL *pfProtected ); int IPR_ProtectedRootMessageBox( IN PCCERT_CONTEXT pCert, IN UINT wActionID, IN UINT uFlags ); //+------------------------------------------------------------------------- // Find chain helper functions // // Implemented in fndchain.cpp. //-------------------------------------------------------------------------- BOOL IFC_IsEndCertValidForUsage( IN PCCERT_CONTEXT pCert, IN LPCSTR pszUsageIdentifier ); //#include "ossx509.h" //+------------------------------------------------------------------------- // Convert to/from OssEncodedOID // // Implemented in oidconv.cpp. //-------------------------------------------------------------------------- BOOL WINAPI I_CryptOIDConvDllMain( HMODULE hInst, ULONG ulReason, LPVOID lpReserved ); #endif // 0 // JLS BOOL WINAPI I_CryptSetOssEncodedOID( IN LPCSTR pszObjId, OUT OssEncodedOID *pOss ); void WINAPI I_CryptGetOssEncodedOID( IN OssEncodedOID *pOss, IN DWORD dwFlags, OUT LPSTR *ppszObjId, IN OUT BYTE **ppbExtra, IN OUT LONG *plRemainExtra ); #ifdef __cplusplus } // Balance extern "C" above #endif #include "ossconv.h" #if 0 // JLS #include "ossutil.h" #include "ekuhlpr.h" #include "origin.h" #include #include #pragma hdrstop #endif // 0 //JLS