

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

# 列出 AWS CloudHSM 加密使用者使用 CMU 擁有的金鑰
<a name="cloudhsm_mgmt_util-findAllKeys"></a>

使用 AWS CloudHSM cloudhsm\$1mgmt\$1util (CMU) 中的 **findAllKeys**命令，取得指定加密使用者 (CU) AWS CloudHSM 擁有或共用的金鑰。命令也會傳回每個 HSMs 上使用者資料的雜湊。有關使用者、金鑰擁有權和金鑰共用資料在叢集的所有 HSM 上是否都相同，此雜湊可讓您一目了然。在輸出中，由使用者擁有的金鑰會由 `(o)` 註釋，且共佣金鑰會由 `(s)` 註釋。

即使 HSM 上的所有 CU 可以使用任何公有金鑰，只有當指定的 CU 擁有金鑰時，**findAllKeys** 才會傳回公有金鑰。此行為不同於 key\$1mgmt\$1util 中的 [findKey](key_mgmt_util-findKey.md)，此命令會傳回所有 CU 使用者的公有金鑰。

只有加密主管 (CO 和 PCO) 和設備使用者 (AU) 才可以執行此命令。加密使用者 (CU) 可執行以下命令：
+ [listUsers](cloudhsm_mgmt_util-listUsers.md) 尋找所有使用者
+ 在 key\$1mgmt\$1util 中 [findKey](key_mgmt_util-findKey.md) 可查找他們可以使用的金錀
+ 在 [key\$1mgmt\$1util](key_mgmt_util-getKeyInfo.md) 中 getKeyInfo 查找他們擁有或共用的特定金錀的擁有者或共用使用者

啟動 CMU 並登入 HSM 後，方可執行任何 CMU 命令。請確認您所登入的使用者帳戶類型能夠執行您要使用的命令。

如果您新增或刪除 HSM，請更新 CMU 的組態檔案。否則，您所進行的變更可能無法在叢集中的所有 HSM 上生效。

## 使用者類型
<a name="findAllKeys-userType"></a>

下列使用者可以執行此命令。
+ 加密管理員 (CO、PCO)
+ 設備使用者 (AU)

## 語法
<a name="findAllKeys-syntax"></a>

因為此命令未指明具體參數，所以您須依照語法圖表中指定的順序輸入引數。

```
findAllKeys <user id> <key hash (0/1)> [<output file>]
```

## 範例
<a name="findAllKeys-examples"></a>

這些範例示範如何使用 `findAllKeys` 尋找每個 HSM 上使用者的所有金鑰，以及取得金鑰使用者資訊的雜湊。

**Example ：尋找 CU 的金鑰**  
此範例使用 **findAllKeys**，在 HSM 中尋找使用者 4 所擁有和共用的金鑰。此命令使用 `0` 做為第二個引數的值，以隱藏雜湊值。由於省略選用的檔案名稱，此命令會寫入 stdout (標準輸出)。  
輸出顯示使用者 4 可以使用 6 個金鑰：8、9、17、262162、19 和 31。輸出會使用 `(s)` 指出由使用者明確共用的金鑰。使用者擁有的金鑰由 `(o)` 指定，並包含使用者不共享的對稱和私有金鑰，以及可供所有加密使用者使用的公有金鑰。  

```
aws-cloudhsm> findAllKeys 4 0
Keys on server 0(10.0.0.1):
Number of keys found 6
number of keys matched from start index 0::6
8(s),9(s),17,262162(s),19(o),31(o)
findAllKeys success on server 0(10.0.0.1)

Keys on server 1(10.0.0.2):
Number of keys found 6
number of keys matched from start index 0::6
8(s),9(s),17,262162(s),19(o),31(o)
findAllKeys success on server 1(10.0.0.2)

Keys on server 1(10.0.0.3):
Number of keys found 6
number of keys matched from start index 0::6
8(s),9(s),17,262162(s),19(o),31(o)
findAllKeys success on server 1(10.0.0.3)
```

**Example ：驗證使用者資料已同步**  
此範例使用 **findAllKeys**，以驗證叢集中的所有 HSM 是否包含相同的使用者、金鑰擁有權和金鑰共用值。為了這樣做，此範例取得每個 HSM 上的金鑰使用者資料雜湊並比較雜湊值。  
為了取得金鑰雜湊，此命令使用第二個引數中的 `1` 值。由於選用的檔案名稱已遭省略，此命令會將金鑰雜湊寫入 stdout。  
此範例指定使用者 `6`，但對於 HSM 上擁有或共用任何金鑰的任何使用者，雜湊值都相同。如果指定的使用者未擁有或共用任何金鑰，例如 CO，則此命令不會傳回雜湊值。  
輸出顯示叢集內的兩個 HSM 具有相同的金鑰雜湊。如果其中一個 HSM 有不同的使用者、不同的金鑰擁有者或不同的共用使用者，則雜湊值就不相等。  

```
aws-cloudhsm> findAllKeys 6 1
Keys on server 0(10.0.0.1):
Number of keys found 3
number of keys matched from start index 0::3
8(s),9(s),11,17(s)
Key Hash:
55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 0(10.0.0.1)
Keys on server 1(10.0.0.2):
Number of keys found 3
number of keys matched from start index 0::3
8(s),9(s),11(o),17(s)
Key Hash:
55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 1(10.0.0.2)
```
此命令示範雜湊值代表 HSM 上所有金鑰的使用者資料。此命令針對使用者 3 使用 **findAllKeys**。與使用者 6 不同 (只擁有或共用 3 個金鑰)，使用者 3 擁有或共用 17 個金鑰，但金鑰雜湊值相同。  

```
aws-cloudhsm> findAllKeys 3 1
Keys on server 0(10.0.0.1):
Number of keys found 17
number of keys matched from start index 0::17
6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o)
Key Hash:
55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 0(10.0.0.1)
Keys on server 1(10.0.0.2):
Number of keys found 17
number of keys matched from start index 0::17
6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o)
Key Hash:
55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49

findAllKeys success on server 1(10.0.0.2)
```

## 引數
<a name="findAllKeys-params"></a>

因為此命令未指明具體參數，所以您須依照語法圖表中指定的順序輸入引數。

```
findAllKeys <user id> <key hash (0/1)> [<output file>]
```

**<user id>**  
取得指定之使用者擁有或共用的所有金鑰。輸入 HSM 上某個使用者的使用者 ID。若要尋找所有使用者的使用者 ID，請使用 [listUsers](cloudhsm_mgmt_util-listUsers.md)。  
所有使用者 ID 都有效，但 `findAllKeys` 只會傳回加密使用者 (CU) 的金鑰。  
必要：是

**<key hash>**  
納入 (`1`) 或排除 (`0`) 每個 HSM 中所有金鑰的使用者擁有權和共用資料的雜湊。  
`user id` 引數代表擁有或共用金鑰的使用者時，將會填入金鑰雜湊。對於 HSM 上擁有或共用金鑰的所有使用者，即使他們擁有和共用不同的金鑰，金鑰雜湊值也都相同。不過，當 `user id` 代表未擁有或共用任何金鑰的使用者時 (例如 CO)，就不會填入雜湊值。  
必要：是

**<output file>**  
將輸出寫入指定的檔案。  
必要：否  
預設：Stdout

## 相關主題
<a name="findAllKeys-seealso"></a>
+ [changePswd](cloudhsm_mgmt_util-changePswd.md)
+ [deleteUser](cloudhsm_mgmt_util-deleteUser.md)
+ [listUsers](cloudhsm_mgmt_util-listUsers.md)
+ [syncUser](cloudhsm_mgmt_util-syncUser.md)
+ key\$1mgmt\$1util 中的 [findKey](key_mgmt_util-findKey.md)
+ key\$1mgmt\$1util 中的 [getKeyInfo](key_mgmt_util-getKeyInfo.md)