

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

# 將 AWS CloudHSM 金鑰與憑證建立關聯
<a name="ksp-library-associate-key-certificate"></a>

您必須先將 AWS CloudHSM 金鑰的中繼資料匯入本機憑證存放區，並將中繼資料與憑證建立關聯，才能將金鑰與第三方工具搭配使用，例如 Microsoft 的 [SignTool](https://docs.microsoft.com/en-us/windows/win32/seccrypto/signtool)。若要匯入金鑰的中繼資料，請使用包含在 CloudHSM 3.0 以上版本中的 import\$1key.exe 公用程式。以下步驟提供額外資訊和範例輸出。

## 步驟 1：匯入您的憑證
<a name="import-cert"></a>

在 Windows 中，您應可按兩下憑證，將其匯入至您的本機憑證存放區。

不過，如果按兩下無法執行，請使用 [Microsoft Certreq 工具](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn296456%28v%3dws.11%29)將憑證匯入至憑證管理員。例如：

```
certreq -accept <certificatename>
```

如果這個動作失敗，且您收到錯誤訊息 `Key not found`，請繼續執行步驟 2。如果憑證出現在金鑰存放區，就表示您已完成任務，不需要進一步的動作。

## 步驟 2：收集憑證識別資訊
<a name="cert-identifier"></a>

如果上一個步驟沒有成功，您需要建立您的私密金鑰與憑證之間的關聯。不過，在您可以建立關聯之前，您必須先找到憑證的唯一容器名稱和序號。使用 等公用程式**certutil**來顯示所需的憑證資訊。的下列範例輸出**certutil**會顯示容器名稱和序號。

```
================ Certificate 1 ================ Serial Number:
			72000000047f7f7a9d41851b4e000000000004Issuer: CN=Enterprise-CANotBefore: 10/8/2019 11:50
			AM NotAfter: 11/8/2020 12:00 PMSubject: CN=www.example.com, OU=Certificate Management,
			O=Information Technology, L=Seattle, S=Washington, C=USNon-root CertificateCert
			Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65No key provider
			information Simple container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c Unique
			container name: CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c
```



## 步驟 3：將 AWS CloudHSM 私有金鑰與憑證建立關聯
<a name="associate-key-certificate"></a>

若要將金鑰與憑證建立關聯，請務必先[啟動 AWS CloudHSM 用戶端協助程式](key_mgmt_util-setup.md#key_mgmt_util-start-cloudhsm-client)。然後，使用 import\$1key.exe (包含在 CloudHSM 3.0 以上版本中)，建立私有金鑰與憑證之間的關聯。指定憑證時，請使用其簡易容器名稱。以下範例顯示命令和回應。此動作只會複製金鑰的中繼資料；金鑰會保留在 HSM 上。

```
$> import_key.exe –RSA CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c

Successfully opened Microsoft Software Key Storage Provider : 0NCryptOpenKey failed : 80090016
```

## 步驟 4：更新憑證存放區
<a name="update-certificate-store"></a>

確定 AWS CloudHSM 用戶端協助程式仍在執行中。然後，使用動**certutil**詞 **-repairstore**更新憑證序號。以下範例顯示命令和輸出。如需 [**-repairstore** 動詞](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc732443(v=ws.11)?redirectedfrom=MSDN#-repairstore)的相關資訊，請參閱 Microsoft 文件。

```
C:\Program Files\Amazon\CloudHSM>certutil -f -csp "Cavium Key Storage Provider"-repairstore my "72000000047f7f7a9d41851b4e000000000004"
my "Personal"
================ Certificate 1 ================
Serial Number: 72000000047f7f7a9d41851b4e000000000004
Issuer: CN=Enterprise-CA
NotBefore: 10/8/2019 11:50 AM
NotAfter: 11/8/2020 12:00 PM
Subject: CN=www.example.com, OU=Certificate Management, O=Information Technology, L=Seattle, S=Washington, C=US
Non-root CertificateCert Hash(sha1): 7f d8 5c 00 27 bf 37 74 3d 71 5b 54 4e c0 94 20 45 75 bc 65       
SDK Version: 3.0 
Key Container = CertReq-39c04db0-6aa9-4310-93db-db0d9669f42c 
Provider = "Cavium Key Storage Provider"
Private key is NOT exportableEncryption test passedCertUtil: -repairstore command completed successfully.
```

更新憑證序號後，您可以在 Windows 上將此憑證和對應的 AWS CloudHSM 私有金鑰與任何第三方簽署工具搭配使用。