

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

# 將您的 AWS CloudHSM PKCS \$111 程式庫從用戶端 SDK 3 遷移至用戶端 SDK 5
<a name="pkcs11-migrate-to-sdk-5"></a>

使用此主題將 AWS CloudHSM [PKCS \$111 程式庫](pkcs11-library.md)從用戶端 SDK 3 遷移至用戶端 SDK 5。如需遷移的優勢，請參閱 [AWS CloudHSM 用戶端 SDK 5 的優點](client-sdk-5-benefits.md)。

在 中 AWS CloudHSM，客戶應用程式會使用 AWS CloudHSM 用戶端軟體開發套件 (SDK) 執行密碼編譯操作。用戶端 SDK 5 是主要 SDK，會持續新增新功能和平台支援。

若要檢閱所有供應商的遷移說明，請參閱 [從 AWS CloudHSM 用戶端 SDK 3 遷移至用戶端 SDK 5](client-sdk-migration.md)。

## 解決重大變更以做好準備
<a name="w2aac25c19c15b9"></a>

檢閱這些重大變更，並相應地更新開發環境中的應用程式。

### 包裝機制已變更
<a name="w2aac25c19c15b9b5"></a>


****  

| 用戶端 SDK 3 機制 | 同等用戶端 SDK 5 機制 | 
| --- | --- | 
| `CKM_AES_KEY_WRAP` | `CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD` | 
| `CKM_AES_KEY_WRAP_PAD` | `CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD` | 
| `CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD` | `CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD` | 
| `CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD` | `CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD` | 
| `CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD` | `CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD` | 

### ECDH
<a name="w2aac25c19c15b9b7"></a>

在用戶端 SDK 3 中，您可以使用 ECDH 並指定 KDF。目前在用戶端 SDK 5 中無法使用此功能。如果您的應用程式需要此功能，請聯絡 [支援](https://support.console.aws.amazon.com/support/home#/)。

### 金鑰控制代碼現在為工作階段特定
<a name="w2aac25c19c15b9b9"></a>

若要將金鑰控制代碼成功用於用戶端 SDK 5，您必須在每次執行應用程式時取得金鑰控制代碼。如果您有現有的應用程式將在不同的工作階段中使用相同的金鑰控制代碼，您必須修改程式碼，才能在每次執行應用程式時取得金鑰控制代碼。如需擷取金鑰控制代碼的資訊，請參閱[此 AWS CloudHSM PKCS \$111 範例](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/find_objects/find_objects.c)。此變更符合 [PKCS \$111 2.40 規格](http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html#_Toc416959689)。

## 遷移至用戶端 SDK 5
<a name="w2aac25c19c15c11"></a>

遵循本節中的指示，從用戶端 SDK 3 遷移至用戶端 SDK 5。

**注意**  
用戶端 SDK 5 目前不支援 Amazon Linux、Ubuntu 16.04、Ubuntu 18.04、CentOS 6、CentOS 8 和 RHEL 6。如果您目前正在將其中一個平台與用戶端 SDK 3 搭配使用，則需要在遷移至用戶端 SDK 5 時選擇不同的平台。

1. 解除安裝用戶端 SDK 3 的 PKCS \$111 程式庫。

------
#### [ Amazon Linux 2 ]

   ```
   $ sudo yum remove cloudhsm-client-pkcs11
   ```

------
#### [ CentOS 7 ]

   ```
   $ sudo yum remove cloudhsm-client-pkcs11
   ```

------
#### [ RHEL 7 ]

   ```
   $ sudo yum remove cloudhsm-client-pkcs11
   ```

------
#### [ RHEL 8 ]

   ```
   $ sudo yum remove cloudhsm-client-pkcs11
   ```

------
#### [ Ubuntu 16.04 LTS ]

   ```
   $ sudo apt remove cloudhsm-client-pkcs11
   ```

------
#### [ Ubuntu 18.04 LTS ]

   ```
   $ sudo apt remove cloudhsm-client-pkcs11
   ```

------

1. 停止用戶端 SDK 3 的用戶端協助程式。

------
#### [ Amazon Linux 2 ]

   ```
   $ sudo service cloudhsm-client stop
   ```

------
#### [ CentOS 7 ]

   ```
   $ sudo service cloudhsm-client stop
   ```

------
#### [ RHEL 7 ]

   ```
   $ sudo service cloudhsm-client stop
   ```

------
#### [ RHEL 8 ]

   ```
   $ sudo service cloudhsm-client stop
   ```

------
#### [ Ubuntu 16.04 LTS ]

   ```
   $ sudo systemctl stop cloudhsm-client
   ```

------
#### [ Ubuntu 18.04 LTS ]

   ```
   $ sudo systemctl stop cloudhsm-client
   ```

------

1. 解除安裝 Client Daemon for Client SDK 3。

------
#### [ Amazon Linux 2 ]

   ```
   $ sudo yum remove cloudhsm-client
   ```

------
#### [ CentOS 7 ]

   ```
   $ sudo yum remove cloudhsm-client
   ```

------
#### [ RHEL 7 ]

   ```
   $ sudo yum remove cloudhsm-client
   ```

------
#### [ RHEL 8 ]

   ```
   $ sudo yum remove cloudhsm-client
   ```

------
#### [ Ubuntu 16.04 LTS ]

   ```
   $ sudo apt remove cloudhsm-client
   ```

------
#### [ Ubuntu 18.04 LTS ]

   ```
   $ sudo apt remove cloudhsm-client
   ```

------
**注意**  
需要再次啟用自訂組態。

1. 依照中的步驟安裝用戶端 SDK PKCS \$111 程式庫[安裝 AWS CloudHSM 用戶端 SDK 5 的 PKCS \$111 程式庫](pkcs11-library-install.md)。

1. 用戶端 SDK 5 推出新的組態檔案格式和命令列引導工具。若要引導您的用戶端 SDK 5 PKCS \$111 程式庫，請遵循 下使用者指南中列出的說明[引導用戶端 SDK](cluster-connect.md#connect-how-to)。

1. 在您的開發環境中，測試您的應用程式。更新現有程式碼，以在最終遷移之前解決重大變更。

## 相關主題
<a name="pkcs11-migrate-to-sdk-5-seealso"></a>
+ [的最佳實務 AWS CloudHSM](best-practices.md)