次の方法で共有


SignedData.CoSign メソッド

[ CoSign メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 代わりに、System.Security.Cryptography.Pkcs 名前空間で SignedCms クラスを使用します。

CoSign メソッドは、以前に署名されたコンテンツにデジタル署名を作成します。

構文

SignedData.CoSign( _
  [ ByVal Signer ], _
  [ ByVal EncodingType ] _
)

パラメーター

署名者 [in, optional]

データの 署名者の署名 者オブジェクトへの参照。 署名者オブジェクトは、署名に使用される証明書の秘密キーにアクセスできる必要があります。 このパラメーターには NULL を指定できます。詳細については、「備考」を参照してください。

EncodingType [in, optional]

署名されたデータのエンコード方法を示す CAPICOM_ENCODING_TYPE 列挙体の値。 既定値は CAPICOM_ENCODE_BASE64 です。 このパラメーターには、次の値のいずれかを指定できます。

説明
CAPICOM_ENCODE_ANY
このエンコードの種類は、入力データに不明なエンコードの種類がある場合にのみ使用されます。 この値を使用して出力のエンコードの種類を指定する場合は、代わりにCAPICOM_ENCODE_BASE64が使用されます。 CAPICOM 2.0 で導入されました。
CAPICOM_ENCODE_BASE64
データは base64 でエンコードされた文字列として保存されます。
CAPICOM_ENCODE_BINARY
データは純粋なバイナリ シーケンスとして保存されます。

 

戻り値

このメソッドは、エンコードされた署名されたデータを含む文字列を返します。

このメソッドが失敗すると、エラーがスローされます。 Err オブジェクトには、エラーに関する追加情報が含まれます。

解説

重要

このメソッドが Web スクリプトから呼び出されると、スクリプトは 秘密キー を使用してデジタル署名を作成する必要があります。 信頼されていない Web サイトで秘密キーを使用することを許可することは、セキュリティ上のリスクです。 このメソッドが最初に呼び出されたときに、Web サイトで秘密キーを使用できるかどうかを確認するダイアログ ボックスが表示されます。 スクリプトで秘密キーを使用してデジタル署名を作成し、[このダイアログ ボックスをもう一度表示しない] を選択すると、秘密キーを使用してデジタル署名を作成するそのドメイン内のスクリプトに対してダイアログ ボックスが表示されなくなります。 ただし、秘密キーを使用してデジタル署名を作成しようとするドメイン外のスクリプトでも、このダイアログ ボックスが表示されます。 スクリプトで秘密キーの使用を許可せず、[このダイアログ ボックスをもう一度表示しない] を選択すると、そのドメイン内のスクリプトは、秘密キーを使用してデジタル署名を作成する機能を自動的に拒否されます。

 

共同署名者は、特定の順序であるとは限りません。

Signer パラメーター値には、次の結果が適用されます。

  • Signer パラメーターが NULL でない場合、このメソッドは関連付けられた証明書が指す秘密キーを使用して、共同署名を暗号化します。 証明書によって指されている秘密キーが使用できない場合、メソッドは失敗します。
  • 署名者パラメーターが NULL で、秘密キーにアクセスできる証明書が CURRENT_USER MY ストアに 1 つだけ存在する場合、その証明書は共同署名の作成に使用されます。
  • Signer パラメーターが NULL の場合、Settings.EnablePromptForCertificateUI プロパティの値は true で、使用可能な秘密キーを持つ複数の証明書が CURRENT_USER MY ストアに存在する場合は、使用する証明書を選択できるダイアログ ボックスが表示されます。
  • Signer パラメーターが NULL、Settings.EnablePromptForCertificateUI プロパティが false の場合、メソッドは失敗します。
  • Signer パラメーターが NULL で、使用可能な秘密キーを持つ証明書CURRENT_USER MY ストアに存在しない場合、メソッドは失敗します。

必要条件

要件
再頒布可能パッケージ
Windows Server 2003 および Windows XP の CAPICOM 2.0 以降
[DLL]
Capicom.dll

関連項目

暗号化オブジェクト

SignedData