SignedCms.ComputeSignature Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea una firma y agrega la firma al mensaje CMS/PKCS #7.
Sobrecargas
| Nombre | Description |
|---|---|
| ComputeSignature(CmsSigner, Boolean) |
Crea una firma mediante el firmante especificado y agrega la firma al mensaje CMS/PKCS #7. |
| ComputeSignature() |
Crea una firma y agrega la firma al mensaje CMS/PKCS #7. |
| ComputeSignature(CmsSigner) |
Crea una firma mediante el firmante especificado y agrega la firma al mensaje CMS/PKCS #7. |
ComputeSignature(CmsSigner, Boolean)
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
Crea una firma mediante el firmante especificado y agrega la firma al mensaje 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)
Parámetros
- silent
- Boolean
Solo .NET Core y .NET 5+: true para solicitar claves de apertura con avisos de PIN deshabilitados, donde se admite; de lo contrario, false. En .NET Framework, este parámetro no se usa y siempre se muestra un mensaje de PIN, si es necesario.
Excepciones
signer es null.
No se pudo completar una operación criptográfica.
Solo .NET Framework: no se especifica un certificado de firma.
Solo .NET Core y .NET 5+: no se especifica un certificado de firma.
Comentarios
Solo .NET Core: el silent parámetro no tiene ningún efecto si el CmsSigner.PrivateKey valor no es NULL. El valor proporcionado controla si la firma muestra o no un mensaje de PIN. Incluso cuando la PrivateKey propiedad es null y el silent parámetro se establece trueen , algunas combinaciones de opciones de sistema operativo y de firmante pueden dar lugar a un mensaje de PIN.
Los permisos siguientes son necesarios para mostrar la interfaz de usuario en .NET Framework:
Los permisos siguientes son necesarios para acceder a la clave de firma en .NET Framework:
Se aplica a
ComputeSignature()
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
Crea una firma y agrega la firma al mensaje CMS/PKCS #7.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Excepciones
No se especifica el certificado de destinatario.
Comentarios
Este método se realiza correctamente si SubjectIdentifierType.NoSignature se proporcionó como argumento signerIdentifierType de una de las SignedCms sobrecargas del constructor. De lo contrario, produce una excepción.
Los permisos siguientes son necesarios para acceder a la clave de firma en .NET Framework:
Se aplica a
ComputeSignature(CmsSigner)
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
- Source:
- SignedCms.cs
Crea una firma mediante el firmante especificado y agrega la firma al mensaje 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)
Parámetros
Excepciones
Se pasó una referencia nula a un método que no lo acepta como argumento válido.
No se pudo completar una operación criptográfica.
Ejemplos
En el ejemplo siguiente se muestran los pasos para calcular una firma en un SignedCms mensaje con contenido de mensaje que no está desasociado. En este caso, el contenido del mensaje se incluye en el SignedCms mensaje.
// 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.
En el ejemplo siguiente se muestran los pasos para calcular una firma en un SignedCms mensaje con contenido de mensaje que está desasociado. En este caso, el contenido del mensaje debe comprobarse independientemente del SignedCms mensaje.
// 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.
Comentarios
Los permisos siguientes son necesarios para acceder a la clave de firma en .NET Framework: