CryptAcquireCertificatePrivateKey (crypt32)
Last changed: -

The CryptAcquireCertificatePrivateKey function obtains the private key for a certificate. This function is used to obtain access to a user's private key when the user's certificate is available, but the handle of the user's key container is not available. This function can only be used by the owner of a private key and not by any other user. If a CSP handle and the key container containing a user's private key are available, the CryptGetUserKey function should be used instead.

C# Signature:

[DllImport("crypt32.dll", CharSet=CharSet.Auto, SetLastError=true)]
public static extern bool CryptAcquireCertificatePrivateKey([In] IntPtr pCert, [In] uint dwFlags, [In] IntPtr pvReserved, [In, Out] ref IntPtr phCryptProv, [In, Out] ref uint pdwKeySpec, [In, Out] ref bool pfCallerFreeProv);

VB Signature:

<DllImport("crypt32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
Public Shared Function CryptAcquireCertificatePrivateKey(<[In]> ByVal pCert As IntPtr, <[In]> ByVal dwFlags As UInt32, <[In]> ByVal pvReserved As IntPtr, <[In], Out> ByRef phCryptProv As IntPtr, <[In], Out> ByRef pdwKeySpec As UInt32, <[In], Out> ByRef pfCallerFreeProv As Boolean) As Boolean
End Function

User-Defined Types:


Alternative Managed API:

Do you know one? Please contribute it!



Tips & Tricks:

Please add some!

Sample Code:

Please add some!