使用KMS執行個體SDK發起KMS執行個體API請求前,您需要初始化用戶端。本文介紹如何初始化用戶端。
初始化用戶端
初始化Client執行個體。
您可以使用ClientKey內容建立KMS執行個體SDK Client對象,也可以使用ClientKey檔案路徑建立KMS執行個體SDK Client對象,選擇其中一種即可。
import ( dedicatedkmsopenapi "github.com/aliyun/alibabacloud-dkms-gcs-go-sdk/openapi" dedicatedkmssdk "github.com/aliyun/alibabacloud-dkms-gcs-go-sdk/sdk" "github.com/alibabacloud-go/tea/tea" ) // 使用ClientKey內容建立KMS執行個體SDK Client對象 func getDkmsClientByClientKeyContent() *dedicatedkmssdk.Client { // 建立KMS執行個體SDK Client配置 config := &dedicatedkmsopenapi.Config{ // 連線協定請設定為"https"。KMS執行個體服務僅允許通過HTTPS協議訪問。 Protocol: tea.String("https"), // 請替換為ClientKey檔案的內容 ClientKeyContent: tea.String("yourClientKeyContent"), // 請替換為建立ClientKey時輸入的加密口令 Password: tea.String("yourClientKeyPassword"), // 設定endpoint為<your KMS Instance Id>.cryptoservice.kms.aliyuncs.com。 Endpoint: tea.String("yourEndpoint"), } // 建立KMS執行個體SDK Client對象 client, err := dedicatedkmssdk.NewClient(config) if err != nil { // 異常處理 panic(err) } return client } // 使用ClientKey檔案路徑建立KSM執行個體SDK Client對象 func getDkmsClientByClientKeyFile() *dedicatedkmssdk.Client { // 建立DKMS Client配置 config := &dedicatedkmsopenapi.Config{ // 連線協定請設定為"https"。KMS執行個體服務僅允許通過HTTPS協議訪問。 Protocol: tea.String("https"), // 請替換為ClientKey檔案的路徑 ClientKeyFile: tea.String("yourClientKeyFile"), // 請替換為建立ClientKey時輸入的加密口令 Password: tea.String("yourClientKeyPassword"), // 設定endpoint為<your KMS Instance Id>.cryptoservice.kms.aliyuncs.com。 Endpoint: tea.String("yourEndpoint"), } // 建立KMS執行個體SDK Client對象 client, err := dedicatedkmssdk.NewClient(config) if err != nil { // 異常處理 panic(err) } return client }通過配置運行時參數(
RuntimeOptions)設定KMS執行個體的CA認證。重要設定執行個體CA認證是為保障生產環境通訊安全,其重要作用在於驗證SSL/TLS認證的有效性,建議您始終保持此功能開啟。如您確有需要關閉驗證SSL/TLS認證,例如線下測試情境,可通過將運行時參數
RuntimeOptions的IgnoreSSL欄位設定為true實現。設定
RuntimeOptions的verify欄位為KMS執行個體CA憑證路徑。程式碼範例如下:import ( dedicatedkmsopenapiutil "github.com/aliyun/alibabacloud-dkms-gcs-go-sdk/openapi-util" "github.com/alibabacloud-go/tea/tea" "io/ioutil" ) // 驗證服務端認證 ca, err := ioutil.ReadFile("path/to/caCert.pem") if err != nil { panic(err) } runtimeOptions := &dedicatedkmsopenapiutil.RuntimeOptions{ Verify: tea.String(string(ca)), }
變數說明
Endpoint
即KMS執行個體網域名稱地址。
在实例管理頁面,單擊软件密钥管理或硬件密钥管理頁簽後,選擇目標KMS執行個體。
單擊執行個體ID進入到詳情頁,查看实例VPC地址。

ClientKeyFile
即應用身份憑證的路徑。建立ClientKey後瀏覽器會自動下載,檔案名稱預設為clientKey_****.json。
Password
即ClientKey的口令。建立ClientKey後瀏覽器會自動下載,檔案名稱預設為clientKey_****_Password.txt。
Verify
KMS執行個體CA認證。
在实例管理頁面,單擊获取实例CA证书地區的下载。
在获取实例CA证书對話方塊中選擇執行個體ID,單擊下载並妥善保管。
CA認證下載後檔案名稱預設為PrivateKmsCA_kst-******.pem。
