CryptSetKeyIdentifierProperty 函式 (wincrypt.h)

重要 此 API 已被取代。 新的和現有的軟體應該開始使用 密碼編譯新一代 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 參數的類型和內容。 您可以使用任何憑證屬性識別碼。 CERT_KEY_PROV_INFO_PROP_ID是最感興趣的屬性。

[in] dwFlags

您可以設定下列旗標。 它們可以與位 OR 運算結合。

意義
CRYPT_KEYID_MACHINE_FLAG
如果 pwszComputerNameNULL) 或遠端電腦 (pwszComputerName 不是 NULL) ,請設定 LocalMachine (的 屬性。 如需詳細資訊,請參閱 pwszComputerName
CRYPT_KEYID_DELETE_FLAG
金鑰識別碼及其所有屬性都會遭到刪除。
CRYPT_KEYID_SET_NEW_FLAG
設定新的金鑰識別碼屬性。 如果屬性已經存在,則嘗試會失敗,並傳回 FALSE ,並將最後一個錯誤碼設定為 CRYPT_E_EXISTS。

[in] pwszComputerName

Null 終止字串的指標,其中包含已設定屬性之密鑰標識碼的遠端電腦名稱。 如果已設定CRYPT_KEYID_MACHINE_FLAG旗標,請在遠端電腦上搜尋金鑰標識子清單。 如果要設定本機電腦而非遠端計算機,請將 pwszComputerName 設定為 NULL

[in] pvReserved

保留供日後使用,且必須為 NULL

[out] pvData

如果 dwPropIdCERT_KEY_PROV_INFO_PROP_ID,pvData 會指向包含密鑰標識碼屬性 的CRYPT_KEY_PROV_INFO 結構。

如果未CERT_KEY_PROV_INFO_PROP_ID dwPropId,pvData 會指向包含密鑰標識碼屬性的CRYPT_DATA_BLOB結構。

pvData 設定為 NULL 會刪除 屬性。

傳回值

如果函式成功,則傳回值為非零 (TRUE) 。

如果函式失敗,傳回值為零, (FALSE) 。 如需擴充的錯誤資訊,請呼叫 GetLastError

注意 如果已設定CRYPT_KEYID_SET_NEW_FLAG且屬性已經存在,則會傳回 FALSE ,並將最後一個錯誤碼設定為 CRYPT_E_EXISTS。
 

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 wincrypt.h
程式庫 Crypt32.lib
Dll Crypt32.dll

另請參閱

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

索引鍵識別碼函式