使用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。
文档内容是否对您有帮助?