/// <summary> /// Экспортирует параметры алгоритма в BLOB. /// </summary> /// /// <param name="includePrivateParameters">Для экспорта секретного /// ключа.</param> /// /// <returns>BLOB со структурой описанной для CSP.</returns> /// /// <remarks><para>Экспорт секретного ключа не поддерживается. /// </para></remarks> /// /// <exception cref="CryptographicException">При экспорте секретного /// ключа.</exception> /// /// <containerperm flag="Open">Для открытия существующего /// контейнера.</containerperm> /// <containerperm flag="Create">Для создания контейнера с заданным /// (не случаыным именем).</containerperm> /// /// <intdoc>Экспорт секретного ключа запрещен, поэтому /// не требуются права на экспорт. При экспорте открытого /// ключа может потребоваться открытие (создание) контейнера, /// поэтому требование прав на открытие.</intdoc> public byte[] ExportCspBlob(bool includePrivateParameters) { // Права на экспорт / импорт проверять бесполезно // CSP все равно не поддерживает. Бесполезно да же эмулировать: // сделать с этим BLOB потом ничего нельзя. if (includePrivateParameters) { throw new CryptographicException(SR.Argument_InvalidValue, "includePrivateParameters equal true "); } return(CapiHelper.ExportKeyBlob(includePrivateParameters, SafeKeyHandle)); }
/// <summary> ///Exports a blob containing the key information associated with an RSACryptoServiceProvider object. /// </summary> public byte[] ExportCspBlob(bool includePrivateParameters) { return(CapiHelper.ExportKeyBlob(includePrivateParameters, SafeKeyHandle)); }