Exemplo n.º 1
0
        SafeKeyHandleImpl PrivateKey()
        {
            SafeKeyHandleImpl keyHandle = SafeKeyHandleImpl.InvalidHandle;

            if (!CryptoApi.CryptGetUserKey(_providerHandle, (uint)_providerParameters.KeyNumber, ref keyHandle))
            {
                throw ExceptionUtility.CryptographicException(Marshal.GetLastWin32Error());
            }

            return(keyHandle);
        }
Exemplo n.º 2
0
        /// <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);
        }