SignedCms.ComputeSignature Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří podpis a přidá podpis do zprávy CMS/PKCS #7.
Přetížení
| Name | Description |
|---|---|
| ComputeSignature(CmsSigner, Boolean) |
Vytvoří podpis pomocí zadaného podepisující osoby a přidá podpis do zprávy CMS/PKCS #7. |
| ComputeSignature() |
Vytvoří podpis a přidá podpis do zprávy CMS/PKCS #7. |
| ComputeSignature(CmsSigner) |
Vytvoří podpis pomocí zadaného podepisující osoby a přidá podpis do zprávy CMS/PKCS #7. |
ComputeSignature(CmsSigner, Boolean)
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
Vytvoří podpis pomocí zadaného podepisující osoby a přidá podpis do zprávy 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)
Parametry
- silent
- Boolean
Pouze .NET Core a .NET 5+ : true Pokud chcete požádat o otevírání klíčů pomocí výzev PIN, pokud je tato možnost podporovaná, v opačném případě false. V rozhraní .NET Framework se tento parametr nepoužívá a v případě potřeby se vždy zobrazí výzva k zadání kódu PIN.
Výjimky
signer je null.
Kryptografickou operaci nelze dokončit.
Pouze rozhraní .NET Framework: Podpisový certifikát není zadán.
Pouze .NET Core a .NET 5+ : Podpisový certifikát není zadán.
Poznámky
Pouze .NET Core: Parametr silent nemá žádný vliv, CmsSigner.PrivateKey pokud hodnota není null. Zadaná hodnota určuje, jestli se při výpočtu podpisu zobrazí výzva k zadání kódu PIN. I když PrivateKey je vlastnost null a silent parametr je nastaven na true, některé kombinace operačního systému a možnosti podepisující osoby můžou stále vést k zadání kódu PIN.
K zobrazení uživatelského rozhraní v rozhraní .NET Framework jsou vyžadována následující oprávnění:
Pro přístup ke klíči podpisu v rozhraní .NET Framework jsou vyžadována následující oprávnění:
Platí pro
ComputeSignature()
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
Vytvoří podpis a přidá podpis do zprávy CMS/PKCS #7.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Výjimky
Certifikát příjemce není zadán.
Poznámky
Tato metoda je úspěšná, pokud SubjectIdentifierType.NoSignature byla poskytována jako signerIdentifierType argument jednoho z přetížení konstruktoru SignedCms . V opačném případě vyvolá výjimku.
Pro přístup ke klíči podpisu v rozhraní .NET Framework jsou vyžadována následující oprávnění:
Platí pro
ComputeSignature(CmsSigner)
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
- Zdroj:
- SignedCms.cs
Vytvoří podpis pomocí zadaného podepisující osoby a přidá podpis do zprávy 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)
Parametry
Výjimky
Odkaz null byl předán metodě, která ji nepřijímá jako platný argument.
Kryptografickou operaci nelze dokončit.
Příklady
Následující příklad ukazuje kroky pro výpočet podpisu zprávy s obsahem SignedCms zprávy, který není odpojen. V tomto případě je obsah zprávy součástí SignedCms zprávy.
// 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.
Následující příklad ukazuje kroky pro výpočet podpisu zprávy s obsahem SignedCms zprávy, který je odpojen. V takovém případě musí být obsah zprávy ověřený nezávisle na SignedCms zprávě.
// 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.
Poznámky
Pro přístup ke klíči podpisu v rozhraní .NET Framework jsou vyžadována následující oprávnění: