SignedCms.ComputeSignature Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает подпись и добавляет ее к сообщению CMS/PKCS 7.
Перегрузки
ComputeSignature(CmsSigner, Boolean) |
Создает подпись для указанного подписавшего и добавляет эту подпись к сообщению CMS/PKCS 7. |
ComputeSignature() |
Создает подпись и добавляет ее к сообщению CMS/PKCS 7. |
ComputeSignature(CmsSigner) |
Создает подпись для указанного подписавшего и добавляет эту подпись к сообщению CMS/PKCS 7. |
ComputeSignature(CmsSigner, Boolean)
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
Создает подпись для указанного подписавшего и добавляет эту подпись к сообщению CMS/PKCS 7.
public:
void ComputeSignature(System::Security::Cryptography::Pkcs::CmsSigner ^ signer, bool silent);
public void ComputeSignature (System.Security.Cryptography.Pkcs.CmsSigner signer, bool silent);
member this.ComputeSignature : System.Security.Cryptography.Pkcs.CmsSigner * bool -> unit
Public Sub ComputeSignature (signer As CmsSigner, silent As Boolean)
Параметры
- silent
- Boolean
Только для .NET Core и .NET 5+: true
запрос открытия ключей с отключенными запросами ПИН-кода, если поддерживается; в противном случае — значение false
. В .NET Framework этот параметр не используется и всегда отображается запрос на ввод PIN-кода (при необходимости).
Исключения
signer
имеет значение null
.
Завершение операции шифрования невозможно.
Только .NET Framework: сертификат для подписи не указан.
Только .NET Core и .NET 5+: сертификат подписи не указан.
Комментарии
Только .NET Core: silent
параметр не действует, CmsSigner.PrivateKey если значение не равно NULL. Указанное значение определяет, отображает ли вычисление сигнатуры запрос ПИН-кода. Даже если PrivateKey свойство имеет значение NULL и silent
параметр имеет значение true
, некоторые сочетания параметров операционной системы и подписывающий по-прежнему могут привести к выводу ЗАПРОСА ПИН-кода.
Для отображения пользовательского интерфейса на платформа .NET Framework требуются следующие разрешения:
Для доступа к ключу подписи на платформа .NET Framework требуются следующие разрешения:
Применяется к
ComputeSignature()
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
Создает подпись и добавляет ее к сообщению CMS/PKCS 7.
public:
void ComputeSignature();
public void ComputeSignature ();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Исключения
.NET Framework (все версии) и .NET Core 3.0 и более поздние версии: не указан сертификат получателя.
.NET Core версии 2.2 и более ранние версии: не указан сертификат подписавшего.
Комментарии
Этот метод завершается успешно, если SubjectIdentifierType.NoSignature он был указан в signerIdentifierType
качестве аргумента одной из SignedCms перегрузок конструктора. В противном случае выдается исключение.
Для доступа к ключу подписи на платформа .NET Framework требуются следующие разрешения:
Применяется к
ComputeSignature(CmsSigner)
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
Создает подпись для указанного подписавшего и добавляет эту подпись к сообщению CMS/PKCS 7.
public:
void ComputeSignature(System::Security::Cryptography::Pkcs::CmsSigner ^ signer);
public void ComputeSignature (System.Security.Cryptography.Pkcs.CmsSigner signer);
member this.ComputeSignature : System.Security.Cryptography.Pkcs.CmsSigner -> unit
Public Sub ComputeSignature (signer As CmsSigner)
Параметры
Исключения
Пустая ссылка была передана методу, не принимающему ее в качестве допустимого аргумента.
Завершение операции шифрования невозможно.
Примеры
В следующем примере показаны шаги по вычислению подписи SignedCms в сообщении с содержимым сообщения, которое не отсоединяется. В этом случае содержимое сообщения включается в SignedCms сообщение.
// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);
// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo);
// Sign the message.
signedCms.ComputeSignature();
// Encode the message.
byte[] myCmsMessage = signedCms.Encode();
// The signed CMS/PKCS #7 message is ready to send.
// The original content is included in this byte array.
' The dataToSign byte array holds the data to be signed.
Dim contentInfo As New ContentInfo(dataToSign)
' Create a new, nondetached SignedCms message.
Dim signedCms As New SignedCms(contentInfo)
' Sign the message.
signedCms.ComputeSignature()
' Encode the message.
Dim myCmsMessage As Byte() = signedCms.Encode()
' The signed CMS/PKCS #7 message is ready to send.
' The original content is included in this byte array.
В следующем примере показаны шаги по вычислению подписи SignedCms в сообщении с отсоединяющимся содержимым сообщения. В этом случае содержимое сообщения должно проверяться независимо SignedCms от сообщения.
// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);
// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);
// Sign the message.
signedCms.ComputeSignature();
// Encode the message.
byte[] myCmsMessage = signedCms.Encode();
// The signed CMS/PKCS #7 message is ready to send.
// The original content is not included in this byte array.
' The dataToSign byte array holds the data to be signed.
Dim contentInfo As New ContentInfo(dataToSign)
' Create a new, detached SignedCms message.
Dim signedCms As New SignedCms(contentInfo, True)
' Sign the message.
signedCms.ComputeSignature()
' Encode the message.
Dim myCmsMessage As Byte() = signedCms.Encode()
' The signed CMS/PKCS #7 message is ready to send.
' The original content is not included in this byte array.
Комментарии
Для доступа к ключу подписи на платформа .NET Framework требуются следующие разрешения: