初始化客户端

本文介绍使用阿里云SDK通过共享网关和专属网关访问KMS时如何初始化客户端。

本文以使用AccessKey初始化为例,了解更多初始化方式,请参见管理访问凭据

初始化客户端时差异点

共享网关和专属网关初始化客户端时差异点主要在于以下参数。

参数

共享网关

专属网关

endpoint

共享网关Endpoint,例如kms.cn-hangzhou.aliyuncs.com。具体请参见Endpoint

专属网关Endpoint,格式为<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com

例如kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com

ca

无需配置。

需要配置。但仅阿里云SDK(2.0)支持,阿里云SDK(1.0)不支持,阿里云SDK(1.0)需要将运行时参数HTTPSInsecure设置为true,client.SetHTTPSInsecure(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

    1. 实例管理页面,单击软件密钥管理硬件密钥管理页签后,选择目标KMS实例。

    2. 单击实例ID进入到详情页,查看实例VPC地址image

  • 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)

    1. 实例管理页面,单击软件密钥管理硬件密钥管理页签后,选择目标KMS实例。

    2. 单击实例ID或单击操作列详情,在详情页,实例CA证书区域单击下载并妥善保管。

      CA证书下载后文件名默认为PrivateKmsCA_kst-******.pem。image