次の方法で共有


SignedCms.ComputeSignature メソッド

定義

署名を作成し、その署名を CMS/PKCS #7 メッセージに追加します。

オーバーロード

ComputeSignature(CmsSigner, Boolean)

指定した署名者を使用して署名を作成し、その署名を CMS/PKCS #7 メッセージに追加します。

ComputeSignature()

署名を作成し、その署名を CMS/PKCS #7 メッセージに追加します。

ComputeSignature(CmsSigner)

指定した署名者を使用して署名を作成し、その署名を CMS/PKCS #7 メッセージに追加します。

ComputeSignature(CmsSigner, Boolean)

ソース:
SignedCms.cs
ソース:
SignedCms.cs
ソース:
SignedCms.cs

指定した署名者を使用して署名を作成し、その署名を 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)

パラメーター

signer
CmsSigner

署名者を表す CmsSigner オブジェクト。

silent
Boolean

.NET Core と .NET 5 以降のみ: true サポートされている場合は、PIN プロンプトが無効になっている開くキーを要求します。それ以外の場合 falseは 。 .NET Framework では、このパラメータは使用されず、PIN のプロンプトが必要な場合には常に表示されます。

例外

signernullです。

暗号操作を完了できませんでした。

.NET Framework のみ: 署名証明書が指定されていません。

.NET Core と .NET 5 以降のみ: 署名証明書が指定されていません。

注釈

.NET Core のみ: 値 silent が null でない場合、 CmsSigner.PrivateKey パラメーターは無効です。 指定された値は、署名を計算して PIN プロンプトを表示するかどうかを制御します。 プロパティが PrivateKey null で パラメーター silent が に true設定されている場合でも、オペレーティング システムと署名者オプションの組み合わせによっては、PIN プロンプトが表示される可能性があります。

.NET Frameworkにユーザー インターフェイスを表示するには、次のアクセス許可が必要です。

.NET Frameworkの署名キーにアクセスするには、次のアクセス許可が必要です。

適用対象

ComputeSignature()

ソース:
SignedCms.cs
ソース:
SignedCms.cs
ソース:
SignedCms.cs

署名を作成し、その署名を CMS/PKCS #7 メッセージに追加します。

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

例外

.NET Framework (すべてのバージョン) と .NET Core 3.0 以降: 受信者の証明書が指定されていません。

.NET Core バージョン 2.2 以前: 署名者の証明書が指定されていません。

注釈

このメソッドは、 がコンストラクター オーバーロードの 1 つの引数としてsignerIdentifierType指定された場合SubjectIdentifierType.NoSignatureSignedCms成功します。 成功しなかった場合は、例外がスローされます。

.NET Frameworkの署名キーにアクセスするには、次のアクセス許可が必要です。

適用対象

ComputeSignature(CmsSigner)

ソース:
SignedCms.cs
ソース:
SignedCms.cs
ソース:
SignedCms.cs

指定した署名者を使用して署名を作成し、その署名を 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)

パラメーター

signer
CmsSigner

署名者を表す CmsSigner オブジェクト。

例外

null 参照を有効な引数として受け付けないメソッドに null 参照が渡されました。

暗号操作を完了できませんでした。

次の例は、デタッチされていないメッセージ コンテンツを含む SignedCms メッセージの署名を計算する手順を示しています。 この場合、メッセージの内容がメッセージに SignedCms 含まれます。

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

次の例は、デタッチされたメッセージ コンテンツを含むメッセージの署名を SignedCms 計算する手順を示しています。 この場合、メッセージの内容はメッセージとは別に検証する SignedCms 必要があります。

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

注釈

.NET Frameworkの署名キーにアクセスするには、次のアクセス許可が必要です。

適用対象