CryptMsgCountersignEncoded 関数 (wincrypt.h)

CryptMsgCountersignEncoded 関数は、既存の PKCS #7 メッセージ署名に署名します。 作成 される pbCountersignatureBYTE バッファーは、PKCS #7 でエンコードされた SignerInfo であり、PKCS #9 signed-data または signed-and-enveloped-data メッセージの認証されていない Countersignature 属性として使用できます。

構文

BOOL CryptMsgCountersignEncoded(
  [in]      DWORD                    dwEncodingType,
  [in]      PBYTE                    pbSignerInfo,
  [in]      DWORD                    cbSignerInfo,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
  [out]     PBYTE                    pbCountersignature,
  [in, out] PDWORD                   pcbCountersignature
);

パラメーター

[in] dwEncodingType

使用するエンコードの種類を指定します。 現在、X509_ASN_ENCODINGとPKCS_7_ASN_ENCODINGのみが使用されています。ただし、今後、エンコードの種類が追加される可能性があります。 現在のエンコードの種類の場合は、次の値を使用します。

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING。

[in] pbSignerInfo

カウンター署名されるエンコードされた SignerInfo へのポインター。

[in] cbSignerInfo

エンコードされた SignerInfo データのカウント (バイト単位)。

[in] cCountersigners

rgCountersigners 配列内のカウンター署名者の数。

[in] rgCountersigners

カウンター署名者の CMSG_SIGNER_ENCODE_INFO 構造体の配列。

[out] pbCountersignature

エンコードされた PKCS #9 カウンター署名 属性を受け取るバッファーへのポインター。

入力時に、このパラメーターを NULL にして、メモリ割り当てのためにこの情報のサイズを設定できます。 詳細については、「不明な 長さのデータの取得」を参照してください。

[in, out] pcbCountersignature

pbCountersignature パラメーターが指すバッファーのサイズをバイト単位で指定する変数へのポインター。 関数が戻るときに、 pcbCountersignature パラメーターが指す変数には、バッファーに格納されているバイト数が含まれます。

戻り値

関数が成功した場合、戻り値は 0 以外 (TRUE) になります

関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。

次の表に、 GetLastError 関数によって最も一般的に返されるエラー コードを示します。

リターン コード 説明
CRYPT_E_OID_FORMAT
オブジェクト識別子の形式が正しくありません。
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
メモリ不足。
 

伝達されたエラーは、次のいずれかの関数から返される場合があります。

関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

CryptMsgCountersign

CryptMsgVerifyCountersignatureEncoded

低レベルのメッセージ関数

簡略化されたメッセージ関数