146 references to Interop
System.Security.Cryptography.Pkcs (146)
_generated\0\LibraryImports.g.cs (73)
116
public static partial bool CryptSetProvParam(global::System.Runtime.InteropServices.SafeHandle safeProvHandle, global::
Interop
.Advapi32.CryptProvParam dwParam, nint pbData, int dwFlags)
150
static extern unsafe int __PInvoke(nint __safeProvHandle_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint __pbData_native, int __dwFlags_native);
160
public static partial bool CryptSetProvParam(global::System.Security.Cryptography.SafeProvHandle hProv, global::
Interop
.Advapi32.CryptProvParam dwParam, ref nint pbData, int dwFlags)
196
static extern unsafe int __PInvoke(nint __hProv_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint* __pbData_native, int __dwFlags_native);
206
public static partial bool CryptGetProvParam(global::System.Runtime.InteropServices.SafeHandle safeProvHandle, global::
Interop
.Advapi32.CryptProvParam dwParam, nint pbData, ref int dwDataLen, int dwFlags)
242
static extern unsafe int __PInvoke(nint __safeProvHandle_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint __pbData_native, int* __dwDataLen_native, int __dwFlags_native);
333
internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, byte[] pvData, ref int pcbData)
370
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native);
380
internal static unsafe partial bool CertGetCertificateContextPropertyPtr(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, byte* pvData, ref int pcbData)
416
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native);
426
internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, out nint pvData, ref int pcbData)
464
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, nint* __pvData_native, int* __pcbData_native);
474
internal 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)
489
fixed (global::
Interop
.Crypt32.DATA_BLOB* __pvData_native = &pvData)
512
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, global::
Interop
.Crypt32.DATA_BLOB* __pvData_native, int* __pcbData_native);
522
internal static partial int CertGetPublicKeyLength(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, ref global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO pPublicKey)
527
fixed (global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO* __pPublicKey_native = &pPublicKey)
539
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO* __pPublicKey_native);
574
internal static partial bool CryptAcquireCertificatePrivateKey(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCert, global::
Interop
.Crypt32.CryptAcquireCertificatePrivateKeyFlags dwFlags, nint pvParameters, out nint phCryptProvOrNCryptKey, out global::
Interop
.Crypt32.CryptKeySpec pdwKeySpec, out bool pfCallerFreeProvOrNCryptKey)
591
fixed (global::
Interop
.Crypt32.CryptKeySpec* __pdwKeySpec_native = &pdwKeySpec)
616
static 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);
626
private static unsafe partial bool CryptDecodeObject(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, nint lpszStructType, nint pbEncoded, int cbEncoded, int dwFlags, void* pvStructInfo, ref int pcbStructInfo)
646
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, nint __pbEncoded_native, int __cbEncoded_native, int __dwFlags_native, void* __pvStructInfo_native, int* __pcbStructInfo_native);
656
private static unsafe partial bool CryptEncodeObject(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, nint lpszStructType, void* pvStructInfo, byte[] pbEncoded, ref int pcbEncoded)
677
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, void* __pvStructInfo_native, byte* __pbEncoded_native, int* __pcbEncoded_native);
715
internal static partial bool CryptMsgControl(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, int dwFlags, global::
Interop
.Crypt32.MsgControlType dwCtrlType, ref global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA pvCtrlPara)
728
fixed (global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA* __pvCtrlPara_native = &pvCtrlPara)
751
static extern unsafe int __PInvoke(nint __hCryptMsg_native, int __dwFlags_native, global::
Interop
.Crypt32.MsgControlType __dwCtrlType_native, global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA* __pvCtrlPara_native);
761
internal static partial bool CryptMsgControl(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, int dwFlags, global::
Interop
.Crypt32.MsgControlType dwCtrlType, ref global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA pvCtrlPara)
774
fixed (global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA* __pvCtrlPara_native = &pvCtrlPara)
797
static extern unsafe int __PInvoke(nint __hCryptMsg_native, int __dwFlags_native, global::
Interop
.Crypt32.MsgControlType __dwCtrlType_native, global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA* __pvCtrlPara_native);
807
internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, out int pvData, ref int pcbData)
845
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, int* __pvData_native, int* __pcbData_native);
855
internal static unsafe partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, byte* pvData, ref int pcbData)
891
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, byte* __pvData_native, int* __pcbData_native);
901
internal 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)
916
fixed (global::
Interop
.Crypt32.CryptMsgType* __pvData_native = &pvData)
939
static 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);
949
internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, nint pvData, ref int pcbData)
985
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, nint __pvData_native, int* __pcbData_native);
995
internal static partial global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle CryptMsgOpenToDecode(global::
Interop
.Crypt32.MsgEncodingType dwMsgEncodingType, int dwFlags, int dwMsgType, nint hCryptProv, nint pRecipientInfo, nint pStreamInfo)
1031
static extern unsafe nint __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwMsgEncodingType_native, int __dwFlags_native, int __dwMsgType_native, nint __hCryptProv_native, nint __pRecipientInfo_native, nint __pStreamInfo_native);
1041
internal static unsafe partial global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle CryptMsgOpenToEncode(global::
Interop
.Crypt32.MsgEncodingType dwMsgEncodingType, int dwFlags, global::
Interop
.Crypt32.CryptMsgType dwMsgType, global::
Interop
.Crypt32.CMSG_ENVELOPED_ENCODE_INFO* pvMsgEncodeInfo, string pszInnerContentObjID, nint pStreamInfo)
1086
static extern unsafe nint __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwMsgEncodingType_native, int __dwFlags_native, global::
Interop
.Crypt32.CryptMsgType __dwMsgType_native, global::
Interop
.Crypt32.CMSG_ENVELOPED_ENCODE_INFO* __pvMsgEncodeInfo_native, byte* __pszInnerContentObjID_native, nint __pStreamInfo_native);
1237
private static unsafe extern partial global::
Interop
.Crypt32.CRYPT_OID_INFO* CryptFindOIDInfo(global::
Interop
.Crypt32.CryptOidInfoKeyType dwKeyType, nint pvKey, global::System.Security.Cryptography.OidGroup group);
1279
internal static partial global::Microsoft.Win32.SafeHandles.SafeHeapAllocHandle HeapAlloc(nint hHeap, global::
Interop
.Kernel32.HeapAllocFlags dwFlags, nint dwBytes)
1311
static extern unsafe nint __PInvoke(nint __hHeap_native, global::
Interop
.Kernel32.HeapAllocFlags __dwFlags_native, nint __dwBytes_native);
1321
internal static partial bool HeapFree(nint hHeap, global::
Interop
.Kernel32.HeapAllocFlags dwFlags, nint lpMem)
1335
static extern unsafe int __PInvoke(nint __hHeap_native, global::
Interop
.Kernel32.HeapAllocFlags __dwFlags_native, nint __lpMem_native);
1345
internal static unsafe partial global::
Interop
.NCrypt.ErrorCode NCryptGetProperty(global::Microsoft.Win32.SafeHandles.SafeNCryptHandle hObject, string pszProperty, void* pbOutput, int cbOutput, out int pcbResult, global::System.Security.Cryptography.CngPropertyOptions dwFlags)
1349
global::
Interop
.NCrypt.ErrorCode __retVal = default;
1375
static extern unsafe global::
Interop
.NCrypt.ErrorCode __PInvoke(nint __hObject_native, ushort* __pszProperty_native, void* __pbOutput_native, int __cbOutput_native, int* __pcbResult_native, global::System.Security.Cryptography.CngPropertyOptions __dwFlags_native);
1385
internal static unsafe partial global::
Interop
.NCrypt.ErrorCode NCryptSetProperty(global::Microsoft.Win32.SafeHandles.SafeNCryptHandle hObject, string pszProperty, void* pbInput, int cbInput, global::System.Security.Cryptography.CngPropertyOptions dwFlags)
1388
global::
Interop
.NCrypt.ErrorCode __retVal = default;
1413
static extern unsafe global::
Interop
.NCrypt.ErrorCode __PInvoke(nint __hObject_native, ushort* __pszProperty_native, void* __pbInput_native, int __cbInput_native, global::System.Security.Cryptography.CngPropertyOptions __dwFlags_native);
1422
internal static extern partial global::
Interop
.NCrypt.ErrorCode NCryptFreeObject(nint hObject);
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.Decode.cs (3)
13
using static
Interop
.Crypt32;
31
hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToDecode(MsgEncodingType.All, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);
35
if (!
Interop
.Crypt32.CryptMsgUpdate(
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.DecodeRecipients.cs (2)
11
using static
Interop
.Crypt32;
21
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_CMS_RECIPIENT_COUNT_PARAM, 0, out numRecipients, ref cbRecipientsCount))
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.Decrypt.cs (6)
13
using static
Interop
.Crypt32;
128
if (
Interop
.Crypt32.CertGetCertificateContextProperty(
138
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, null, ref cbSize))
150
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, pData, ref cbSize))
180
bool success =
Interop
.Crypt32.CryptMsgControl(_hCryptMsg, 0, MsgControlType.CMSG_CTRL_DECRYPT, ref decryptPara);
262
if (!
Interop
.Crypt32.CryptMsgControl(_hCryptMsg, 0, MsgControlType.CMSG_CTRL_KEY_AGREE_DECRYPT, ref decryptPara))
Internal\Cryptography\Pal\Windows\HelpersWindows.cs (23)
14
using static
Interop
.Crypt32;
15
using CryptProvParam =
Interop
.Advapi32.CryptProvParam;
36
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, IntPtr.Zero, ref cbData))
42
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, pvData, ref cbData))
53
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, IntPtr.Zero, ref cbData))
59
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, pvData.DangerousGetHandle(), ref cbData))
84
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_TYPE_PARAM, 0, out cryptMsgType, ref cbData))
93
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_VERSION_PARAM, 0, out version, ref cbData))
128
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_CERT_COUNT_PARAM, 0, out numCertificates, ref cbNumCertificates))
145
CRYPT_OID_INFO info =
Interop
.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, oidValue, OidGroup.All, false);
152
pCertContext =
Interop
.Crypt32.CertDuplicateCertificateContext(pCertContext);
161
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, null, ref cbData))
165
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, ski, ref cbData))
184
int nc =
Interop
.Crypt32.CertNameToStr((int)MsgEncodingType.All, dataBlobPtr, dwStrType, null, 0);
193
nc =
Interop
.Crypt32.CertNameToStr((int)MsgEncodingType.All, dataBlobPtr, dwStrType, namePtr, nc);
243
int keyLength =
Interop
.Crypt32.CertGetPublicKeyLength(MsgEncodingType.All, ref publicKeyInfo);
272
if (!
Interop
.Crypt32.CryptDecodeObject(CryptDecodeObjectStructType.PKCS_RC2_CBC_PARAMETERS, cryptAlgorithmIdentifier.Parameters.pbData, (int)(cryptAlgorithmIdentifier.Parameters.cbData), &rc2Parameters, ref cbSize))
293
using (SafeHandle sh =
Interop
.Crypt32.CryptDecodeObjectToMemory(CryptDecodeObjectStructType.X509_OCTET_STRING, cryptAlgorithmIdentifier.Parameters.pbData, (int)cryptAlgorithmIdentifier.Parameters.cbData))
340
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_UNPROTECTED_ATTR_PARAM, 0, IntPtr.Zero, ref cbUnprotectedAttr))
377
if (!
Interop
.Advapi32.CryptGetProvParam(handle, CryptProvParam.PP_PROVTYPE, stackSpan, ref size))
391
if (!
Interop
.Advapi32.CryptGetProvParam(handle, CryptProvParam.PP_KEYSET_TYPE, stackSpan, ref size))
440
if (!
Interop
.Advapi32.CryptGetProvParam(handle, dwParam, buf, ref len))
458
if (!
Interop
.Advapi32.CryptGetProvParam(handle, dwParam, buf, ref len))
Internal\Cryptography\Pal\Windows\KeyAgreeRecipientInfoPalWindows.cs (1)
10
using static
Interop
.Crypt32;
Internal\Cryptography\Pal\Windows\KeyTransRecipientInfoPalWindows.cs (1)
11
using static
Interop
.Crypt32;
Internal\Cryptography\Pal\Windows\PkcsPalWindows.cs (9)
14
using static
Interop
.Crypt32;
31
using (SafeCryptMsgHandle hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToDecode(MsgEncodingType.All, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero))
36
if (!
Interop
.Crypt32.CryptMsgUpdate(hCryptMsg, ref MemoryMarshal.GetReference(encodedMessage), encodedMessage.Length, fFinal: true))
41
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_TYPE_PARAM, 0, out msgTypeAsInt, ref cbSize))
138
Interop
.NCrypt.ErrorCode errorCode =
Interop
.NCrypt.NCryptGetByteProperty(keyHandle, "CLR IsEphemeral", ref clrIsEphemeral, CngPropertyOptions.CustomProperty);
140
if (errorCode ==
Interop
.NCrypt.ErrorCode.ERROR_SUCCESS && clrIsEphemeral == 1)
222
if (
Interop
.Crypt32.CertGetCertificateContextProperty(
233
if (!
Interop
.Crypt32.CryptAcquireCertificatePrivateKey(
Internal\Cryptography\Pal\Windows\PkcsPalWindows.Encrypt.cs (4)
12
using static
Interop
.Crypt32;
47
if (!
Interop
.Crypt32.CryptMsgUpdate(hCryptMsg, encodedContent, encodedContent.Length, fFinal: true))
120
SafeCryptMsgHandle hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToEncode(MsgEncodingType.All, 0, CryptMsgType.CMSG_ENVELOPED, pEnvelopedEncodeInfo, innerContentType.Value!, IntPtr.Zero);
381
pEncryptedKey->Date = default(
Interop
.Crypt32.FILETIME);
Microsoft\Win32\SafeHandles\SafeCertContextHandle.cs (2)
8
using static
Interop
.Crypt32;
31
Interop
.Crypt32.CertFreeCertificateContext(handle); // CertFreeCertificateContext always returns TRUE so no point in checking.
Microsoft\Win32\SafeHandles\SafeCryptMsgHandle.cs (1)
24
bool success =
Interop
.Crypt32.CryptMsgClose(handle);
Microsoft\Win32\SafeHandles\SafeHeapAllocHandle.cs (4)
7
using HeapAllocFlags =
Interop
.Kernel32.HeapAllocFlags;
17
SafeHeapAllocHandle result =
Interop
.Kernel32.HeapAlloc(s_hHeap, HeapAllocFlags.None, size);
49
bool success =
Interop
.Kernel32.HeapFree(s_hHeap, HeapAllocFlags.None, handle);
56
private static readonly IntPtr s_hHeap =
Interop
.Kernel32.GetProcessHeap();
Microsoft\Win32\SafeHandles\SafeProvOrNCryptKeyHandleUwp.cs (3)
8
using ErrorCode =
Interop
.NCrypt.ErrorCode;
48
ErrorCode errorCode =
Interop
.NCrypt.NCryptFreeObject(handle);
53
bool success =
Interop
.Advapi32.CryptReleaseContext(handle, 0);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeHashHandle.cs (1)
53
bool successfullyFreed =
Interop
.Advapi32.CryptDestroyHash(handle);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeKeyHandle.cs (1)
88
bool successfullyFreed =
Interop
.Advapi32.CryptDestroyKey(handle);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeProvHandle.cs (5)
106
if (!_fPersistKeyInCsp && 0 == (_flags & (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_VERIFYCONTEXT))
110
uint flags = (_flags & (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) | (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_DELETEKEYSET;
112
_ =
Interop
.Advapi32.CryptAcquireContext(out hIgnoredProv, _containerName, _providerName, _type, flags);
118
bool successfullyFreed =
Interop
.Advapi32.CryptReleaseContext(handle, 0);
src\runtime\src\libraries\Common\src\Interop\Windows\Crypt32\Interop.FindOidInfo.cs (1)
128
[LibraryImport(
Interop
.Libraries.Crypt32)]
src\runtime\src\libraries\Common\src\Interop\Windows\NCrypt\Interop.NCryptFreeObject.cs (1)
12
[LibraryImport(
Interop
.Libraries.NCrypt)]
src\runtime\src\libraries\Common\src\Interop\Windows\NCrypt\Interop.Properties.cs (4)
16
[LibraryImport(
Interop
.Libraries.NCrypt, StringMarshalling = StringMarshalling.Utf16)]
26
[LibraryImport(
Interop
.Libraries.NCrypt, StringMarshalling = StringMarshalling.Utf16)]
39
ErrorCode errorCode =
Interop
.NCrypt.NCryptGetProperty(
62
ErrorCode errorCode =
Interop
.NCrypt.NCryptGetProperty(
src\runtime\src\libraries\Common\src\System\Security\Cryptography\CryptoThrowHelper.Windows.cs (1)
19
string message =
Interop
.Kernel32.GetMessage(hr);