Beispiel #1
0
        /// <summary>
        /// Экспорт параметров алгоритма.
        /// </summary>
        ///
        /// <param name="includePrivateParameters"><see langword="true"/>,
        /// для экспорта секретного ключа.</param>
        ///
        /// <returns>Параметры алгоритма.</returns>
        ///
        /// <exception cref="CryptographicException">При экспорте
        /// секретного ключа.</exception>
        ///
        /// <remarks>
        /// <if notdefined="userexp"><para>По соображениям безопасности
        /// в данной сборке при экспорте
        /// секретного ключа всегда возбуждает исключение
        /// <see cref="CryptographicException"/>.</para></if>
        /// </remarks>
        public override Gost3410Parameters ExportParameters(
            bool includePrivateParameters)
        {
            if (includePrivateParameters)
            {
                throw new CryptographicException(SR.Argument_InvalidValue, "includePrivateParameters equal true ");
            }
            Gost3410CspObject obj1 = new Gost3410CspObject();

            CapiHelper.ExportPublicKey(_safeKeyHandle, obj1, CspAlgorithmType.Gost2001);
            return(obj1.Parameters);
        }