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 для создания цифровых подписей и защиты целостности данных.
Чтобы использовать систему открытого ключа для цифровой подписи сообщения, отправитель сначала применяет хэш-функцию к сообщению для создания дайджеста сообщения. Затем отправитель шифрует дайджест сообщения с закрытым ключом отправителя, чтобы создать личную подпись отправителя. После получения сообщения и подписи получатель расшифровывает подпись с помощью открытого ключа отправителя для восстановления дайджеста сообщения и хэширует сообщение с помощью того же хэш-алгоритма, который использовал отправитель. Если дайджест сообщения, который получатель вычисляет точно соответствует дайджесту сообщения, полученному от отправителя, получатель может убедиться, что сообщение не было изменено во время передачи. Обратите внимание, что подпись может быть проверена любым пользователем, так как открытый ключ отправителя является общим знанием.
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[], DSASignatureFormat) |
Создает подпись DSA для указанного хэш-значения в указанном формате. (Унаследовано от DSA) |
| CreateSignature(Byte[]) |
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>) |
Импортирует ключ в кодировке PEM RFC 7468, заменив ключи для этого объекта. (Унаследовано от DSA) |
| ImportParameters(DSAParameters) |
Импортирует указанный DSAParametersобъект. |
| ImportPkcs8PrivateKey(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый или закрытый ключ из структуры PKCS#8 PrivateKeyInfo после расшифровки, заменив ключи для этого объекта. (Унаследовано от DSA) |
| ImportSubjectPublicKeyInfo(ReadOnlySpan<Byte>, Int32) |
Импортирует открытый ключ из структуры SubjectPublicKeyInfo X.509 после расшифровки, заменив ключи для этого объекта. (Унаследовано от DSA) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| SignData(Byte[], HashAlgorithmName, DSASignatureFormat) |
Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата подписи. (Унаследовано от DSA) |
| SignData(Byte[], HashAlgorithmName) |
Вычисляет хэш-значение указанного массива байтов с помощью указанного алгоритма хэша и подписывает полученное хэш-значение. (Унаследовано от DSA) |
| SignData(Byte[], Int32, Int32, HashAlgorithmName, DSASignatureFormat) |
Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата подписи. (Унаследовано от DSA) |
| SignData(Byte[], Int32, Int32, HashAlgorithmName) |
Вычисляет хэш-значение части указанного массива байтов с помощью указанного алгоритма хэша и подписывает полученное хэш-значение. (Унаследовано от DSA) |
| SignData(Byte[], Int32, Int32) |
Подписывает массив байтов из указанной начальной точки в указанную конечную точку. |
| SignData(Byte[]) |
Вычисляет хэш-значение указанного массива байтов и подписывает полученное хэш-значение. |
| SignData(Stream, HashAlgorithmName, DSASignatureFormat) |
Вычисляет хэш-значение указанных данных и подписывает его с помощью указанного формата подписи. (Унаследовано от DSA) |
| SignData(Stream, HashAlgorithmName) |
Вычисляет хэш-значение указанного потока с помощью указанного хэш-алгоритма и подписывает полученное хэш-значение. (Унаследовано от DSA) |
| SignData(Stream) |
Вычисляет хэш-значение указанного входного потока и подписывает полученное хэш-значение. |
| 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 в предоставленный буфер. (Унаследовано от AsymmetricAlgorithm) |
| TryExportSubjectPublicKeyInfo(Span<Byte>, Int32) |
Пытается экспортировать текущий ключ в формате SubjectPublicKeyInfo X.509 в предоставленный буфер. (Унаследовано от DSA) |
| TryExportSubjectPublicKeyInfoPem(Span<Char>, Int32) |
Пытается экспортировать текущий ключ в формате X.509 SubjectPublicKeyInfo в предоставленный буфер. (Унаследовано от 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[], HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyData(Byte[], Byte[], HashAlgorithmName) |
Проверяет, является ли цифровая подпись допустимой, вычисляя хэш-значение указанных данных с помощью указанного хэш-алгоритма и сравнивая его с предоставленной подписью. (Унаследовано от DSA) |
| VerifyData(Byte[], Byte[]) |
Проверяет указанные данные подписи, сравнивая его с сигнатурой, вычисляемой для указанных данных. |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyData(Byte[], Int32, Int32, Byte[], HashAlgorithmName) |
Проверяет, является ли цифровая подпись допустимой, вычисляя хэш-значение данных в части массива байтов с помощью указанного хэш-алгоритма и сравнивая его с предоставленной подписью. (Унаследовано от DSA) |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName) |
Проверяет, является ли цифровая подпись допустимой, вычисляя хэш-значение данных в диапазоне байтов с помощью указанного хэш-алгоритма и сравнивая его с предоставленной сигнатурой. (Унаследовано от DSA) |
| VerifyData(Stream, Byte[], HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyData(Stream, Byte[], HashAlgorithmName) |
Проверяет, является ли цифровая подпись допустимой, вычисляя хэш-значение указанного потока с помощью указанного хэш-алгоритма и сравнивая его с предоставленной подписью. (Унаследовано от DSA) |
| VerifyDataCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyDataCore(Stream, ReadOnlySpan<Byte>, HashAlgorithmName, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленных данных. (Унаследовано от DSA) |
| VerifyHash(Byte[], String, Byte[]) |
Проверяет указанные данные подписи, сравнивая его с сигнатурой, вычисляемой для указанного хэш-значения. |
| VerifySignature(Byte[], Byte[], DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленного хэша. (Унаследовано от DSA) |
| VerifySignature(Byte[], Byte[]) |
DSA Проверяет подпись для указанных данных. |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленного хэша. (Унаследовано от DSA) |
| VerifySignature(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Проверяет, является ли цифровая подпись допустимой для предоставленного хэша данных. (Унаследовано от DSA) |
| VerifySignatureCore(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, DSASignatureFormat) |
Проверяет, является ли цифровая подпись допустимой для предоставленного хэша. (Унаследовано от DSA) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IDisposable.Dispose() |
Этот API поддерживает инфраструктуру продукта и не предназначен для использования непосредственно из программного кода. Описание этого элемента см. в разделе Dispose(). (Унаследовано от AsymmetricAlgorithm) |