本文介绍使用阿里云SDK通过共享网关和专属网关访问KMS时如何初始化客户端。
本文以使用AccessKey初始化为例,了解更多初始化方式,请参见管理访问凭据。
初始化客户端时差异点
共享网关和专属网关初始化客户端时差异点主要在于以下参数。
参数 | 共享网关 | 专属网关 |
endpoint | 共享网关Endpoint,例如 | 专属网关Endpoint,格式为 例如 |
ca | 无需配置。 | 需要配置。但仅阿里云SDK(2.0)支持,阿里云SDK(1.0)不支持,阿里云SDK(1.0)需要将运行时参数HTTPSInsecure设置为true, |
初始化客户端(共享网关)
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// 共享网关Endpoint,以杭州为例
config.endpoint = "kms.cn-hangzhou.aliyuncs.com";
return new com.aliyun.kms20160120.Client(config);
}
endpoint说明:共享网关Endpoint,例如kms.cn-hangzhou.aliyuncs.com
。具体请参见Endpoint。
初始化客户端(专属网关)
public static com.aliyun.kms20160120.Client createClient() throws Exception {
// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// 专属网关Endpoint,格式为<your KMS Instance Id>.cryptoservice.kms.aliyuncs.com。
config.endpoint = "<实例VPC地址>";
// KMS实例CA证书的内容
config.ca = "<实例CA证书>";
return new com.aliyun.kms20160120.Client(config);
}
参数说明:
endpoint
专属网关Endpoint,格式为
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
。在实例管理页面,单击软件密钥管理或硬件密钥管理页签后,选择目标KMS实例。
单击实例ID进入到详情页,查看实例VPC地址。
ca
实例CA证书是为保障生产环境通信安全,其重要作用在于验证SSL/TLS证书的有效性,建议您始终保持此功能开启。如您确有需要关闭验证SSL/TLS证书,例如线下测试场景,可将运行时参数HTTPSInsecure设置为true,即
client.SetHTTPSInsecure(true)
。重要ca参数仅阿里云SDK(2.0)支持,阿里云SDK(1.0)不支持,阿里云SDK(1.0)需要将运行时参数HTTPSInsecure设置为true,即
client.SetHTTPSInsecure(true)
。在实例管理页面,单击软件密钥管理或硬件密钥管理页签后,选择目标KMS实例。
单击实例ID或单击操作列详情,在详情页,实例CA证书区域单击下载并妥善保管。
CA证书下载后文件名默认为PrivateKmsCA_kst-******.pem。