Ejemplo n.º 1
0
        /// <summary>
        /// The generate random key.
        /// </summary>
        /// <param name="keyNumber">
        /// The key number.
        /// </param>
        /// <param name="flags">
        /// The flags.
        /// </param>
        /// <returns>
        /// The <see cref="KeyContext"/>.
        /// </returns>
        /// <exception cref="Win32Exception">
        /// </exception>
        private KeyContext GenerateRandomKey(KeyNumber keyNumber, int flags = 0)
        {
            var keyPiarHandler = IntPtr.Zero;

            if (!CryptoApi.CryptGenKey(cspHandler, (int)keyNumber, flags, ref keyPiarHandler))
            {
                throw new Win32Exception();
            }

            var keyPairContext = new KeyContext(keyPiarHandler);

            return(keyPairContext);
        }