SignedCms.ComputeSignature Metódus

Definíció

Létrehoz egy aláírást, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

Túlterhelések

Name Description
ComputeSignature(CmsSigner, Boolean)

Létrehoz egy aláírást a megadott aláíróval, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

ComputeSignature()

Létrehoz egy aláírást, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

ComputeSignature(CmsSigner)

Létrehoz egy aláírást a megadott aláíróval, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

ComputeSignature(CmsSigner, Boolean)

Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs

Létrehoz egy aláírást a megadott aláíróval, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

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éterek

signer
CmsSigner

Az CmsSigner aláírót jelképező objektum.

silent
Boolean

csak .NET Core és .NET 5+ esetén: true a pin-kód kérése letiltva, ahol támogatott; ellenkező esetben false. A .NET-keretrendszerben ez a paraméter nem használatos, és szükség esetén mindig megjelenik egy PIN-kód kérése.

Kivételek

signer az null.

A titkosítási művelet nem hajtható végre.

csak .NET keretrendszer: Nincs megadva aláíró tanúsítvány.

.NET Core és .NET 5+: Nincs megadva aláíró tanúsítvány.

Megjegyzések

csak .NET Mag: A silent paraméternek nincs hatása, ha a CmsSigner.PrivateKey értéke nem null. A megadott érték azt szabályozza, hogy az aláírás számítása PIN-kódot jelenít-e meg. Még akkor is, ha a PrivateKey tulajdonság null értékű, és a silent paraméter értéke meg van adva true, az operációs rendszer és az aláíró beállításainak egyes kombinációi továbbra is PIN-kód megadását eredményezhetik.

A felhasználói felület .NET-keretrendszeren való megjelenítéséhez a következő engedélyek szükségesek:

A következő engedélyek szükségesek az aláírási kulcs eléréséhez a .NET-keretrendszerben:

A következőre érvényes:

ComputeSignature()

Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs

Létrehoz egy aláírást, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

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

Kivételek

A címzett tanúsítvány nincs megadva.

Megjegyzések

Ez a módszer akkor sikeres, ha SubjectIdentifierType.NoSignature az signerIdentifierType egyik konstruktor túlterhelésének SignedCms argumentumaként lett megadva. Ellenkező esetben kivételt jelez.

A következő engedélyek szükségesek az aláírási kulcs eléréséhez a .NET-keretrendszerben:

A következőre érvényes:

ComputeSignature(CmsSigner)

Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs
Forrás:
SignedCms.cs

Létrehoz egy aláírást a megadott aláíróval, és hozzáadja az aláírást a CMS/PKCS #7 üzenethez.

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éterek

signer
CmsSigner

Az CmsSigner aláírót jelképező objektum.

Kivételek

Nullhivatkozást ad át egy metódusnak, amely nem fogadja el érvényes argumentumként.

A titkosítási művelet nem hajtható végre.

Példák

Az alábbi példa a nem leválasztott üzenettartalommal rendelkező üzenet aláírásának kiszámításának SignedCms lépéseit mutatja be. Ebben az esetben az üzenet tartalma szerepel az SignedCms üzenetben.

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

Az alábbi példa egy leválasztott üzenettartalommal rendelkező üzenet aláírásának SignedCms kiszámításának lépéseit mutatja be. Ebben az esetben az üzenet tartalmát az üzenettől függetlenül SignedCms kell ellenőrizni.

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

Megjegyzések

A következő engedélyek szükségesek az aláírási kulcs eléréséhez a .NET-keretrendszerben:

A következőre érvényes: