SignedCms.ComputeSignature Metod

Definition

Skapar en signatur och lägger till signaturen i CMS/PKCS #7-meddelandet.

Överlagringar

Name Description
ComputeSignature(CmsSigner, Boolean)

Skapar en signatur med den angivna undertecknaren och lägger till signaturen i CMS/PKCS #7-meddelandet.

ComputeSignature()

Skapar en signatur och lägger till signaturen i CMS/PKCS #7-meddelandet.

ComputeSignature(CmsSigner)

Skapar en signatur med den angivna undertecknaren och lägger till signaturen i CMS/PKCS #7-meddelandet.

ComputeSignature(CmsSigner, Boolean)

Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs

Skapar en signatur med den angivna undertecknaren och lägger till signaturen i CMS/PKCS #7-meddelandet.

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)

Parametrar

signer
CmsSigner

Ett CmsSigner objekt som representerar undertecknaren.

silent
Boolean

endast .NET Core och .NET 5+ : true för att begära att öppna nycklar med PIN-prompter inaktiverade, där det stöds, annars false. I .NET Framework används inte den här parametern och en PIN-fråga visas alltid om det behövs.

Undantag

signer är null.

Det gick inte att slutföra en kryptografisk åtgärd.

endast .NET Framework: Ett signeringscertifikat har inte angetts.

endast .NET Core och .NET 5+ : Inget signeringscertifikat har angetts.

Kommentarer

endast .NET Core: Parametern silent har ingen effekt om värdet CmsSigner.PrivateKey inte är null. Det angivna värdet styr om signaturen visar en PIN-fråga eller inte. Även om PrivateKey egenskapen är null och parametern silent är inställd på truekan vissa kombinationer av operativsystem och undertecknaralternativ fortfarande resultera i en PIN-fråga.

Följande behörigheter krävs för att visa användargränssnittet i .NET Framework:

Följande behörigheter krävs för att få åtkomst till signaturnyckeln i .NET Framework:

Gäller för

ComputeSignature()

Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs

Skapar en signatur och lägger till signaturen i CMS/PKCS #7-meddelandet.

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

Undantag

Mottagarcertifikatet har inte angetts.

Kommentarer

Den här metoden lyckas om SubjectIdentifierType.NoSignature den signerIdentifierType angavs som argumentet för en av SignedCms konstruktorns överlagringar. Annars utlöser det ett undantag.

Följande behörigheter krävs för att få åtkomst till signaturnyckeln i .NET Framework:

Gäller för

ComputeSignature(CmsSigner)

Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs
Källa:
SignedCms.cs

Skapar en signatur med den angivna undertecknaren och lägger till signaturen i CMS/PKCS #7-meddelandet.

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)

Parametrar

signer
CmsSigner

Ett CmsSigner objekt som representerar undertecknaren.

Undantag

En null-referens skickades till en metod som inte accepterar den som ett giltigt argument.

Det gick inte att slutföra en kryptografisk åtgärd.

Exempel

I följande exempel visas stegen för att beräkna en signatur för ett SignedCms meddelande med meddelandeinnehåll som inte är kopplat. I det här fallet inkluderas meddelandeinnehållet i meddelandet 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.

I följande exempel visas stegen för att beräkna en signatur för ett SignedCms meddelande med meddelandeinnehåll som är frånkopplat. I det här fallet måste meddelandeinnehållet verifieras oberoende av meddelandet 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.

Kommentarer

Följande behörigheter krävs för att få åtkomst till signaturnyckeln i .NET Framework:

Gäller för