Udostępnij za pośrednictwem


SignedCms.ComputeSignature Metoda

Definicja

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

signer
CmsSigner

CmsSigner Obiekt reprezentujący znakator.

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

signer
CmsSigner

CmsSigner Obiekt reprezentujący znakator.

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:

Dotyczy