SignedCms.ComputeSignature Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy podpis i dodaje podpis do komunikatu CMS/PKCS #7.
Przeciążenia
ComputeSignature(CmsSigner, Boolean) |
Tworzy podpis przy użyciu określonego podpisu i dodaje podpis do komunikatu CMS/PKCS #7. |
ComputeSignature() |
Tworzy podpis i dodaje podpis do komunikatu CMS/PKCS #7. |
ComputeSignature(CmsSigner) |
Tworzy podpis przy użyciu określonego podpisu i dodaje podpis do komunikatu CMS/PKCS #7. |
ComputeSignature(CmsSigner, Boolean)
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
Tworzy podpis przy użyciu określonego podpisu i dodaje podpis do komunikatu 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
Tylko platformy .NET Core i .NET 5+: true
aby zażądać otwarcia kluczy z wyłączonymi monitami o numer PIN, gdzie jest obsługiwany; w przeciwnym razie false
. W .NET Framework ten parametr nie jest używany, a w razie potrzeby jest zawsze wyświetlany monit o podanie numeru PIN.
Wyjątki
signer
to null
.
Nie można ukończyć operacji kryptograficznych.
.NET Framework tylko: nie określono certyfikatu podpisywania.
Tylko .NET Core i .NET 5+ : nie określono certyfikatu podpisywania.
Uwagi
Tylko platforma silent
.NET Core: parametr nie ma wpływu, jeśli CmsSigner.PrivateKey wartość nie ma wartości null. Podana wartość określa, czy obliczanie podpisu wyświetla monit o podanie numeru PIN. Nawet jeśli PrivateKey właściwość ma wartość null, a silent
parametr jest ustawiony na true
, niektóre kombinacje systemu operacyjnego i opcje podpisywania nadal mogą spowodować wyświetlenie monitu o podanie numeru PIN.
Do wyświetlania interfejsu użytkownika w .NET Framework wymagane są następujące uprawnienia:
Do uzyskania dostępu do klucza podpisu w .NET Framework wymagane są następujące uprawnienia:
Dotyczy
ComputeSignature()
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
Tworzy podpis i dodaje podpis do komunikatu CMS/PKCS #7.
public:
void ComputeSignature();
public void ComputeSignature ();
member this.ComputeSignature : unit -> unit
Public Sub ComputeSignature ()
Wyjątki
.NET Framework (wszystkie wersje) i .NET Core 3.0 i nowsze: nie określono certyfikatu odbiorcy.
.NET Core w wersji 2.2 i starszej: nie podano certyfikatu podpisywania.
Uwagi
Ta metoda powiedzie się, jeśli SubjectIdentifierType.NoSignature została podana jako signerIdentifierType
argument jednego z SignedCms przeciążeń konstruktora. W przeciwnym razie zgłasza wyjątek.
Do uzyskania dostępu do klucza podpisu w .NET Framework wymagane są następujące uprawnienia:
Dotyczy
ComputeSignature(CmsSigner)
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
- Źródło:
- SignedCms.cs
Tworzy podpis przy użyciu określonego podpisu i dodaje podpis do komunikatu 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
Wyjątki
Odwołanie o wartości null zostało przekazane do metody, która nie akceptuje jej jako prawidłowego argumentu.
Nie można ukończyć operacji kryptograficznych.
Przykłady
W poniższym przykładzie przedstawiono kroki obliczania podpisu w wiadomości z zawartością komunikatu SignedCms , która nie jest odłączona. W takim przypadku zawartość wiadomości jest dołączona do SignedCms wiadomości.
// 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.
W poniższym przykładzie przedstawiono kroki obliczania podpisu w komunikacie z odłączaną zawartością komunikatu SignedCms . W takim przypadku zawartość wiadomości musi zostać zweryfikowana niezależnie od SignedCms wiadomości.
// 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.
Uwagi
Do uzyskania dostępu do klucza podpisu w .NET Framework wymagane są następujące uprawnienia: