SignedCms.ComputeSignature Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine Signatur und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu.
Überlädt
| Name | Beschreibung |
|---|---|
| ComputeSignature(CmsSigner, Boolean) |
Erstellt eine Signatur mit dem angegebenen Signierer und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu. |
| ComputeSignature() |
Erstellt eine Signatur und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu. |
| ComputeSignature(CmsSigner) |
Erstellt eine Signatur mit dem angegebenen Signierer und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu. |
ComputeSignature(CmsSigner, Boolean)
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
Erstellt eine Signatur mit dem angegebenen Signierer und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu.
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)
Parameter
- silent
- Boolean
.NET Core und .NET 5+ nur: true Zum Anfordern des Öffnens von Schlüsseln mit deaktivierten PIN-Eingabeaufforderungen, sofern unterstützt; andernfalls . false In .NET Framework wird dieser Parameter nicht verwendet, und bei Bedarf wird immer eine PIN-Eingabeaufforderung angezeigt.
Ausnahmen
signer ist null.
Ein kryptografischer Vorgang konnte nicht abgeschlossen werden.
.NET Framework nur: Ein Signaturzertifikat ist nicht angegeben.
Nur .NET Core und .NET 5+ : Ein Signaturzertifikat ist nicht angegeben.
Hinweise
Nur .NET Core: Der silent Parameter hat keine Auswirkung, wenn der CmsSigner.PrivateKey Wert nicht NULL ist. Der bereitgestellte Wert steuert, ob die Signatur eine PIN-Eingabeaufforderung anzeigt. Selbst wenn die PrivateKey Eigenschaft null ist und der silent Parameter auf true"Festgelegt" festgelegt ist, können einige Kombinationen von Betriebssystem- und Signieroptionen trotzdem zu einer PIN-Eingabeaufforderung führen.
Die folgenden Berechtigungen sind erforderlich, um die Benutzeroberfläche in .NET Framework anzuzeigen:
Für den Zugriff auf den Signaturschlüssel in .NET Framework sind die folgenden Berechtigungen erforderlich:
Gilt für:
ComputeSignature()
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
Erstellt eine Signatur und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Ausnahmen
Das Empfängerzertifikat ist nicht angegeben.
Hinweise
Diese Methode ist erfolgreich, wenn SubjectIdentifierType.NoSignature sie als signerIdentifierType Argument einer der SignedCms Konstruktorüberladungen bereitgestellt wurde. Andernfalls wird eine Ausnahme ausgelöst.
Für den Zugriff auf den Signaturschlüssel in .NET Framework sind die folgenden Berechtigungen erforderlich:
Gilt für:
ComputeSignature(CmsSigner)
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
- Quelle:
- SignedCms.cs
Erstellt eine Signatur mit dem angegebenen Signierer und fügt die Signatur der CMS/PKCS #7-Nachricht hinzu.
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)
Parameter
Ausnahmen
Ein Nullverweis wurde an eine Methode übergeben, die sie nicht als gültiges Argument akzeptiert.
Ein kryptografischer Vorgang konnte nicht abgeschlossen werden.
Beispiele
Das folgende Beispiel zeigt die Schritte zum Berechnen einer Signatur für eine SignedCms Nachricht mit nicht getrennten Nachrichteninhalten. In diesem Fall ist der Nachrichteninhalt in der SignedCms Nachricht enthalten.
// 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.
Das folgende Beispiel zeigt die Schritte zum Berechnen einer Signatur für eine SignedCms Nachricht mit getrennten Nachrichteninhalten. In diesem Fall muss der Nachrichteninhalt unabhängig von der SignedCms Nachricht überprüft werden.
// 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.
Hinweise
Für den Zugriff auf den Signaturschlüssel in .NET Framework sind die folgenden Berechtigungen erforderlich: