Поделиться через


SignedCms.CheckSignature Метод

Определение

Проверяет цифровые подписи в подписанном сообщении CMS/PKCS 7.

Перегрузки

CheckSignature(Boolean)

Метод CheckSignature(Boolean) проверяет цифровые подписи подписанного сообщения CMS/PKCS 7 и, при необходимости, сертификаты подписавших.

CheckSignature(X509Certificate2Collection, Boolean)

Метод CheckSignature(X509Certificate2Collection, Boolean) проверяет цифровые подписи подписанного сообщения CMS/PKCS 7, используя указанную коллекцию сертификатов, и, при необходимости, сертификаты подписавших.

CheckSignature(Boolean)

Исходный код:
SignedCms.cs
Исходный код:
SignedCms.cs

Метод CheckSignature(Boolean) проверяет цифровые подписи подписанного сообщения CMS/PKCS 7 и, при необходимости, сертификаты подписавших.

public:
 void CheckSignature(bool verifySignatureOnly);
public void CheckSignature (bool verifySignatureOnly);
member this.CheckSignature : bool -> unit
Public Sub CheckSignature (verifySignatureOnly As Boolean)

Параметры

verifySignatureOnly
Boolean

Значение типа Boolean, которое определяет, следует ли проверять только цифровые подписи без проверки сертификатов подписавших.

Если параметр verifySignatureOnly имеет значение true, будут проверяться только цифровые подписи. Если значение равно false, проверяются цифровые подписи, сертификаты подписавших и назначения сертификатов. Назначение сертификата считается действительным, если в сертификате не используется ключ или если ключ поддерживает цифровые подписи или неподдельность.

Исключения

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

Завершение операции шифрования невозможно.

Вызов метода был недопустим для текущего состояния объекта.

Примеры

В следующем примере показано размещение CheckSignature(Boolean) между шагами, необходимыми для проверки подписей в сообщении SignedCms . В этом примере содержимое сообщения не отсоединяется. Содержимое сообщения включается в SignedCms сообщение.

// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms();

// encodedMessage is the encoded message received from
// the sender.
signedCms.Decode(encodedMessage);

// Verify the signature without validating the
// certificate.
signedCms.CheckSignature(true);
' Create a new, nondetached SignedCms message.
Dim signedCms As New SignedCms()

' encodedMessage is the encoded message received from 
' the sender.
signedCms.Decode(encodedMessage)

' Verify the signature without validating the 
' certificate.
signedCms.CheckSignature(True)

В следующем примере показано размещение CheckSignature(Boolean) между шагами, необходимыми для проверки подписей в сообщении SignedCms . В этом примере содержимое сообщения отсоединяется, поэтому содержимое сообщения должно проверяться независимо SignedCms от сообщения.

// Create a ContentInfo object from the inner content obtained
// independently from encodedMessage.
ContentInfo contentInfo = new ContentInfo(innerContent);

// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);

// encodedMessage is the encoded message received from
// the sender.
signedCms.Decode(encodedMessage);

// Verify the signature without validating the
// certificate.
signedCms.CheckSignature(true);
' Create a ContentInfo object from the inner content obtained 
' independently from encodedMessage.
Dim contentInfo As New ContentInfo(innerContent)

' Create a new, detached SignedCms message.
Dim signedCms As New SignedCms(contentInfo, True)

' encodedMessage is the encoded message received from 
' the sender.
signedCms.Decode(encodedMessage)

' Verify the signature without validating the 
' certificate.
signedCms.CheckSignature(True)

Комментарии

Этот метод проверяет все подписи, включая контригнатуры, в сообщении CMS/PKCS #7. Если в сообщение включены подписанные атрибуты, эти атрибуты также проверяются. Если выбран параметр проверки сертификатов, проверяется вся включенная часть цепочки сертификатов.

Этот метод создает исключение, если проверка цифровой подписи завершается сбоем или если не выполняются какие-либо требования к проверке.

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

CheckSignature(X509Certificate2Collection, Boolean)

Исходный код:
SignedCms.cs
Исходный код:
SignedCms.cs

Метод CheckSignature(X509Certificate2Collection, Boolean) проверяет цифровые подписи подписанного сообщения CMS/PKCS 7, используя указанную коллекцию сертификатов, и, при необходимости, сертификаты подписавших.

public:
 void CheckSignature(System::Security::Cryptography::X509Certificates::X509Certificate2Collection ^ extraStore, bool verifySignatureOnly);
public void CheckSignature (System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraStore, bool verifySignatureOnly);
member this.CheckSignature : System.Security.Cryptography.X509Certificates.X509Certificate2Collection * bool -> unit
Public Sub CheckSignature (extraStore As X509Certificate2Collection, verifySignatureOnly As Boolean)

Параметры

extraStore
X509Certificate2Collection

Объект X509Certificate2Collection, который может использоваться для проверки цепочки сертификатов. Если при проверке цепочки сертификатов не будут использоваться дополнительные сертификаты, используйте метод CheckSignature(Boolean) вместо CheckSignature(X509Certificate2Collection, Boolean).

verifySignatureOnly
Boolean

Значение типа Boolean, которое определяет, следует ли проверять только цифровые подписи без проверки сертификатов подписавших.

Если параметр verifySignatureOnly имеет значение true, будут проверяться только цифровые подписи. Если значение равно false, проверяются цифровые подписи, сертификаты подписавших и назначения сертификатов. Назначение сертификата считается действительным, если в сертификате не используется ключ или если ключ поддерживает цифровые подписи или неподдельность.

Исключения

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

Завершение операции шифрования невозможно.

Вызов метода был недопустим для текущего состояния объекта.

Комментарии

Этот метод проверяет все подписи, включая контригнатуры, в сообщении CMS/PKCS #7. Если в сообщение включены подписанные атрибуты, эти атрибуты также проверяются. Если выбран параметр проверки сертификатов, проверяется вся включенная часть цепочки сертификатов.

Этот метод создает исключение, если проверка цифровой подписи завершается сбоем или если не выполняются какие-либо требования к проверке.

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