SignedCms.ComputeSignature Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een handtekening en voegt u de handtekening toe aan het bericht CMS/PKCS #7.
Overloads
| Name | Description |
|---|---|
| ComputeSignature(CmsSigner, Boolean) |
Hiermee maakt u een handtekening met behulp van de opgegeven ondertekenaar en voegt u de handtekening toe aan het bericht CMS/PKCS #7. |
| ComputeSignature() |
Hiermee maakt u een handtekening en voegt u de handtekening toe aan het bericht CMS/PKCS #7. |
| ComputeSignature(CmsSigner) |
Hiermee maakt u een handtekening met behulp van de opgegeven ondertekenaar en voegt u de handtekening toe aan het bericht CMS/PKCS #7. |
ComputeSignature(CmsSigner, Boolean)
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
Hiermee maakt u een handtekening met behulp van de opgegeven ondertekenaar en voegt u de handtekening toe aan het bericht 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)
Parameters
- silent
- Boolean
.NET Core en .NET 5+ alleen: true om openingssleutels aan te vragen met pincodeprompts uitgeschakeld, indien ondersteund; anders false. In .NET Framework wordt deze parameter niet gebruikt en wordt indien nodig altijd een pincodeprompt weergegeven.
Uitzonderingen
signer is null.
Een cryptografische bewerking kan niet worden voltooid.
alleen .NET Framework: er is geen handtekeningcertificaat opgegeven.
.NET Core en .NET 5+ alleen: er is geen handtekeningcertificaat opgegeven.
Opmerkingen
alleen .NET Core: de parameter silent heeft geen effect als de waarde CmsSigner.PrivateKey niet null is. Met de opgegeven waarde wordt bepaald of de handtekening al dan niet wordt gebruikt, wordt een pincodeprompt weergegeven. Zelfs wanneer de PrivateKey eigenschap null is en de silent parameter is ingesteld op true, kunnen sommige combinaties van het besturingssysteem en ondertekenaaropties nog steeds resulteren in een pincodeprompt.
De volgende machtigingen zijn vereist om de gebruikersinterface weer te geven in .NET Framework:
De volgende machtigingen zijn vereist voor toegang tot de handtekeningsleutel in .NET Framework:
Van toepassing op
ComputeSignature()
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
Hiermee maakt u een handtekening en voegt u de handtekening toe aan het bericht CMS/PKCS #7.
public:
void ComputeSignature();
public void ComputeSignature();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Uitzonderingen
Het certificaat van de ontvanger is niet opgegeven.
Opmerkingen
Deze methode slaagt als SubjectIdentifierType.NoSignature het argument van een van de signerIdentifierType constructor-overbelastingen is opgegevenSignedCms. Anders wordt er een uitzondering gegenereerd.
De volgende machtigingen zijn vereist voor toegang tot de handtekeningsleutel in .NET Framework:
Van toepassing op
ComputeSignature(CmsSigner)
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
- Bron:
- SignedCms.cs
Hiermee maakt u een handtekening met behulp van de opgegeven ondertekenaar en voegt u de handtekening toe aan het bericht 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)
Parameters
Uitzonderingen
Er is een null-verwijzing doorgegeven aan een methode die deze niet accepteert als een geldig argument.
Een cryptografische bewerking kan niet worden voltooid.
Voorbeelden
In het volgende voorbeeld ziet u de stappen voor het berekenen van een handtekening voor een SignedCms bericht met berichtinhoud die niet is losgekoppeld. In dit geval wordt de inhoud van het bericht opgenomen in het SignedCms bericht.
// 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.
In het volgende voorbeeld ziet u de stappen voor het berekenen van een handtekening voor een SignedCms bericht met berichtinhoud die is losgekoppeld. In dit geval moet de inhoud van het bericht onafhankelijk van het SignedCms bericht worden geverifieerd.
// 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.
Opmerkingen
De volgende machtigingen zijn vereist voor toegang tot de handtekeningsleutel in .NET Framework: