DSACryptoServiceProvider Класс

Определение

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

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

Комментарии

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

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

Note

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

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

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

Имя Описание
DSACryptoServiceProvider()

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

DSACryptoServiceProvider(CspParameters)

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

DSACryptoServiceProvider(Int32, CspParameters)

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

DSACryptoServiceProvider(Int32)

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

Поля

Имя Описание
KeySizeValue

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

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

Указывает размеры ключей, поддерживаемые асимметричным алгоритмом.

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

Свойства

Имя Описание
CspKeyContainerInfo

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

KeyExchangeAlgorithm

Возвращает имя алгоритма обмена ключами.

KeySize

Возвращает размер ключа, используемого асимметричным алгоритмом в битах.

LegalKeySizes

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

LegalKeySizes

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

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

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

PublicOnly

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

SignatureAlgorithm

Возвращает имя алгоритма подписи.

UseMachineKeyStore

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

Методы

Имя Описание
Clear()

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

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

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)
ExportParameters(Boolean)

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

ExportPkcs8PrivateKey()

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

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

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

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

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

FromXmlString(String)

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

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

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

(Унаследовано от Object)
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 после расшифровки паролем на основе байтов, заменив ключи для этого объекта.

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

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

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

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

ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32)

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

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

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

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

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

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

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

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

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

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

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

SignData(Byte[])

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

SignData(Stream, HashAlgorithmName)

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

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

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

SignHash(Byte[], String)

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

ToString()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

VerifySignature(Byte[], Byte[])

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

VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

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

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

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

Имя Описание
IDisposable.Dispose()

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

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

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

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

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