SafeKeyHandleImpl PrivateKey() { SafeKeyHandleImpl keyHandle = SafeKeyHandleImpl.InvalidHandle; if (!CryptoApi.CryptGetUserKey(_providerHandle, (uint)_providerParameters.KeyNumber, ref keyHandle)) { throw ExceptionUtility.CryptographicException(Marshal.GetLastWin32Error()); } return(keyHandle); }
/// <summary> /// The get user key. /// </summary> /// <param name="keySpec"> /// The key spec. /// </param> /// <returns> /// The <see cref="KeyContext"/>. /// </returns> /// <exception cref="Win32Exception"> /// </exception> private KeyContext GetUserKey(int keySpec = 0) { var keyPiarHandler = IntPtr.Zero; if (!CryptoApi.CryptGetUserKey(cspHandler, keySpec, ref keyPiarHandler)) { throw new Win32Exception(); } var keyPairContext = new KeyContext(keyPiarHandler); return(keyPairContext); }