656 references to Crypt32
System.Security.Cryptography (656)
_generated\0\LibraryImports.g.cs (224)
57internal static unsafe partial bool CryptAcquireContext(out nint psafeProvHandle, char* pszContainer, char* pszProvider, int dwProvType, global::Interop.Crypt32.CryptAcquireContextFlags dwFlags) 77static extern unsafe int __PInvoke(nint* __psafeProvHandle_native, char* __pszContainer_native, char* __pszProvider_native, int __dwProvType_native, global::Interop.Crypt32.CryptAcquireContextFlags __dwFlags_native); 2482internal static partial bool CertAddCertificateContextToStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertStoreAddDisposition dwAddDisposition, nint ppStoreContext) 2520static extern unsafe int __PInvoke(nint __hCertStore_native, nint __pCertContext_native, global::Interop.Crypt32.CertStoreAddDisposition __dwAddDisposition_native, nint __ppStoreContext_native); 2529internal static partial bool CertAddCertificateLinkToStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertStoreAddDisposition dwAddDisposition, nint ppStoreContext) 2567static extern unsafe int __PInvoke(nint __hCertStore_native, nint __pCertContext_native, global::Interop.Crypt32.CertStoreAddDisposition __dwAddDisposition_native, nint __ppStoreContext_native); 2602internal static partial bool CertControlStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Interop.Crypt32.CertControlStoreFlags dwFlags, global::Interop.Crypt32.CertControlStoreType dwControlType, nint pvCtrlPara) 2635static extern unsafe int __PInvoke(nint __hCertStore_native, global::Interop.Crypt32.CertControlStoreFlags __dwFlags_native, global::Interop.Crypt32.CertControlStoreType __dwControlType_native, nint __pvCtrlPara_native); 2644internal static partial bool CertCreateCertificateChainEngine(ref global::Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG pConfig, out global::Microsoft.Win32.SafeHandles.SafeChainEngineHandle hChainEngineHandle) 2657fixed (global::Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG* __pConfig_native = &pConfig) 2684static extern unsafe int __PInvoke(global::Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG* __pConfig_native, nint* __hChainEngineHandle_native); 2693internal static unsafe partial bool CertDeleteCertificateFromStore(global::Interop.Crypt32.CERT_CONTEXT* pCertContext) 2710static extern unsafe int __PInvoke(global::Interop.Crypt32.CERT_CONTEXT* __pCertContext_native); 2895internal static unsafe partial global::Interop.Crypt32.CERT_CONTEXT* CertEnumCertificatesInStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Interop.Crypt32.CERT_CONTEXT* pPrevCertContext) 2899global::Interop.Crypt32.CERT_CONTEXT* __retVal = default; 2924static extern unsafe global::Interop.Crypt32.CERT_CONTEXT* __PInvoke(nint __hCertStore_native, global::Interop.Crypt32.CERT_CONTEXT* __pPrevCertContext_native); 2933internal static unsafe partial global::Microsoft.Win32.SafeHandles.SafeCertContextHandle CertFindCertificateInStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Interop.Crypt32.CertEncodingType dwCertEncodingType, global::Interop.Crypt32.CertFindFlags dwFindFlags, global::Interop.Crypt32.CertFindType dwFindType, void* pvFindPara, global::Interop.Crypt32.CERT_CONTEXT* pPrevCertContext) 2977static extern unsafe nint __PInvoke(nint __hCertStore_native, global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, global::Interop.Crypt32.CertFindFlags __dwFindFlags_native, global::Interop.Crypt32.CertFindType __dwFindType_native, void* __pvFindPara_native, global::Interop.Crypt32.CERT_CONTEXT* __pPrevCertContext_native); 2986internal static unsafe partial global::Interop.Crypt32.CERT_EXTENSION* CertFindExtension(string pszObjId, int cExtensions, nint rgExtensions) 2990global::Interop.Crypt32.CERT_EXTENSION* __retVal = default; 3015static extern unsafe global::Interop.Crypt32.CERT_EXTENSION* __PInvoke(byte* __pszObjId_native, int __cExtensions_native, nint __rgExtensions_native); 3053internal static unsafe partial bool CertGetCertificateChain(nint hChainEngine, global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.FILETIME* pTime, global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hStore, ref global::Interop.Crypt32.CERT_CHAIN_PARA pChainPara, global::Interop.Crypt32.CertChainFlags dwFlags, nint pvReserved, out global::Microsoft.Win32.SafeHandles.SafeX509ChainHandle ppChainContext) 3073fixed (global::Interop.Crypt32.CERT_CHAIN_PARA* __pChainPara_native = &pChainPara) 3107static extern unsafe int __PInvoke(nint __hChainEngine_native, nint __pCertContext_native, global::Interop.Crypt32.FILETIME* __pTime_native, nint __hStore_native, global::Interop.Crypt32.CERT_CHAIN_PARA* __pChainPara_native, global::Interop.Crypt32.CertChainFlags __dwFlags_native, nint __pvReserved_native, nint* __ppChainContext_native); 3116internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, byte[] pvData, ref int pcbData) 3152static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native); 3161internal static unsafe partial bool CertGetCertificateContextPropertyPtr(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, byte* pvData, ref int pcbData) 3196static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native); 3205internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, out nint pvData, ref int pcbData) 3242static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, nint* __pvData_native, int* __pcbData_native); 3251internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, out global::Interop.Crypt32.DATA_BLOB pvData, ref int pcbData) 3266fixed (global::Interop.Crypt32.DATA_BLOB* __pvData_native = &pvData) 3288static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.DATA_BLOB* __pvData_native, int* __pcbData_native); 3297internal static unsafe partial bool CertGetCertificateContextPropertyString(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, byte* pvData, ref uint pcbData) 3332static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, uint* __pcbData_native); 3341internal static unsafe partial bool CertGetIntendedKeyUsage(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, global::Interop.Crypt32.CERT_INFO* pCertInfo, out global::Interop.Crypt32.X509KeyUsageFlags pbKeyUsage, int cbKeyUsage) 3348fixed (global::Interop.Crypt32.X509KeyUsageFlags* __pbKeyUsage_native = &pbKeyUsage) 3361static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, global::Interop.Crypt32.CERT_INFO* __pCertInfo_native, global::Interop.Crypt32.X509KeyUsageFlags* __pbKeyUsage_native, int __cbKeyUsage_native); 3370internal static unsafe partial int CertGetNameString(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertNameType dwType, global::Interop.Crypt32.CertNameFlags dwFlags, in global::Interop.Crypt32.CertNameStringType pvTypePara, char* pszNameString, int cchNameString) 3382fixed (global::Interop.Crypt32.CertNameStringType* __pvTypePara_native = &pvTypePara) 3401static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertNameType __dwType_native, global::Interop.Crypt32.CertNameFlags __dwFlags_native, global::Interop.Crypt32.CertNameStringType* __pvTypePara_native, char* __pszNameString_native, int __cchNameString_native); 3494internal static partial bool CertVerifyCertificateChainPolicy(nint pszPolicyOID, global::Microsoft.Win32.SafeHandles.SafeX509ChainHandle pChainContext, ref global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA pPolicyPara, ref global::Interop.Crypt32.CERT_CHAIN_POLICY_STATUS pPolicyStatus) 3507fixed (global::Interop.Crypt32.CERT_CHAIN_POLICY_STATUS* __pPolicyStatus_native = &pPolicyStatus) 3508fixed (global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA* __pPolicyPara_native = &pPolicyPara) 3530static extern unsafe int __PInvoke(nint __pszPolicyOID_native, nint __pChainContext_native, global::Interop.Crypt32.CERT_CHAIN_POLICY_PARA* __pPolicyPara_native, global::Interop.Crypt32.CERT_CHAIN_POLICY_STATUS* __pPolicyStatus_native); 3562internal static partial global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle CertOpenStore(nint lpszStoreProvider, global::Interop.Crypt32.CertEncodingType dwMsgAndCertEncodingType, nint hCryptProv, global::Interop.Crypt32.CertStoreFlags dwFlags, string pvPara) 3599static extern unsafe nint __PInvoke(nint __lpszStoreProvider_native, global::Interop.Crypt32.CertEncodingType __dwMsgAndCertEncodingType_native, nint __hCryptProv_native, global::Interop.Crypt32.CertStoreFlags __dwFlags_native, ushort* __pvPara_native); 3608public static partial bool CertSaveStore(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hCertStore, global::Interop.Crypt32.CertEncodingType dwMsgAndCertEncodingType, global::Interop.Crypt32.CertStoreSaveAs dwSaveAs, global::Interop.Crypt32.CertStoreSaveTo dwSaveTo, ref global::Interop.Crypt32.DATA_BLOB pvSaveToPara, int dwFlags) 3621fixed (global::Interop.Crypt32.DATA_BLOB* __pvSaveToPara_native = &pvSaveToPara) 3643static extern unsafe int __PInvoke(nint __hCertStore_native, global::Interop.Crypt32.CertEncodingType __dwMsgAndCertEncodingType_native, global::Interop.Crypt32.CertStoreSaveAs __dwSaveAs_native, global::Interop.Crypt32.CertStoreSaveTo __dwSaveTo_native, global::Interop.Crypt32.DATA_BLOB* __pvSaveToPara_native, int __dwFlags_native); 3697internal static unsafe partial bool CertSetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, global::Interop.Crypt32.CertSetPropertyFlags dwFlags, global::Interop.Crypt32.CRYPT_KEY_PROV_INFO* pvData) 3730static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.CertSetPropertyFlags __dwFlags_native, global::Interop.Crypt32.CRYPT_KEY_PROV_INFO* __pvData_native); 3739internal static unsafe partial bool CertSetCertificateContextProperty(nint pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, global::Interop.Crypt32.CertSetPropertyFlags dwFlags, global::Interop.Crypt32.CRYPT_KEY_PROV_INFO* pvData) 3756static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.CertSetPropertyFlags __dwFlags_native, global::Interop.Crypt32.CRYPT_KEY_PROV_INFO* __pvData_native); 3765internal static unsafe partial bool CertSetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, global::Interop.Crypt32.CertSetPropertyFlags dwFlags, global::Interop.Crypt32.DATA_BLOB* pvData) 3798static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.CertSetPropertyFlags __dwFlags_native, global::Interop.Crypt32.DATA_BLOB* __pvData_native); 3807internal static unsafe partial bool CertSetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, global::Interop.Crypt32.CertSetPropertyFlags dwFlags, global::Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle) 3845static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.CertSetPropertyFlags __dwFlags_native, nint __keyHandle_native); 3854internal static unsafe partial bool CertSetCertificateContextProperty(nint pCertContext, global::Interop.Crypt32.CertContextPropId dwPropId, global::Interop.Crypt32.CertSetPropertyFlags dwFlags, global::Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle keyHandle) 3887static extern unsafe int __PInvoke(nint __pCertContext_native, global::Interop.Crypt32.CertContextPropId __dwPropId_native, global::Interop.Crypt32.CertSetPropertyFlags __dwFlags_native, nint __keyHandle_native); 3896internal static partial bool CertStrToName(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, string pszX500, global::Interop.Crypt32.CertNameStrTypeAndFlags dwStrType, nint pvReserved, byte[] pbEncoded, ref int pcbEncoded, nint ppszError) 3917static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, ushort* __pszX500_native, global::Interop.Crypt32.CertNameStrTypeAndFlags __dwStrType_native, nint __pvReserved_native, byte* __pbEncoded_native, int* __pcbEncoded_native, nint __ppszError_native); 3926internal static unsafe partial int CertVerifyTimeValidity(ref global::Interop.Crypt32.FILETIME pTimeToVerify, global::Interop.Crypt32.CERT_INFO* pCertInfo) 3931fixed (global::Interop.Crypt32.FILETIME* __pTimeToVerify_native = &pTimeToVerify) 3942static extern unsafe int __PInvoke(global::Interop.Crypt32.FILETIME* __pTimeToVerify_native, global::Interop.Crypt32.CERT_INFO* __pCertInfo_native); 3951public static partial bool CryptAcquireCertificatePrivateKey(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCert, global::Interop.Crypt32.CryptAcquireCertificatePrivateKeyFlags dwFlags, nint pvParameters, out global::Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle phCryptProvOrNCryptKey, out global::Interop.Crypt32.CryptKeySpec pdwKeySpec, out bool pfCallerFreeProvOrNCryptKey) 3971fixed (global::Interop.Crypt32.CryptKeySpec* __pdwKeySpec_native = &pdwKeySpec) 4004static extern unsafe int __PInvoke(nint __pCert_native, global::Interop.Crypt32.CryptAcquireCertificatePrivateKeyFlags __dwFlags_native, nint __pvParameters_native, nint* __phCryptProvOrNCryptKey_native, global::Interop.Crypt32.CryptKeySpec* __pdwKeySpec_native, int* __pfCallerFreeProvOrNCryptKey_native); 4013internal static partial bool CryptDecodeObject(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, nint lpszStructType, byte[] pbEncoded, int cbEncoded, global::Interop.Crypt32.CryptDecodeObjectFlags dwFlags, byte[] pvStructInfo, ref int pcbStructInfo) 4034static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, byte* __pbEncoded_native, int __cbEncoded_native, global::Interop.Crypt32.CryptDecodeObjectFlags __dwFlags_native, byte* __pvStructInfo_native, int* __pcbStructInfo_native); 4043internal static unsafe partial bool CryptDecodeObjectPointer(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, nint lpszStructType, byte[] pbEncoded, int cbEncoded, global::Interop.Crypt32.CryptDecodeObjectFlags dwFlags, void* pvStructInfo, ref int pcbStructInfo) 4063static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, byte* __pbEncoded_native, int __cbEncoded_native, global::Interop.Crypt32.CryptDecodeObjectFlags __dwFlags_native, void* __pvStructInfo_native, int* __pcbStructInfo_native); 4072internal static unsafe partial bool CryptDecodeObjectPointer(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, nint lpszStructType, byte* pbEncoded, int cbEncoded, global::Interop.Crypt32.CryptDecodeObjectFlags dwFlags, void* pvStructInfo, ref int pcbStructInfo) 4091static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, byte* __pbEncoded_native, int __cbEncoded_native, global::Interop.Crypt32.CryptDecodeObjectFlags __dwFlags_native, void* __pvStructInfo_native, int* __pcbStructInfo_native); 4100internal static unsafe partial bool CryptDecodeObjectPointer(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, string lpszStructType, byte[] pbEncoded, int cbEncoded, global::Interop.Crypt32.CryptDecodeObjectFlags dwFlags, void* pvStructInfo, ref int pcbStructInfo) 4136static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, byte* __lpszStructType_native, byte* __pbEncoded_native, int __cbEncoded_native, global::Interop.Crypt32.CryptDecodeObjectFlags __dwFlags_native, void* __pvStructInfo_native, int* __pcbStructInfo_native); 4145internal static unsafe partial bool CryptEncodeObject(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, nint lpszStructType, void* pvStructInfo, byte[] pbEncoded, ref int pcbEncoded) 4165static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, void* __pvStructInfo_native, byte* __pbEncoded_native, int* __pcbEncoded_native); 4174internal static unsafe partial bool CryptEncodeObject(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, string lpszStructType, void* pvStructInfo, byte[] pbEncoded, ref int pcbEncoded) 4210static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, byte* __lpszStructType_native, void* __pvStructInfo_native, byte* __pbEncoded_native, int* __pcbEncoded_native); 4248internal static unsafe partial bool CryptImportPublicKeyInfoEx2(global::Interop.Crypt32.CertEncodingType dwCertEncodingType, global::Interop.Crypt32.CERT_PUBLIC_KEY_INFO* pInfo, global::Interop.Crypt32.CryptImportPublicKeyInfoFlags dwFlags, void* pvAuxInfo, out global::Microsoft.Win32.SafeHandles.SafeBCryptKeyHandle phKey) 4286static extern unsafe int __PInvoke(global::Interop.Crypt32.CertEncodingType __dwCertEncodingType_native, global::Interop.Crypt32.CERT_PUBLIC_KEY_INFO* __pInfo_native, global::Interop.Crypt32.CryptImportPublicKeyInfoFlags __dwFlags_native, void* __pvAuxInfo_native, nint* __phKey_native); 4321internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::Interop.Crypt32.CryptMsgParamType dwParamType, int dwIndex, out int pvData, ref int pcbData) 4358static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::Interop.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, int* __pvData_native, int* __pcbData_native); 4367internal static unsafe partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::Interop.Crypt32.CryptMsgParamType dwParamType, int dwIndex, byte* pvData, ref int pcbData) 4402static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::Interop.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, byte* __pvData_native, int* __pcbData_native); 4411internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::Interop.Crypt32.CryptMsgParamType dwParamType, int dwIndex, out global::Interop.Crypt32.CryptMsgType pvData, ref int pcbData) 4426fixed (global::Interop.Crypt32.CryptMsgType* __pvData_native = &pvData) 4448static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::Interop.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, global::Interop.Crypt32.CryptMsgType* __pvData_native, int* __pcbData_native); 4457internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::Interop.Crypt32.CryptMsgParamType dwParamType, int dwIndex, nint pvData, ref int pcbData) 4492static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::Interop.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, nint __pvData_native, int* __pcbData_native); 4501internal static unsafe partial bool CryptQueryObject(global::Interop.Crypt32.CertQueryObjectType dwObjectType, void* pvObject, global::Interop.Crypt32.ExpectedContentTypeFlags dwExpectedContentTypeFlags, global::Interop.Crypt32.ExpectedFormatTypeFlags dwExpectedFormatTypeFlags, int dwFlags, out global::Interop.Crypt32.CertEncodingType pdwMsgAndCertEncodingType, out global::Interop.Crypt32.ContentType pdwContentType, out global::Interop.Crypt32.FormatType pdwFormatType, out global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle phCertStore, out global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle phMsg, out global::Microsoft.Win32.SafeHandles.SafeCertContextHandle ppvContext) 4523fixed (global::Interop.Crypt32.FormatType* __pdwFormatType_native = &pdwFormatType) 4524fixed (global::Interop.Crypt32.ContentType* __pdwContentType_native = &pdwContentType) 4525fixed (global::Interop.Crypt32.CertEncodingType* __pdwMsgAndCertEncodingType_native = &pdwMsgAndCertEncodingType) 4558static extern unsafe int __PInvoke(global::Interop.Crypt32.CertQueryObjectType __dwObjectType_native, void* __pvObject_native, global::Interop.Crypt32.ExpectedContentTypeFlags __dwExpectedContentTypeFlags_native, global::Interop.Crypt32.ExpectedFormatTypeFlags __dwExpectedFormatTypeFlags_native, int __dwFlags_native, global::Interop.Crypt32.CertEncodingType* __pdwMsgAndCertEncodingType_native, global::Interop.Crypt32.ContentType* __pdwContentType_native, global::Interop.Crypt32.FormatType* __pdwFormatType_native, nint* __phCertStore_native, nint* __phMsg_native, nint* __ppvContext_native); 4567internal static unsafe partial bool CryptQueryObject(global::Interop.Crypt32.CertQueryObjectType dwObjectType, void* pvObject, global::Interop.Crypt32.ExpectedContentTypeFlags dwExpectedContentTypeFlags, global::Interop.Crypt32.ExpectedFormatTypeFlags dwExpectedFormatTypeFlags, int dwFlags, nint pdwMsgAndCertEncodingType, out global::Interop.Crypt32.ContentType pdwContentType, nint pdwFormatType, nint phCertStore, nint phMsg, nint ppvContext) 4574fixed (global::Interop.Crypt32.ContentType* __pdwContentType_native = &pdwContentType) 4587static extern unsafe int __PInvoke(global::Interop.Crypt32.CertQueryObjectType __dwObjectType_native, void* __pvObject_native, global::Interop.Crypt32.ExpectedContentTypeFlags __dwExpectedContentTypeFlags_native, global::Interop.Crypt32.ExpectedFormatTypeFlags __dwExpectedFormatTypeFlags_native, int __dwFlags_native, nint __pdwMsgAndCertEncodingType_native, global::Interop.Crypt32.ContentType* __pdwContentType_native, nint __pdwFormatType_native, nint __phCertStore_native, nint __phMsg_native, nint __ppvContext_native); 4596internal static unsafe partial bool CryptQueryObject(global::Interop.Crypt32.CertQueryObjectType dwObjectType, void* pvObject, global::Interop.Crypt32.ExpectedContentTypeFlags dwExpectedContentTypeFlags, global::Interop.Crypt32.ExpectedFormatTypeFlags dwExpectedFormatTypeFlags, int dwFlags, nint pdwMsgAndCertEncodingType, out global::Interop.Crypt32.ContentType pdwContentType, nint pdwFormatType, out global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle phCertStore, nint phMsg, nint ppvContext) 4610fixed (global::Interop.Crypt32.ContentType* __pdwContentType_native = &pdwContentType) 4637static extern unsafe int __PInvoke(global::Interop.Crypt32.CertQueryObjectType __dwObjectType_native, void* __pvObject_native, global::Interop.Crypt32.ExpectedContentTypeFlags __dwExpectedContentTypeFlags_native, global::Interop.Crypt32.ExpectedFormatTypeFlags __dwExpectedFormatTypeFlags_native, int __dwFlags_native, nint __pdwMsgAndCertEncodingType_native, global::Interop.Crypt32.ContentType* __pdwContentType_native, nint __pdwFormatType_native, nint* __phCertStore_native, nint __phMsg_native, nint __ppvContext_native); 4646internal static unsafe partial bool CryptQueryObject(global::Interop.Crypt32.CertQueryObjectType dwObjectType, void* pvObject, global::Interop.Crypt32.ExpectedContentTypeFlags dwExpectedContentTypeFlags, global::Interop.Crypt32.ExpectedFormatTypeFlags dwExpectedFormatTypeFlags, int dwFlags, nint pdwMsgAndCertEncodingType, out global::Interop.Crypt32.ContentType pdwContentType, nint pdwFormatType, nint phCertStore, nint phMsg, out global::Microsoft.Win32.SafeHandles.SafeCertContextHandle ppvContext) 4660fixed (global::Interop.Crypt32.ContentType* __pdwContentType_native = &pdwContentType) 4687static extern unsafe int __PInvoke(global::Interop.Crypt32.CertQueryObjectType __dwObjectType_native, void* __pvObject_native, global::Interop.Crypt32.ExpectedContentTypeFlags __dwExpectedContentTypeFlags_native, global::Interop.Crypt32.ExpectedFormatTypeFlags __dwExpectedFormatTypeFlags_native, int __dwFlags_native, nint __pdwMsgAndCertEncodingType_native, global::Interop.Crypt32.ContentType* __pdwContentType_native, nint __pdwFormatType_native, nint __phCertStore_native, nint __phMsg_native, nint* __ppvContext_native); 4696private static unsafe extern partial global::Interop.Crypt32.CRYPT_OID_INFO* CryptFindOIDInfo(global::Interop.Crypt32.CryptOidInfoKeyType dwKeyType, nint pvKey, global::System.Security.Cryptography.OidGroup group); 4704private static unsafe extern partial global::Interop.Crypt32.CRYPT_OID_INFO* CryptFindOIDInfo(global::Interop.Crypt32.CryptOidInfoKeyType dwKeyType, void* pvKey, global::System.Security.Cryptography.OidGroup group); 4712internal static unsafe partial bool PFXExportCertStoreEx(global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle hStore, ref global::Interop.Crypt32.DATA_BLOB pPFX, global::Microsoft.Win32.SafeHandles.SafePasswordHandle szPassword, global::Interop.Crypt32.PKCS12_PBES2_EXPORT_PARAMS* pvPara, global::Interop.Crypt32.PFXExportFlags dwFlags) 4728fixed (global::Interop.Crypt32.DATA_BLOB* __pPFX_native = &pPFX) 4752static extern unsafe int __PInvoke(nint __hStore_native, global::Interop.Crypt32.DATA_BLOB* __pPFX_native, nint __szPassword_native, global::Interop.Crypt32.PKCS12_PBES2_EXPORT_PARAMS* __pvPara_native, global::Interop.Crypt32.PFXExportFlags __dwFlags_native); 4761internal static partial global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle PFXImportCertStore(ref global::Interop.Crypt32.DATA_BLOB pPFX, global::Microsoft.Win32.SafeHandles.SafePasswordHandle password, global::Interop.Crypt32.PfxCertStoreFlags dwFlags) 4776fixed (global::Interop.Crypt32.DATA_BLOB* __pPFX_native = &pPFX) 4807static extern unsafe nint __PInvoke(global::Interop.Crypt32.DATA_BLOB* __pPFX_native, nint __password_native, global::Interop.Crypt32.PfxCertStoreFlags __dwFlags_native); 4816internal static unsafe partial global::Microsoft.Win32.SafeHandles.SafeCertStoreHandle PFXImportCertStore(ref global::Interop.Crypt32.DATA_BLOB pPFX, char* password, global::Interop.Crypt32.PfxCertStoreFlags dwFlags) 4827fixed (global::Interop.Crypt32.DATA_BLOB* __pPFX_native = &pPFX) 4853static extern unsafe nint __PInvoke(global::Interop.Crypt32.DATA_BLOB* __pPFX_native, char* __password_native, global::Interop.Crypt32.PfxCertStoreFlags __dwFlags_native);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\Interop.CryptAcquireContext_IntPtr.cs (1)
18Interop.Crypt32.CryptAcquireContextFlags dwFlags);
src\runtime\src\libraries\Common\src\Microsoft\Win32\SafeHandles\SafeCertContextHandle.cs (1)
8using static Interop.Crypt32;
src\runtime\src\libraries\Common\src\Microsoft\Win32\SafeHandles\SafeCertContextHandleWithKeyContainerDeletion.cs (11)
18using (SafeCertContextHandle certContext = Interop.Crypt32.CertDuplicateCertificateContext(handle)) 32bool containsPrivateKey = Interop.Crypt32.CertGetCertificateContextProperty(pCertContext, Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, null, ref cb); 37if (!Interop.Crypt32.CertGetCertificateContextProperty(pCertContext, Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, provInfoAsBytes, ref cb)) 44Interop.Crypt32.CRYPT_KEY_PROV_INFO* pProvInfo = (Interop.Crypt32.CRYPT_KEY_PROV_INFO*)pProvInfoAsBytes; 55if ((pProvInfo->dwFlags & Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) != 0) 75Interop.Crypt32.CryptAcquireContextFlags flags = (pProvInfo->dwFlags & Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) | Interop.Crypt32.CryptAcquireContextFlags.CRYPT_DELETEKEYSET;
src\runtime\src\libraries\Common\src\Microsoft\Win32\SafeHandles\SafeCertStoreHandle.cs (1)
13bool success = Interop.Crypt32.CertCloseStore(handle, 0);
src\runtime\src\libraries\Common\src\Microsoft\Win32\SafeHandles\SafeChainEngineHandle.cs (3)
22new SafeChainEngineHandle((IntPtr)Interop.Crypt32.ChainEngine.HCCE_LOCAL_MACHINE); 25new SafeChainEngineHandle((IntPtr)Interop.Crypt32.ChainEngine.HCCE_CURRENT_USER); 29Interop.Crypt32.CertFreeCertificateChainEngine(handle);
src\runtime\src\libraries\Common\src\Microsoft\Win32\SafeHandles\SafeCryptMsgHandle.cs (1)
13bool success = Interop.Crypt32.CryptMsgClose(handle);
src\runtime\src\libraries\Common\src\System\Security\Cryptography\ECCng.HashAlgorithm.cs (3)
6using static Interop.Crypt32; 22CRYPT_OID_INFO oid = Interop.Crypt32.FindOidInfo( 41CRYPT_OID_INFO oid = Interop.Crypt32.FindAlgIdOidInfo(hashId);
src\runtime\src\libraries\Common\src\System\Security\Cryptography\X509Certificates\CertificateHelpers.Windows.cs (21)
141if (Interop.Crypt32.CertGetCertificateContextProperty( 143Interop.Crypt32.CertContextPropId.CERT_NCRYPT_KEY_HANDLE_PROP_ID, 157if (!Interop.Crypt32.CryptAcquireCertificatePrivateKey( 159Interop.Crypt32.CryptAcquireCertificatePrivateKeyFlags.CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG, 162out Interop.Crypt32.CryptKeySpec _, 218if (!Interop.Crypt32.CertGetCertificateContextProperty(hCertContext, Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, null, ref cbData)) 235if (!Interop.Crypt32.CertGetCertificateContextProperty(hCertContext, Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, privateKey, ref cbData)) 237Interop.Crypt32.CRYPT_KEY_PROV_INFO* pKeyProvInfo = (Interop.Crypt32.CRYPT_KEY_PROV_INFO*)pPrivateKey; 245Flags = (pKeyProvInfo->dwFlags & Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) == Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET ? CspProviderFlags.UseMachineKeyStore : 0, 272Interop.Crypt32.CRYPT_KEY_PROV_INFO keyProvInfo = default; 279keyProvInfo.dwFlags = machineKey ? Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET : 0; 282if (!Interop.Crypt32.CertSetCertificateContextProperty( 284Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, 285Interop.Crypt32.CertSetPropertyFlags.None, 313if (!Interop.Crypt32.CertSetCertificateContextProperty( 315Interop.Crypt32.CertContextPropId.CERT_NCRYPT_KEY_HANDLE_PROP_ID, 316Interop.Crypt32.CertSetPropertyFlags.CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG,
System\Security\Cryptography\CapiHelper.Windows.cs (2)
11using static Interop.Crypt32; 1149return global::Interop.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, oid, oidGroup, fallBackToAllGroups: false).AlgId;
System\Security\Cryptography\CngAsnFormatter.cs (4)
21int dwFormatStrType = multiLine ? Interop.Crypt32.CRYPT_FORMAT_STR_MULTI_LINE : Interop.Crypt32.CRYPT_FORMAT_STR_NONE; 30if (Interop.Crypt32.CryptFormatObject(X509_ASN_ENCODING, 0, dwFormatStrType, IntPtr.Zero, (byte*)oidValuePtr, rawData, rawData.Length, null, ref cbFormat)) 38if (Interop.Crypt32.CryptFormatObject(X509_ASN_ENCODING, 0, dwFormatStrType, IntPtr.Zero, (byte*)oidValuePtr, rawData, rawData.Length, bufferPtr, ref cbFormat))
System\Security\Cryptography\OidLookup.Windows.cs (3)
4using static Interop.Crypt32; 17CRYPT_OID_INFO oidInfo = Interop.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, oid, oidGroup, fallBackToAllGroups); 23CRYPT_OID_INFO oidInfo = Interop.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_NAME_KEY, friendlyName, oidGroup, fallBackToAllGroups);
System\Security\Cryptography\X509Certificates\CertificateHelpers.Windows.cs (1)
180return Interop.Crypt32.CertDuplicateCertificateContext(handle.DangerousGetHandle());
System\Security\Cryptography\X509Certificates\CertificatePal.Windows.cs (61)
24SafeCertContextHandle safeCertContextHandle = Interop.Crypt32.CertDuplicateCertificateContext(handle); 33bool deleteKeyContainer = Interop.Crypt32.CertGetCertificateContextProperty(safeCertContextHandle, Interop.Crypt32.CertContextPropId.CERT_CLR_DELETE_KEY_PROP_ID, out Interop.Crypt32.DATA_BLOB _, ref cbData); 68if (!Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_SHA1_HASH_PROP_ID, null, ref cbData)) 72if (!Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_SHA1_HASH_PROP_ID, thumbprint, ref cbData)) 106algId = Interop.Crypt32.FindOidInfo(Interop.Crypt32.CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, keyAlgorithmOid, OidGroup.PublicKeyAlgorithm, fallBackToAllGroups: true).AlgId; 126Interop.Crypt32.DATA_BLOB parametersBlob = pCertContext->pCertInfo->SubjectPublicKeyInfo.Algorithm.Parameters; 153if (!Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_PUBKEY_ALG_PARA_PROP_ID, null, ref cbData)) 155Interop.Crypt32.CERT_CHAIN_PARA chainPara = default; 156chainPara.cbSize = sizeof(Interop.Crypt32.CERT_CHAIN_PARA); 157if (!Interop.Crypt32.CertGetCertificateChain((IntPtr)Interop.Crypt32.ChainEngine.HCCE_CURRENT_USER, _certContext, null, SafeCertStoreHandle.InvalidHandle, ref chainPara, Interop.Crypt32.CertChainFlags.None, IntPtr.Zero, out certChainContext)) 159if (!Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_PUBKEY_ALG_PARA_PROP_ID, null, ref cbData)) 164if (!Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_PUBKEY_ALG_PARA_PROP_ID, keyAlgorithmParameters, ref cbData)) 272bool archivePropertyExists = Interop.Crypt32.CertGetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_ARCHIVED_PROP_ID, null!, ref uninteresting); 280Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB(IntPtr.Zero, 0); 281Interop.Crypt32.DATA_BLOB* pValue = value ? &blob : (Interop.Crypt32.DATA_BLOB*)null; 282if (!Interop.Crypt32.CertSetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_ARCHIVED_PROP_ID, Interop.Crypt32.CertSetPropertyFlags.None, pValue)) 295if (!Interop.Crypt32.CertGetCertificateContextPropertyString(_certContext, Interop.Crypt32.CertContextPropId.CERT_FRIENDLY_NAME_PROP_ID, null, ref cbData)) 304if (!Interop.Crypt32.CertGetCertificateContextPropertyString(_certContext, Interop.Crypt32.CertContextPropId.CERT_FRIENDLY_NAME_PROP_ID, (byte*)ptr, ref cbData)) 320Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB(pFriendlyName, checked(2 * ((uint)friendlyName.Length + 1))); 321if (!Interop.Crypt32.CertSetCertificateContextProperty(_certContext, Interop.Crypt32.CertContextPropId.CERT_FRIENDLY_NAME_PROP_ID, Interop.Crypt32.CertSetPropertyFlags.None, &blob)) 377Interop.Crypt32.CERT_INFO* pCertInfo = certContext->pCertInfo; 383Interop.Crypt32.CERT_EXTENSION* pCertExtension = (Interop.Crypt32.CERT_EXTENSION*)pCertInfo->rgExtension.ToPointer() + i; 403forIssuer ? Interop.Crypt32.CertNameFlags.CERT_NAME_ISSUER_FLAG : Interop.Crypt32.CertNameFlags.None, 404Interop.Crypt32.CertNameStringType.CERT_X500_NAME_STR | Interop.Crypt32.CertNameStringType.CERT_NAME_STR_REVERSE_FLAG); 490return Interop.Crypt32.CertDuplicateCertificateContext((IntPtr)certContext); 495private static Interop.Crypt32.CertNameType MapNameType(X509NameType nameType) 500return Interop.Crypt32.CertNameType.CERT_NAME_SIMPLE_DISPLAY_TYPE; 503return Interop.Crypt32.CertNameType.CERT_NAME_EMAIL_TYPE; 506return Interop.Crypt32.CertNameType.CERT_NAME_UPN_TYPE; 510return Interop.Crypt32.CertNameType.CERT_NAME_DNS_TYPE; 513return Interop.Crypt32.CertNameType.CERT_NAME_URL_TYPE; 523Interop.Crypt32.CertNameType.CERT_NAME_RDN_TYPE, 524issuer ? Interop.Crypt32.CertNameFlags.CERT_NAME_ISSUER_FLAG : Interop.Crypt32.CertNameFlags.None, 525Interop.Crypt32.CertNameStringType.CERT_X500_NAME_STR | (reverse ? Interop.Crypt32.CertNameStringType.CERT_NAME_STR_REVERSE_FLAG : 0)); 542certContext = Interop.Crypt32.CertDuplicateCertificateContextWithKeyContainerDeletion(oldCertContext.DangerousGetHandle()); 592private unsafe delegate T CertContextCallback<T>(Interop.Crypt32.CERT_CONTEXT* certContext);
System\Security\Cryptography\X509Certificates\CertificatePal.Windows.Import.cs (27)
31Interop.Crypt32.ContentType contentType; 44Interop.Crypt32.DATA_BLOB certBlob = new Interop.Crypt32.DATA_BLOB(new IntPtr(pRawData), (uint)(loadFromFile ? 0 : rawData.Length)); 46Interop.Crypt32.CertQueryObjectType objectType = loadFromFile ? Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_FILE : Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_BLOB; 49bool success = Interop.Crypt32.CryptQueryObject( 70if (contentType == Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PKCS7_SIGNED || contentType == Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED) 75else if (contentType == Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PFX) 126if (!Interop.Crypt32.CryptMsgGetParam(hCryptMsg, Interop.Crypt32.CryptMsgParamType.CMSG_SIGNER_COUNT_PARAM, 0, out dwSigners, ref cbSigners)) 133if (!Interop.Crypt32.CryptMsgGetParam(hCryptMsg, Interop.Crypt32.CryptMsgParamType.CMSG_SIGNER_INFO_PARAM, 0, default(byte*), ref cbData)) 138if (!Interop.Crypt32.CryptMsgGetParam(hCryptMsg, Interop.Crypt32.CryptMsgParamType.CMSG_SIGNER_INFO_PARAM, 0, pCmsgSignerBytes, ref cbData)) 143Interop.Crypt32.CERT_INFO certInfo = default(Interop.Crypt32.CERT_INFO); 150if (!Interop.crypt32.CertFindCertificateInStore(hCertStore, Interop.Crypt32.CertFindType.CERT_FIND_SUBJECT_CERT, &certInfo, ref pCertContext)) 161private const Interop.Crypt32.ExpectedContentTypeFlags X509ExpectedContentTypeFlags = 162Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_CERT | 163Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | 164Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | 165Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | 166Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PFX; 168private const Interop.Crypt32.ExpectedFormatTypeFlags X509ExpectedFormatTypeFlags = Interop.Crypt32.ExpectedFormatTypeFlags.CERT_QUERY_FORMAT_FLAG_ALL;
System\Security\Cryptography\X509Certificates\CertificatePal.Windows.PrivateKey.cs (5)
259Interop.Crypt32.CRYPT_KEY_PROV_INFO keyProvInfo = default; 266keyProvInfo.dwFlags = keyContainerInfo.MachineKeyStore ? Interop.Crypt32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET : 0; 270if (!Interop.Crypt32.CertSetCertificateContextProperty( 272Interop.Crypt32.CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, 273Interop.Crypt32.CertSetPropertyFlags.None,
System\Security\Cryptography\X509Certificates\ChainPal.Windows.BuildChain.cs (20)
38Interop.Crypt32.CERT_CHAIN_PARA chainPara = default; 39chainPara.cbSize = sizeof(Interop.Crypt32.CERT_CHAIN_PARA); 46chainPara.RequestedUsage.dwType = Interop.Crypt32.CertUsageMatchType.USAGE_MATCH_TYPE_AND; 56chainPara.RequestedIssuancePolicy.dwType = Interop.Crypt32.CertUsageMatchType.USAGE_MATCH_TYPE_AND; 63Interop.Crypt32.FILETIME ft = Interop.Crypt32.FILETIME.FromDateTime(verificationTime); 64Interop.Crypt32.CertChainFlags flags = MapRevocationFlags(revocationMode, revocationFlag, disableAia); 68if (!Interop.Crypt32.CertGetCertificateChain(storeHandle.DangerousGetHandle(), certContext, &ft, extraStoreHandle, ref chainPara, flags, IntPtr.Zero, out chain)) 95Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG customChainEngine = default; 96customChainEngine.cbSize = sizeof(Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG); 118private static Interop.Crypt32.CertChainFlags MapRevocationFlags( 123const Interop.Crypt32.CertChainFlags AiaDisabledFlags = 124Interop.Crypt32.CertChainFlags.CERT_CHAIN_DISABLE_AIA | Interop.Crypt32.CertChainFlags.CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE; 126Interop.Crypt32.CertChainFlags dwFlags = disableAia ? AiaDisabledFlags : Interop.Crypt32.CertChainFlags.None; 132dwFlags |= Interop.Crypt32.CertChainFlags.CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY; 135dwFlags |= Interop.Crypt32.CertChainFlags.CERT_CHAIN_REVOCATION_CHECK_END_CERT; 137dwFlags |= Interop.Crypt32.CertChainFlags.CERT_CHAIN_REVOCATION_CHECK_CHAIN; 139dwFlags |= Interop.Crypt32.CertChainFlags.CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT;
System\Security\Cryptography\X509Certificates\ChainPal.Windows.cs (6)
26SafeX509ChainHandle certChainHandle = Interop.Crypt32.CertDuplicateCertificateChain(chainContext); 46Interop.Crypt32.CERT_CHAIN_POLICY_PARA para = default; 47para.cbSize = (uint)sizeof(Interop.Crypt32.CERT_CHAIN_POLICY_PARA); 50Interop.Crypt32.CERT_CHAIN_POLICY_STATUS status = default; 51status.cbSize = (uint)sizeof(Interop.Crypt32.CERT_CHAIN_POLICY_STATUS); 115Interop.Crypt32.CertFreeCertificateChain(handle);
System\Security\Cryptography\X509Certificates\FindPal.Windows.cs (47)
32string? oidValue = Interop.Crypt32.FindOidInfo(Interop.Crypt32.CryptOidInfoKeyType.CRYPT_OID_INFO_NAME_KEY, maybeOid, expectedGroup, fallBackToAllGroups: true).OID; 47Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB(new IntPtr(pThumbPrint), (uint)thumbPrint.Length); 48FindCore<object>(Interop.Crypt32.CertFindType.CERT_FIND_HASH, &blob); 56FindCore<object>(Interop.Crypt32.CertFindType.CERT_FIND_SUBJECT_STR, pSubjectName); 66string actual = GetCertNameInfo(pCertContext, Interop.Crypt32.CertNameType.CERT_NAME_RDN_TYPE, Interop.Crypt32.CertNameFlags.None); 75FindCore<object>(Interop.Crypt32.CertFindType.CERT_FIND_ISSUER_STR, pIssuerName); 85string actual = GetCertNameInfo(pCertContext, Interop.Crypt32.CertNameType.CERT_NAME_RDN_TYPE, Interop.Crypt32.CertNameFlags.CERT_NAME_ISSUER_FLAG); 116Interop.Crypt32.FILETIME fileTime = Interop.Crypt32.FILETIME.FromDateTime(dateTime); 122int comparison = Interop.Crypt32.CertVerifyTimeValidity( 146string expectedOidValue = Interop.Crypt32.FindOidInfo( 147Interop.Crypt32.CryptOidInfoKeyType.CRYPT_OID_INFO_NAME_KEY, 166Interop.Crypt32.CERT_INFO* pCertInfo = pCertContext.DangerousCertContext->pCertInfo; 167Interop.Crypt32.CERT_EXTENSION* pV1Template = Interop.Crypt32.CertFindExtension( 188Interop.Crypt32.CERT_EXTENSION* pV2Template = Interop.Crypt32.CertFindExtension( 221if (!Interop.Crypt32.CertGetValidUsages(1, ref pCertContext, out numOids, null, ref cbData)) 234if (!Interop.Crypt32.CertGetValidUsages(1, ref pCertContext, out numOids, pOidsPointer, ref cbData)) 280Interop.Crypt32.CERT_INFO* pCertInfo = pCertContext.DangerousCertContext->pCertInfo; 281Interop.Crypt32.CERT_EXTENSION* pCertExtension = Interop.Crypt32.CertFindExtension( 310Interop.Crypt32.CERT_INFO* pCertInfo = pCertContext.DangerousCertContext->pCertInfo; 311Interop.Crypt32.CERT_EXTENSION* pCertExtension = Interop.Crypt32.CertFindExtension(oidValue, pCertInfo->cExtension, pCertInfo->rgExtension); 323Interop.Crypt32.CERT_INFO* pCertInfo = pCertContext.DangerousCertContext->pCertInfo; 326if (!Interop.crypt32.CertGetIntendedKeyUsage(Interop.Crypt32.CertEncodingType.All, pCertInfo, out actual, sizeof(X509KeyUsageFlags))) 346if (!Interop.Crypt32.CertGetCertificateContextPropertyPtr( 348Interop.Crypt32.CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, 366if (!Interop.Crypt32.CertGetCertificateContextPropertyPtr( 368Interop.Crypt32.CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, 388FindCore(Interop.Crypt32.CertFindType.CERT_FIND_ANY, null, state, filter); 391private unsafe void FindCore<TState>(Interop.Crypt32.CertFindType dwFindType, void* pvFindPara, TState state = default!, Func<TState, SafeCertContextHandle, bool>? filter = null) 395Interop.Crypt32.CertEncodingType.All, 397Interop.Crypt32.CertStoreFlags.CERT_STORE_ENUM_ARCHIVED_FLAG | Interop.Crypt32.CertStoreFlags.CERT_STORE_CREATE_NEW_FLAG, 424if (!Interop.Crypt32.CertAddCertificateLinkToStore(findResults, pCertContext, Interop.Crypt32.CertStoreAddDisposition.CERT_STORE_ADD_ALWAYS, IntPtr.Zero)) 473private static string GetCertNameInfo(SafeCertContextHandle pCertContext, Interop.Crypt32.CertNameType dwNameType, Interop.Crypt32.CertNameFlags dwNameFlags) 475Debug.Assert(dwNameType != Interop.Crypt32.CertNameType.CERT_NAME_ATTR_TYPE); 480Interop.Crypt32.CertNameStringType.CERT_X500_NAME_STR | Interop.Crypt32.CertNameStringType.CERT_NAME_STR_REVERSE_FLAG);
System\Security\Cryptography\X509Certificates\StorePal.Windows.cs (7)
22SafeCertStoreHandle certStoreHandle = Interop.Crypt32.CertDuplicateStore(storeHandle); 54if (!Interop.Crypt32.CertAddCertificateContextToStore(_certStore, certContext, Interop.Crypt32.CertStoreAddDisposition.CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES, IntPtr.Zero)) 66Interop.Crypt32.CERT_CONTEXT* pCertContext = existingCertContext.DangerousCertContext; 67if (!Interop.crypt32.CertFindCertificateInStore(_certStore, Interop.Crypt32.CertFindType.CERT_FIND_EXISTING, pCertContext, ref enumCertContext)) 70Interop.Crypt32.CERT_CONTEXT* pCertContextToDelete = enumCertContext.Disconnect(); // CertDeleteCertificateFromContext always frees the context (even on error) 73if (!Interop.Crypt32.CertDeleteCertificateFromStore(pCertContextToDelete))
System\Security\Cryptography\X509Certificates\StorePal.Windows.Export.cs (24)
62if (!Interop.Crypt32.CertSerializeCertificateStoreElement(pCertContext, 0, null, ref cbEncoded)) 66if (!Interop.Crypt32.CertSerializeCertificateStoreElement(pCertContext, 0, pbEncoded, ref cbEncoded)) 81return SaveToMemoryStore(Interop.Crypt32.CertStoreSaveAs.CERT_STORE_SAVE_AS_STORE); 84return SaveToMemoryStore(Interop.Crypt32.CertStoreSaveAs.CERT_STORE_SAVE_AS_PKCS7); 104Interop.Crypt32.DATA_BLOB dataBlob = new Interop.Crypt32.DATA_BLOB(IntPtr.Zero, 0); 105Interop.Crypt32.PFXExportFlags flags = 106Interop.Crypt32.PFXExportFlags.EXPORT_PRIVATE_KEYS | 107Interop.Crypt32.PFXExportFlags.REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY; 109Interop.Crypt32.PKCS12_PBES2_EXPORT_PARAMS* exportParams = null; 113Interop.Crypt32.PKCS12_PBES2_EXPORT_PARAMS specifiedParams = new() 115dwSize = (uint)sizeof(Interop.Crypt32.PKCS12_PBES2_EXPORT_PARAMS), 124flags |= Interop.Crypt32.PFXExportFlags.PKCS12_EXPORT_PBES2_PARAMS; 143if (!Interop.Crypt32.PFXExportCertStoreEx(_certStore, ref dataBlob, password, exportParams, flags)) 154if (!Interop.Crypt32.PFXExportCertStoreEx(_certStore, ref dataBlob, password, exportParams, flags)) 251private byte[] SaveToMemoryStore(Interop.Crypt32.CertStoreSaveAs dwSaveAs) 255Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB(IntPtr.Zero, 0); 256if (!Interop.Crypt32.CertSaveStore(_certStore, Interop.Crypt32.CertEncodingType.All, dwSaveAs, Interop.Crypt32.CertStoreSaveTo.CERT_STORE_SAVE_TO_MEMORY, ref blob, 0)) 263if (!Interop.Crypt32.CertSaveStore(_certStore, Interop.Crypt32.CertEncodingType.All, dwSaveAs, Interop.Crypt32.CertStoreSaveTo.CERT_STORE_SAVE_TO_MEMORY, ref blob, 0))
System\Security\Cryptography\X509Certificates\StorePal.Windows.Import.cs (40)
35Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB(new IntPtr(pRawData), (uint)(fromFile ? 0 : rawData!.Length)); 38Interop.Crypt32.ContentType contentType; 40if (!Interop.Crypt32.CryptQueryObject( 41fromFile ? Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_FILE : Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_BLOB, 44Interop.Crypt32.ExpectedFormatTypeFlags.CERT_QUERY_FORMAT_FLAG_ALL, 59if (contentType == Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PFX) 126Interop.Crypt32.CertEncodingType.All, 128Interop.Crypt32.CertStoreFlags.CERT_STORE_ENUM_ARCHIVED_FLAG | Interop.Crypt32.CertStoreFlags.CERT_STORE_CREATE_NEW_FLAG | Interop.Crypt32.CertStoreFlags.CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG, 134!Interop.Crypt32.CertAddCertificateLinkToStore(certStore, certContext, Interop.Crypt32.CertStoreAddDisposition.CERT_STORE_ADD_ALWAYS, IntPtr.Zero)) 156Interop.Crypt32.CertEncodingType.All, 158Interop.Crypt32.CertStoreFlags.CERT_STORE_ENUM_ARCHIVED_FLAG | Interop.Crypt32.CertStoreFlags.CERT_STORE_CREATE_NEW_FLAG, 176if (!Interop.Crypt32.CertAddCertificateLinkToStore(certStore, certContext, Interop.Crypt32.CertStoreAddDisposition.CERT_STORE_ADD_ALWAYS, IntPtr.Zero)) 194Interop.Crypt32.CertStoreFlags certStoreFlags = MapX509StoreFlags(storeLocation, openFlags); 196SafeCertStoreHandle certStore = Interop.crypt32.CertOpenStore(CertStoreProvider.CERT_STORE_PROV_SYSTEM_W, Interop.Crypt32.CertEncodingType.All, IntPtr.Zero, certStoreFlags, storeName); 210_ = Interop.Crypt32.CertControlStore(certStore, Interop.Crypt32.CertControlStoreFlags.None, Interop.Crypt32.CertControlStoreType.CERT_STORE_CTRL_AUTO_RESYNC, IntPtr.Zero); 216private static Interop.Crypt32.CertStoreFlags MapX509StoreFlags(StoreLocation storeLocation, OpenFlags flags) 218Interop.Crypt32.CertStoreFlags dwFlags = 0; 223dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_STORE_READONLY_FLAG; 226dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_STORE_MAXIMUM_ALLOWED_FLAG; 231dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_STORE_OPEN_EXISTING_FLAG; 233dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_STORE_ENUM_ARCHIVED_FLAG; 236dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_SYSTEM_STORE_LOCAL_MACHINE; 238dwFlags |= Interop.Crypt32.CertStoreFlags.CERT_SYSTEM_STORE_CURRENT_USER; 243private const Interop.Crypt32.ExpectedContentTypeFlags StoreExpectedContentFlags = 244Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_CERT | 245Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | 246Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | 247Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | 248Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | 249Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_PFX | 250Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE;
System\Security\Cryptography\X509Certificates\WindowsHelpers.cs (14)
86Interop.Crypt32.CertEncodingType.All, 90Interop.Crypt32.CryptDecodeObjectFlags.None, 108Interop.Crypt32.CertEncodingType.All, 112Interop.Crypt32.CryptDecodeObjectFlags.None, 131if (!Interop.Crypt32.CryptDecodeObjectPointer( 132Interop.Crypt32.CertEncodingType.All, 136Interop.Crypt32.CryptDecodeObjectFlags.None, 153if (!Interop.Crypt32.CryptDecodeObjectPointer( 154Interop.Crypt32.CertEncodingType.All, 158Interop.Crypt32.CryptDecodeObjectFlags.None, 179Interop.Crypt32.CertEncodingType.All, 182Interop.Crypt32.CryptDecodeObjectFlags.None, 201Interop.Crypt32.CertEncodingType.All, 204Interop.Crypt32.CryptDecodeObjectFlags.None,
System\Security\Cryptography\X509Certificates\WindowsInterop.crypt32.cs (44)
22Interop.Crypt32.CertNameType certNameType, 23Interop.Crypt32.CertNameFlags certNameFlags, 24Interop.Crypt32.CertNameStringType strType) 26int cchCount = Crypt32.CertGetNameString(certContext, certNameType, certNameFlags, strType, null, 0); 35if (Crypt32.CertGetNameString(certContext, certNameType, certNameFlags, strType, ptr, cchCount) == 0) 45public static SafeCertStoreHandle CertOpenStore(CertStoreProvider lpszStoreProvider, Interop.Crypt32.CertEncodingType dwMsgAndCertEncodingType, IntPtr hCryptProv, Interop.Crypt32.CertStoreFlags dwFlags, string? pvPara) 47return Crypt32.CertOpenStore((IntPtr)lpszStoreProvider, dwMsgAndCertEncodingType, hCryptProv, dwFlags, pvPara); 59Interop.Crypt32.CERT_CONTEXT* pPrevCertContext; 70Marshal.InitHandle(pCertContext, (IntPtr)Crypt32.CertEnumCertificatesInStore(hCertStore, pPrevCertContext)); 81public static bool CryptDecodeObject(Interop.Crypt32.CertEncodingType dwCertEncodingType, CryptDecodeObjectStructType lpszStructType, byte[] pbEncoded, int cbEncoded, Interop.Crypt32.CryptDecodeObjectFlags dwFlags, byte[]? pvStructInfo, ref int pcbStructInfo) 83return Interop.Crypt32.CryptDecodeObject(dwCertEncodingType, (IntPtr)lpszStructType, pbEncoded, cbEncoded, dwFlags, pvStructInfo, ref pcbStructInfo); 86public static unsafe bool CryptDecodeObjectPointer(Interop.Crypt32.CertEncodingType dwCertEncodingType, CryptDecodeObjectStructType lpszStructType, byte[] pbEncoded, int cbEncoded, Interop.Crypt32.CryptDecodeObjectFlags dwFlags, void* pvStructInfo, ref int pcbStructInfo) 88return Interop.Crypt32.CryptDecodeObjectPointer(dwCertEncodingType, (IntPtr)lpszStructType, pbEncoded, cbEncoded, dwFlags, pvStructInfo, ref pcbStructInfo); 91public static unsafe bool CryptDecodeObjectPointer(Interop.Crypt32.CertEncodingType dwCertEncodingType, CryptDecodeObjectStructType lpszStructType, ReadOnlySpan<byte> encoded, Interop.Crypt32.CryptDecodeObjectFlags dwFlags, void* pvStructInfo, ref int pcbStructInfo) 95return Interop.Crypt32.CryptDecodeObjectPointer(dwCertEncodingType, (IntPtr)lpszStructType, pEncoded, encoded.Length, dwFlags, pvStructInfo, ref pcbStructInfo); 99public static unsafe bool CryptEncodeObject(Interop.Crypt32.CertEncodingType dwCertEncodingType, CryptDecodeObjectStructType lpszStructType, void* pvStructInfo, byte[]? pbEncoded, ref int pcbEncoded) 101return Interop.Crypt32.CryptEncodeObject(dwCertEncodingType, (IntPtr)lpszStructType, pvStructInfo, pbEncoded, ref pcbEncoded); 107if (!Interop.crypt32.CryptEncodeObject(Interop.Crypt32.CertEncodingType.All, lpszStructType, decoded, null, ref cb)) 111if (!Interop.crypt32.CryptEncodeObject(Interop.Crypt32.CertEncodingType.All, lpszStructType, decoded, encoded, ref cb)) 120if (!Interop.Crypt32.CryptEncodeObject(Interop.Crypt32.CertEncodingType.All, lpszStructType, decoded, null, ref cb)) 124if (!Interop.Crypt32.CryptEncodeObject(Interop.Crypt32.CertEncodingType.All, lpszStructType, decoded, encoded, ref cb)) 130internal static SafeChainEngineHandle CertCreateCertificateChainEngine(ref Interop.Crypt32.CERT_CHAIN_ENGINE_CONFIG config) 132if (!Interop.Crypt32.CertCreateCertificateChainEngine(ref config, out SafeChainEngineHandle chainEngineHandle)) 149public static unsafe bool CertFindCertificateInStore(SafeCertStoreHandle hCertStore, Interop.Crypt32.CertFindType dwFindType, void* pvFindPara, [NotNull] ref SafeCertContextHandle? pCertContext) 151Interop.Crypt32.CERT_CONTEXT* pPrevCertContext = null; 158pCertContext = Interop.Crypt32.CertFindCertificateInStore(hCertStore, Interop.Crypt32.CertEncodingType.All, Interop.Crypt32.CertFindFlags.None, dwFindType, pvFindPara, pPrevCertContext); 162public static unsafe bool CertGetIntendedKeyUsage(Interop.Crypt32.CertEncodingType dwCertEncodingType, Interop.Crypt32.CERT_INFO* pCertInfo, out X509KeyUsageFlags pbKeyUsage, int cbKeyUsage) 164bool result = Interop.Crypt32.CertGetIntendedKeyUsage(dwCertEncodingType, pCertInfo, out Interop.Crypt32.X509KeyUsageFlags x509KeyUsageFlags, cbKeyUsage); 169public static bool CertVerifyCertificateChainPolicy(ChainPolicy pszPolicyOID, SafeX509ChainHandle pChainContext, ref Interop.Crypt32.CERT_CHAIN_POLICY_PARA pPolicyPara, ref Interop.Crypt32.CERT_CHAIN_POLICY_STATUS pPolicyStatus) 171return Interop.Crypt32.CertVerifyCertificateChainPolicy((IntPtr)pszPolicyOID, pChainContext, ref pPolicyPara, ref pPolicyStatus); 174public static bool CryptAcquireCertificatePrivateKey(SafeCertContextHandle pCert, Interop.Crypt32.CryptAcquireCertificatePrivateKeyFlags dwFlags, IntPtr pvParameters, out SafeNCryptKeyHandle phCryptProvOrNCryptKey, out int pdwKeySpec, out bool pfCallerFreeProvOrNCryptKey) 176bool result = Interop.Crypt32.CryptAcquireCertificatePrivateKey(pCert, dwFlags, pvParameters, out phCryptProvOrNCryptKey, out Interop.Crypt32.CryptKeySpec pdwKeySpecEnum, out pfCallerFreeProvOrNCryptKey);
System\Security\Cryptography\X509Certificates\WindowsStructs.cs (9)
18public Interop.Crypt32.DATA_BLOB Issuer; 19public Interop.Crypt32.DATA_BLOB SerialNumber; 58public Interop.Crypt32.DATA_BLOB p; 59public Interop.Crypt32.DATA_BLOB q; 60public Interop.Crypt32.DATA_BLOB g; 71public Interop.Crypt32.CRYPT_BIT_BLOB SubjectType; 75public Interop.Crypt32.DATA_BLOB* rgSubtreesConstraint; // PCERT_NAME_BLOB 108public Interop.Crypt32.DATA_BLOB Value; 184public Interop.Crypt32.CERT_CONTEXT* pCertContext;
System\Security\Cryptography\X509Certificates\X509CertificateLoader.Windows.cs (23)
19Interop.Crypt32.DATA_BLOB blob = new Interop.Crypt32.DATA_BLOB( 24Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_BLOB, 37Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_FILE, 177Interop.Crypt32.CertQueryObjectType objectType, 183const Interop.Crypt32.ContentType ContentType = 184Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_CERT; 185const Interop.Crypt32.ExpectedContentTypeFlags ExpectedContentType = 186Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_CERT; 188bool loaded = Interop.Crypt32.CryptQueryObject( 192Interop.Crypt32.ExpectedFormatTypeFlags.CERT_QUERY_FORMAT_FLAG_ALL, 195out Interop.Crypt32.ContentType actualType, 240Interop.Crypt32.PfxCertStoreFlags flags = MapKeyStorageFlags(keyStorageFlags); 257Interop.Crypt32.DATA_BLOB blob = new((IntPtr)dataPtr, (uint)data.Length); 259storeHandle = Interop.Crypt32.PFXImportCertStore( 280private static Interop.Crypt32.PfxCertStoreFlags MapKeyStorageFlags(X509KeyStorageFlags keyStorageFlags) 284Interop.Crypt32.PfxCertStoreFlags pfxCertStoreFlags = 0; 287pfxCertStoreFlags |= Interop.Crypt32.PfxCertStoreFlags.CRYPT_USER_KEYSET; 289pfxCertStoreFlags |= Interop.Crypt32.PfxCertStoreFlags.CRYPT_MACHINE_KEYSET; 292pfxCertStoreFlags |= Interop.Crypt32.PfxCertStoreFlags.CRYPT_EXPORTABLE; 294pfxCertStoreFlags |= Interop.Crypt32.PfxCertStoreFlags.CRYPT_USER_PROTECTED; 302pfxCertStoreFlags |= Interop.Crypt32.PfxCertStoreFlags.PKCS12_NO_PERSIST_KEY | Interop.Crypt32.PfxCertStoreFlags.PKCS12_ALWAYS_CNG_KSP;
System\Security\Cryptography\X509Certificates\X509Pal.Windows.GetCertContentType.cs (20)
17Interop.Crypt32.ContentType contentType; 23Interop.Crypt32.DATA_BLOB certBlob = new Interop.Crypt32.DATA_BLOB(new IntPtr(pRawData), (uint)rawData.Length); 24if (!Interop.Crypt32.CryptQueryObject( 25Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_BLOB, 27Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_ALL, 28Interop.Crypt32.ExpectedFormatTypeFlags.CERT_QUERY_FORMAT_FLAG_ALL, 47Interop.Crypt32.ContentType contentType; 53if (!Interop.Crypt32.CryptQueryObject( 54Interop.Crypt32.CertQueryObjectType.CERT_QUERY_OBJECT_FILE, 56Interop.Crypt32.ExpectedContentTypeFlags.CERT_QUERY_CONTENT_FLAG_ALL, 57Interop.Crypt32.ExpectedFormatTypeFlags.CERT_QUERY_FORMAT_FLAG_ALL, 78private static X509ContentType MapContentType(Interop.Crypt32.ContentType contentType) 82case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_CERT: 84case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_SERIALIZED_STORE: 86case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_SERIALIZED_CERT: 88case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PKCS7_SIGNED: 89case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PKCS7_UNSIGNED: 91case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: 93case Interop.Crypt32.ContentType.CERT_QUERY_CONTENT_PFX:
System\Security\Cryptography\X509Certificates\X509Pal.Windows.PublicKey.cs (4)
9using static Interop.Crypt32; 51int algId = Interop.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, oid.Value!, OidGroup.PublicKeyAlgorithm, fallBackToAllGroups: true).AlgId; 136bool success = Interop.Crypt32.CryptImportPublicKeyInfoEx2( 137Interop.Crypt32.CertEncodingType.X509_ASN_ENCODING,
System\Security\Cryptography\X509Certificates\X509Pal.Windows.X500DistinguishedName.cs (29)
18int dwStrType = (int)(Interop.Crypt32.CertNameStrTypeAndFlags.CERT_X500_NAME_STR | MapNameToStrFlag(flag)); 23Interop.Crypt32.DATA_BLOB nameBlob; 27int cchDecoded = Interop.Crypt32.CertNameToStr((int)Interop.Crypt32.CertEncodingType.All, &nameBlob, dwStrType, null, 0); 34if (Interop.Crypt32.CertNameToStr((int)Interop.Crypt32.CertEncodingType.All, &nameBlob, dwStrType, ptr, cchDecoded) == 0) 47Interop.Crypt32.CertNameStrTypeAndFlags dwStrType = Interop.Crypt32.CertNameStrTypeAndFlags.CERT_X500_NAME_STR | MapNameToStrFlag(flag); 50if (!Interop.Crypt32.CertStrToName(Interop.Crypt32.CertEncodingType.All, distinguishedName, dwStrType, IntPtr.Zero, null, ref cbEncoded, IntPtr.Zero)) 54if (!Interop.Crypt32.CertStrToName(Interop.Crypt32.CertEncodingType.All, distinguishedName, dwStrType, IntPtr.Zero, encodedName, ref cbEncoded, IntPtr.Zero)) 65int stringType = multiLine ? Interop.Crypt32.CRYPT_FORMAT_STR_MULTI_LINE : Interop.Crypt32.CRYPT_FORMAT_STR_NONE; 68if (!Interop.Crypt32.CryptFormatObject( 69(int)Interop.Crypt32.CertEncodingType.X509_ASN_ENCODING, 86if (!Interop.Crypt32.CryptFormatObject( 87(int)Interop.Crypt32.CertEncodingType.X509_ASN_ENCODING, 104private static Interop.Crypt32.CertNameStrTypeAndFlags MapNameToStrFlag(X500DistinguishedNameFlags flag) 111Interop.Crypt32.CertNameStrTypeAndFlags dwStrType = 0; 115dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_REVERSE_FLAG; 118dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_SEMICOLON_FLAG; 120dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_COMMA_FLAG; 122dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_CRLF_FLAG; 125dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_NO_PLUS_FLAG; 127dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_NO_QUOTING_FLAG; 130dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG; 133dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG; 135dwStrType |= Interop.Crypt32.CertNameStrTypeAndFlags.CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG;