Partager via


SignedCms.ComputeSignature Méthode

Définition

Crée une signature et l’ajoute au message CMS/PKCS #7.

Surcharges

ComputeSignature(CmsSigner, Boolean)

Crée une signature en utilisant le signataire spécifié, puis l'ajoute au message CMS/PKCS #7.

ComputeSignature()

Crée une signature et l’ajoute au message CMS/PKCS #7.

ComputeSignature(CmsSigner)

Crée une signature en utilisant le signataire spécifié, puis l'ajoute au message CMS/PKCS #7.

ComputeSignature(CmsSigner, Boolean)

Source:
SignedCms.cs
Source:
SignedCms.cs
Source:
SignedCms.cs

Crée une signature en utilisant le signataire spécifié, puis l'ajoute au message 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)

Paramètres

signer
CmsSigner

Objet CmsSigner qui représente le signataire.

silent
Boolean

.NET Core et .NET 5+ uniquement : true pour demander des clés d’ouverture avec des invites de code confidentiel désactivées, lorsqu’elles sont prises en charge ; sinon, false. Dans .NET Framework, ce paramètre n'est pas utilisé et une invite de code PIN est toujours affichée, si nécessaire.

Exceptions

signer a la valeur null.

Une opération de chiffrement n'a pas pu être terminée.

.NET Framework uniquement : Aucun certificat de signature n’a été spécifié.

.NET Core et .NET 5+ uniquement : aucun certificat de signature n’est spécifié.

Remarques

.NET Core uniquement : le silent paramètre n’a aucun effet si la CmsSigner.PrivateKey valeur n’est pas null. La valeur fournie détermine si le calcul de la signature affiche ou non une invite de code confidentiel. Même lorsque la propriété a la PrivateKey valeur null et que le paramètre a la silenttruevaleur , certaines combinaisons d’options du système d’exploitation et du signataire peuvent toujours entraîner une invite de code confidentiel.

Les autorisations suivantes sont requises pour afficher l’interface utilisateur sur .NET Framework :

Les autorisations suivantes sont requises pour accéder à la clé de signature sur .NET Framework :

S’applique à

ComputeSignature()

Source:
SignedCms.cs
Source:
SignedCms.cs
Source:
SignedCms.cs

Crée une signature et l’ajoute au message CMS/PKCS #7.

public:
 void ComputeSignature();
public void ComputeSignature ();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()

Exceptions

.NET Framework (toutes versions) et .NET Core 3.0 et versions ultérieures : Le certificat du destinataire n’est pas spécifié.

.NET Core 2.2 et versions antérieures : Aucun certificat de signataire n’a été fourni.

Remarques

Cette méthode réussit si SubjectIdentifierType.NoSignature a été fourni comme argument de l’une signerIdentifierTypeSignedCms des surcharges de constructeur. Sinon, elle lève une exception.

Les autorisations suivantes sont requises pour accéder à la clé de signature sur .NET Framework :

S’applique à

ComputeSignature(CmsSigner)

Source:
SignedCms.cs
Source:
SignedCms.cs
Source:
SignedCms.cs

Crée une signature en utilisant le signataire spécifié, puis l'ajoute au message 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)

Paramètres

signer
CmsSigner

Objet CmsSigner qui représente le signataire.

Exceptions

Une référence null a été passée à une méthode pour laquelle cet argument n'est pas valide.

Une opération de chiffrement n'a pas pu être terminée.

Exemples

L’exemple suivant montre les étapes de calcul d’une signature sur un SignedCms message dont le contenu du message n’est pas détaché. Dans ce cas, le contenu du message est inclus dans le SignedCms message.

// 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.

L’exemple suivant montre les étapes de calcul d’une signature sur un SignedCms message dont le contenu est détaché. Dans ce cas, le contenu du message doit être vérifié indépendamment du SignedCms message.

// 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.

Remarques

Les autorisations suivantes sont requises pour accéder à la clé de signature sur .NET Framework :

S’applique à