DSACryptoServiceProvider Класс

Определение

Определяет объект-оболочку для доступа к реализации алгоритма DSA, предоставляемой поставщиком служб шифрования (CSP). Этот класс не наследуется.

public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA, System::Security::Cryptography::ICspAsymmetricAlgorithm
public ref class DSACryptoServiceProvider sealed : System::Security::Cryptography::DSA
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DSACryptoServiceProvider : System.Security.Cryptography.DSA, System.Security.Cryptography.ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
type DSACryptoServiceProvider = class
    inherit DSA
[<System.Runtime.InteropServices.ComVisible(true)>]
type DSACryptoServiceProvider = class
    inherit DSA
    interface ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Implements ICspAsymmetricAlgorithm
Public NotInheritable Class DSACryptoServiceProvider
Inherits DSA
Наследование
DSACryptoServiceProvider
Атрибуты
Реализации

Комментарии

Класс можно использовать DSACryptoServiceProvider для создания цифровых подписей и защиты целостности данных.

Чтобы использовать систему открытых ключей для цифровой подписи сообщения, отправитель сначала применяет хэш-функцию к сообщению, чтобы создать дайджест сообщения. Затем отправитель шифрует дайджест сообщения с помощью закрытого ключа отправителя, чтобы создать личную подпись отправителя. Получив сообщение и подпись, получатель расшифровывает подпись с помощью открытого ключа отправителя для восстановления хэша сообщения и хэширует сообщение с помощью того же хэш-алгоритма, что и отправитель. Если дайджест сообщения, вычисленный получателем, точно соответствует хэш-коду, полученному от отправителя, получатель может быть уверен, что сообщение не было изменено во время передачи. Обратите внимание, что подпись может быть проверена любым пользователем, так как открытый ключ отправителя общеизвестен.

Примечание

Создатели алгоритма DSA отозвали его поддержку. Рассмотрите RSACryptoServiceProvider возможность использования класса вместо DSACryptoServiceProvider класса . Используйте DSACryptoServiceProvider только для совместимости с устаревшими приложениями и данными.

Этот алгоритм поддерживает длину ключа от 512 до 1024 бит с шагом в 64 бита.

Конструкторы

DSACryptoServiceProvider()

Инициализирует новый экземпляр класса DSACryptoServiceProvider.

DSACryptoServiceProvider(CspParameters)

Инициализирует новый экземпляр класса DSACryptoServiceProvider заданными параметрами для поставщика служб шифрования (CSP).

DSACryptoServiceProvider(Int32)

Инициализирует новый экземпляр класса DSACryptoServiceProvider с указанным размером ключа.

DSACryptoServiceProvider(Int32, CspParameters)

Инициализирует новый экземпляр класса DSACryptoServiceProvider заданным размером ключа и параметрами для поставщика служб шифрования (CSP).

Поля

KeySizeValue

Представляет размер модуля ключа (в битах), используемого алгоритмом асимметричного шифрования.

(Унаследовано от AsymmetricAlgorithm)
LegalKeySizesValue

Задает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

(Унаследовано от AsymmetricAlgorithm)

Свойства

CspKeyContainerInfo

Возвращает объект CspKeyContainerInfo, описывающий дополнительные сведения о паре ключей шифрования.

KeyExchangeAlgorithm

Получает имя алгоритма обмена ключами.

KeySize

Получает размер ключа (в битах), используемого алгоритмом асимметричного шифрования.

LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

LegalKeySizes

Возвращает размеры ключа, которые поддерживаются алгоритмом асимметричного шифрования.

(Унаследовано от AsymmetricAlgorithm)
PersistKeyInCsp

Возвращает или задает значение, указывающее, следует ли сохранить ключ в поставщике служб шифрования (CSP).

PublicOnly

Возвращает значение, указывающее, содержит ли объект DSACryptoServiceProvider только открытый ключ.

SignatureAlgorithm

Получает имя алгоритма подписи.

UseMachineKeyStore

Получает или задает значение, указывающее, следует ли сохранять ключ в хранилище ключей компьютера, а не в хранилище профилей пользователей.

Методы

Clear()

Освобождает все ресурсы, используемые классом AsymmetricAlgorithm.

(Унаследовано от AsymmetricAlgorithm)
CreateSignature(Byte[])

Создает подпись DSA для указанных данных.

CreateSignature(Byte[], DSASignatureFormat)

Создает сигнатуру DSA для указанного значения хэша в указанном формате.

(Унаследовано от DSA)
CreateSignatureCore(ReadOnlySpan<Byte>, DSASignatureFormat)

Создает сигнатуру DSA для указанного значения хэша в указанном формате.

(Унаследовано от DSA)
Dispose()

Освобождает все ресурсы, используемые текущим экземпляром класса AsymmetricAlgorithm.

(Унаследовано от AsymmetricAlgorithm)
Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые классом AsymmetricAlgorithm (при необходимости освобождает и управляемые ресурсы).

(Унаследовано от AsymmetricAlgorithm)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
ExportCspBlob(Boolean)

Экспортирует большой двоичный объект, в котором содержатся данные ключа, связанные с объектом DSACryptoServiceProvider.

ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на байтах.

(Унаследовано от AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters)

Экспортирует текущий ключ в формате PKCS #8 EncryptedPrivateKeyInfo с паролем, основанным на символах.

(Унаследовано от AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters)

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters)

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
ExportParameters(Boolean)

Экспортирует объект DSAParameters.

ExportPkcs8PrivateKey()

Экспортирует текущий ключ в формате PKCS#8 PrivateKeyInfo.

(Унаследовано от AsymmetricAlgorithm)
ExportPkcs8PrivateKeyPem()

Экспортирует текущий ключ в формате PKCS#8 PrivateKeyInfo в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
ExportSubjectPublicKeyInfo()

Экспортирует открытую часть текущего ключа в формате X.509 SubjectPublicKeyInfo.

(Унаследовано от AsymmetricAlgorithm)
ExportSubjectPublicKeyInfoPem()

Экспортирует часть текущего ключа с открытым ключом в формате X.509 SubjectPublicKeyInfo в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
Finalize()

Освобождает все ресурсы, связанные с этим экземпляром.

FromXmlString(String)

Восстанавливает объект DSA из XML-строки.

(Унаследовано от DSA)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetMaxSignatureSize(DSASignatureFormat)

Получает самый крупный размер в байтах для сигнатуры, созданной этим ключом в указанном формате.

(Унаследовано от DSA)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HashData(Byte[], Int32, Int32, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного фрагмента массива байтов с помощью заданного хэш-алгоритма.

(Унаследовано от DSA)
HashData(Stream, HashAlgorithmName)

При переопределении в производном классе вычисляет хэш-значение указанного двоичного потока с помощью заданного алгоритма хэширования.

(Унаследовано от DSA)
ImportCspBlob(Byte[])

Импортирует большой двоичный объект, представляющий данные ключа DSA.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе байтов, заменяя ключи для этого объекта.

(Унаследовано от DSA)
ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.

ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 EncryptedPrivateKeyInfo после расшифровки с помощью пароля на основе символов, заменяя ключи для этого объекта.

(Унаследовано от DSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Byte>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.

(Унаследовано от DSA)
ImportFromEncryptedPem(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Импортирует зашифрованный закрытый ключ в формате RFC 7468 в кодировке PEM, заменяя ключи для этого объекта.

(Унаследовано от DSA)
ImportFromPem(ReadOnlySpan<Char>)

Импортирует зашифрованный ключ в формате RFC 7468 в кодировке PEM, заменив ключи для этого объекта.

(Унаследовано от DSA)
ImportParameters(DSAParameters)

Импортирует заданный DSAParameters.

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

Импортирует пару из открытого и закрытого ключей из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменяя ключи для этого объекта.

(Унаследовано от DSA)
ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32)

Импортирует открытый ключ из структуры X.509 SubjectPublicKeyInfo после расшифровки, заменяя ключи для этого объекта.

(Унаследовано от DSA)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
SignData(Byte[])

Вычисляет и подписывает хэш-значение заданного массива байтов.

SignData(Byte[], HashAlgorithmName)

Вычисляет хэш-значение заданного массива байтов с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение.

(Унаследовано от DSA)
SignData(Byte[], HashAlgorithmName, DSASignatureFormat)

Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата сигнатуры.

(Унаследовано от DSA)
SignData(Byte[], Int32, Int32)

Подписывает данные массива байтов, расположенные в области, указанной начальным и конечным индексом.

SignData(Byte[], Int32, Int32, HashAlgorithmName)

Вычисляет хэш-значение фрагмента заданного массива байтов с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение.

(Унаследовано от DSA)
SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat)

Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата сигнатуры.

(Унаследовано от DSA)
SignData(Stream)

Вычисляет и подписывает хэш-значение заданного входного потока.

SignData(Stream, HashAlgorithmName)

Вычисляет хэш-значение заданного потока с помощью указанного алгоритма хэширования и подписывает результирующее хэш-значение.

(Унаследовано от DSA)
SignData(Stream, HashAlgorithmName, DSASignatureFormat)

Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата сигнатуры.

(Унаследовано от DSA)
SignDataCore(ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата сигнатуры.

(Унаследовано от DSA)
SignDataCore(Stream, HashAlgorithmName, DSASignatureFormat)

Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата сигнатуры.

(Унаследовано от DSA)
SignHash(Byte[], String)

Вычисляет подпись для указанного хэш-значения путем его шифрования с помощью закрытого ключа.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
ToXmlString(Boolean)

Создает и возвращает XML-представление текущего объекта DSA.

(Унаследовано от DSA)
TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Пытается создать сигнатуру DSA для указанного значения хэша в указанном формате и поместить ее в предоставленном буфере.

(Унаследовано от DSA)
TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается создать подпись DSA для указанного хэша в предоставленном буфере.

(Унаследовано от DSA)
TryCreateSignatureCore(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Пытается создать сигнатуру DSA для указанного значения хэша в указанном формате и поместить ее в предоставленном буфере.

(Унаследовано от DSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Byte>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе байтов.

(Унаследовано от DSA)
TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<Char>, PbeParameters, Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo в предоставленный буфер с использованием пароля на основе символов.

(Унаследовано от DSA)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Byte>, PbeParameters, Span<Char>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе байтов в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<Char>, PbeParameters, Span<Char>, Int32)

Экспортирует текущий ключ в формате PKCS#8 EncryptedPrivateKeyInfo с паролем на основе символов в кодировке PEM.

(Унаследовано от AsymmetricAlgorithm)
TryExportPkcs8PrivateKey(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в предоставленный буфер.

(Унаследовано от DSA)
TryExportPkcs8PrivateKeyPem(Span<Char>, Int32)

Пытается экспортировать текущий ключ в формате PKCS#8 PrivateKeyInfo в формате PEM в предоставленный буфер.

(Унаследовано от AsymmetricAlgorithm)
TryExportSubjectPublicKeyInfo(Span<Byte>, Int32)

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер.

(Унаследовано от DSA)
TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32)

Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в формате PEM в предоставленный буфер.

(Унаследовано от AsymmetricAlgorithm)
TryHashData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Пытается вычислить хэш-значение предоставленных данных в предоставленный буфер.

(Унаследовано от DSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Пытается создать сигнатуру DSA для указанных данных в указанном формате и поместить ее в предоставленном буфере.

(Унаследовано от DSA)
TrySignData(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, Int32)

Пытается создать подпись DSA для указанных данных в предоставленном буфере.

(Унаследовано от DSA)
TrySignDataCore(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, DSASignatureFormat, Int32)

Пытается создать сигнатуру DSA для указанных данных в указанном формате и поместить ее в предоставленном буфере.

(Унаследовано от DSA)
VerifyData(Byte[], Byte[])

Проверяет заданную подпись путем сравнения ее с сигнатурой, вычисленной для указанных данных.

VerifyData(Byte[], Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения заданных данных с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью.

(Унаследовано от DSA)
VerifyData(Byte[], Byte[], HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения данных во фрагменте массива байтов с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью.

(Унаследовано от DSA)
VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения данных в диапазоне байтов с помощью указанного хэш-алгоритма и его сравнения с предоставленной подписью.

(Унаследовано от DSA)
VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyData(Stream, Byte[], HashAlgorithmName)

Проверяет допустимость цифровой подписи путем вычисления хэш-значения заданного потока с помощью указанного алгоритма хэширования и его сравнения с предоставленной подписью.

(Унаследовано от DSA)
VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленных данных.

(Унаследовано от DSA)
VerifyHash(Byte[], String, Byte[])

Проверяет заданную подпись путем сравнения ее с сигнатурой, вычисленной для заданного хэш-значения.

VerifySignature(Byte[], Byte[])

Проверяет подпись DSA для указанных данных.

VerifySignature(Byte[], Byte[], DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленного хэша.

(Унаследовано от DSA)
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Проверяет допустимость цифровой подписи для предоставленного хэша данных.

(Унаследовано от DSA)
VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленного хэша.

(Унаследовано от DSA)
VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat)

Проверяет допустимость цифровой подписи для предоставленного хэша.

(Унаследовано от DSA)

Явные реализации интерфейса

IDisposable.Dispose()

Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода.

Описание этого члена см. в разделе Dispose().

(Унаследовано от AsymmetricAlgorithm)

Применяется к

См. также раздел