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
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- 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 этот параметр не используется, и при необходимости всегда отображается запрос ПИН-кода.
Исключения
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
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
Создает подпись и добавляет подпись в сообщение CMS/PKCS #7.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Исключения
Сертификат получателя не указан.
Комментарии
Этот метод успешно выполняется, если SubjectIdentifierType.NoSignature он был предоставлен в качестве signerIdentifierType аргумента одной из SignedCms перегрузок конструктора. В противном случае создается исключение.
Для доступа к ключу подписи в .NET Framework требуются следующие разрешения:
Применяется к
ComputeSignature(CmsSigner)
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- SignedCms.cs
- Исходный код:
- 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)
Параметры
Исключения
Ссылка null была передана методу, который не принимает его в качестве допустимого аргумента.
Не удалось завершить криптографическую операцию.
Примеры
В следующем примере показано, как вычислить подпись 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 требуются следующие разрешения: