getAttribute - AWS CloudHSM

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

getAttribute

key_mgmt_util 中的getAttribute命令會將索引鍵的一個或所有屬性值寫入檔案。 AWS CloudHSM 如果您所指定金鑰類型的屬性不存在 (例如 AES 金鑰的模數),則 getAttribute 會傳回錯誤。

金鑰屬性是金鑰的屬性。其中包括特性 (例如金鑰類型、類別、標籤和 ID),以及代表您可對金鑰執行之動作的值 (例如加密、解密、包裝、取消包裝和驗證)。

您只可以對您擁有的金鑰和與您共用的金鑰使用 getAttribute。您可以執行此命令或 cloudhsm_mgmt_util 中的 getAttribute 命令,如此可從叢集中的所有 HSM 取得金鑰的一個屬性值,並將其寫入 stdout 或檔案。

若要取得屬性的清單和代表它們的常數,請使用 listAttributes 命令。若要變更現有金鑰的屬性值,請使用 key_mgmt_util 中的 setAttribute 和 cloudhsm_mgmt_util 中的 setAttribute。如需金錀屬性的解譯說明,請參閱 金錀屬性參考

執行任何 key_mgmt_util 命令之前,您必須先啟動 key_mgmt_util 並以加密使用者 (CU) 的身分登入 HSM。

語法

getAttribute -h getAttribute -o <key handle> -a <attribute constant> -out <file>

範例

這些範例示範如何使用 getAttribute 來取得 HSM 中金鑰的屬性。

範例 :取得金鑰類型

此範例會取得金鑰的類型,例如 AES、3DES 或一般金鑰或 RSA 或橢圓曲線金鑰對。

第一個命令會執行 listAttributes,它會取得金鑰屬性和代表它們的常數。輸出顯示金鑰類型的常數是 256。如需金錀屬性的解譯說明,請參閱 金錀屬性參考

Command: listAttributes Description =========== The following are all of the possible attribute values for getAttributes. OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_KCV = 371

第二個命令會執行 getAttribute。它會要求金鑰控制代碼 524296 的金鑰類型 (屬性 256),並將它寫入 attribute.txt 檔案。

Command: getAttribute -o 524296 -a 256 -out attribute.txt Attributes dumped into attribute.txt file

最終命令會取得金鑰檔案的內容。輸出顯示金鑰類型為 0x1521,它是三重 DES (3DES) 金鑰。對於類別和類型值的定義,請參閱金鑰屬性參考

$ cat attribute.txt OBJ_ATTR_KEY_TYPE 0x00000015
範例 :取得金鑰的所有屬性

此命令會取得金鑰控制代碼 6 之金鑰的所有屬性,並將它們寫入 attr_6 檔案。它使用 512 的屬性值,其代表所有屬性。

Command: getAttribute -o 6 -a 512 -out attr_6 got all attributes of size 444 attr cnt 17 Attributes dumped into attribute.txt file Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS>

此命令示範範例屬性檔案的內容與所有屬性值。在值當中,其報告該金鑰是 256 位元 AES 金鑰並具有 ID test_01 和標籤 aes256。該金鑰可擷取且具持久性,亦即,不是僅限工作階段的金鑰。如需金錀屬性的解譯說明,請參閱 金錀屬性參考

$ cat attribute.txt OBJ_ATTR_CLASS 0x04 OBJ_ATTR_KEY_TYPE 0x15 OBJ_ATTR_TOKEN 0x01 OBJ_ATTR_PRIVATE 0x01 OBJ_ATTR_ENCRYPT 0x01 OBJ_ATTR_DECRYPT 0x01 OBJ_ATTR_WRAP 0x01 OBJ_ATTR_UNWRAP 0x01 OBJ_ATTR_SIGN 0x00 OBJ_ATTR_VERIFY 0x00 OBJ_ATTR_LOCAL 0x01 OBJ_ATTR_SENSITIVE 0x01 OBJ_ATTR_EXTRACTABLE 0x01 OBJ_ATTR_LABEL aes256 OBJ_ATTR_ID test_01 OBJ_ATTR_VALUE_LEN 0x00000020 OBJ_ATTR_KCV 0x1a4b31

參數

-h

顯示命令的說明。

必要:是

-o

指定目標金鑰的金鑰控制代碼。每一個命令中只能指定一個金鑰。若要取得金鑰的金鑰控制代碼,請使用 findKey

同時,您必須擁有該指定的金鑰或與您共用該金鑰。若要尋找金鑰的使用者,請使用getKeyInfo

必要:是

-a

識別屬性。輸入代表屬性的常數,或輸入 512 來代表所有屬性。例如,若要取得金鑰類型,請輸入 256,這是代表 OBJ_ATTR_KEY_TYPE 屬性的常數。

若要列出屬性及其常數,請使用 listAttributes。如需金錀屬性的解譯說明,請參閱 金錀屬性參考

必要:是

-out

將輸出寫入指定的檔案。輸入檔案路徑。您不能將輸出寫入 stdout

如果指定的檔案已存在,getAttribute 會覆寫檔案且不會警告。

必要:是

相關主題