CryptSetKeyIdentifierProperty 関数 (wincrypt.h)

大事な この API は非推奨です。 新規および既存のソフトウェアでは 、Cryptography Next Generation API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptSetKeyIdentifierProperty 関数は、指定したキー識別子のプロパティを設定します。 この関数は、 pwszComputerName で識別されるコンピューターで プロパティを設定できます。

構文

BOOL CryptSetKeyIdentifierProperty(
  [in]  const CRYPT_HASH_BLOB *pKeyIdentifier,
  [in]  DWORD                 dwPropId,
  [in]  DWORD                 dwFlags,
  [in]  LPCWSTR               pwszComputerName,
  [in]  void                  *pvReserved,
  [out] const void            *pvData
);

パラメーター

[in] pKeyIdentifier

キー識別子を含む CRYPT_HASH_BLOB へのポインター。

[in] dwPropId

設定するプロパティを識別します。 dwPropId の値によって、pvData パラメーターの種類と内容が決まります。 任意の証明書プロパティ ID を使用できます。 CERT_KEY_PROV_INFO_PROP_IDは最も興味のあるプロパティです。

[in] dwFlags

次のフラグを設定できます。 これらは、ビットごとの OR 演算と組み合わせることができます。

意味
CRYPT_KEYID_MACHINE_FLAG
LocalMachine ( pwszComputerNameNULL の場合) またはリモート コンピューター ( pwszComputerNameNULL でない場合) のプロパティを設定します。 詳細については、「 pwszComputerName」を参照してください。
CRYPT_KEYID_DELETE_FLAG
キー識別子とそのすべてのプロパティが削除されます。
CRYPT_KEYID_SET_NEW_FLAG
新しいキー識別子プロパティを設定します。 プロパティが既に存在する場合、試行は失敗し、最後のエラー コードが CRYPT_E_EXISTS に設定された 状態で FALSE が返されます。

[in] pwszComputerName

プロパティが設定されているキー識別子を持つリモート コンピューターの名前を含む null で終わる文字列へのポインター。 CRYPT_KEYID_MACHINE_FLAG フラグが設定されている場合は、リモート コンピューターでキー識別子の一覧を検索します。 リモート コンピューターではなくローカル コンピューターを設定する場合は、 pwszComputerName を NULL に設定 します

[in] pvReserved

将来使用するために予約されており、 NULL である必要があります。

[out] pvData

dwPropId がCERT_KEY_PROV_INFO_PROP_ID場合、pvData はキー識別子の プロパティを含むCRYPT_KEY_PROV_INFO構造体を指します。

dwPropId がCERT_KEY_PROV_INFO_PROP_IDされていない場合、pvData はキー識別子の プロパティを含むCRYPT_DATA_BLOB構造体を指します。

pvDataNULL に設定すると、 プロパティが削除されます。

戻り値

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

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

メモ CRYPT_KEYID_SET_NEW_FLAGが設定されていて、プロパティが既に存在する場合は、最後のエラー コードが CRYPT_E_EXISTS に設定された 状態で FALSE が返されます。
 

要件

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

こちらもご覧ください

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

キー識別子関数