全部產品
Search
文件中心

Key Management Service:初始化用戶端

更新時間:Dec 27, 2024

使用KMS執行個體SDK發起KMS執行個體API請求前,您需要初始化用戶端。本文介紹如何初始化用戶端。

初始化用戶端

  1. 初始化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
    }
  2. 通過配置運行時參數(RuntimeOptions)設定KMS執行個體的CA認證。

    重要

    設定執行個體CA認證是為保障生產環境通訊安全,其重要作用在於驗證SSL/TLS認證的有效性,建議您始終保持此功能開啟。如您確有需要關閉驗證SSL/TLS認證,例如線下測試情境,可通過將運行時參數RuntimeOptionsIgnoreSSL欄位設定為true實現。

    設定RuntimeOptionsverify欄位為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執行個體網域名稱地址。

  1. 实例管理頁面,單擊软件密钥管理硬件密钥管理頁簽後,選擇目標KMS執行個體。

  2. 單擊執行個體ID進入到詳情頁,查看实例VPC地址image

ClientKeyFile

即應用身份憑證的路徑。建立ClientKey後瀏覽器會自動下載,檔案名稱預設為clientKey_****.json

Password

即ClientKey的口令。建立ClientKey後瀏覽器會自動下載,檔案名稱預設為clientKey_****_Password.txt

Verify

KMS執行個體CA認證。

  1. 实例管理頁面,單擊获取实例CA证书地區的下载

  2. 获取实例CA证书對話方塊中選擇執行個體ID,單擊下载並妥善保管。

    CA認證下載後檔案名稱預設為PrivateKmsCA_kst-******.pem。image