初始化

密钥管理服务 KMS

  • 功能发布记录
  • 产品描述
    • 介绍
    • 产品优势
    • 应用场景
    • 核心概念
  • 操作指南
    • 控制台操作指南
    • 开通KMS服务
    • 密钥管理操作
      • 计划删除密钥
      • 使用对称密钥
      • 密钥轮转
      • 使用非对称密钥
      • 禁用和启用密钥
    • 凭据管理操作
      • 通用凭据管理操作
      • 创建凭据
      • 禁用启用和计划删除凭据
  • API参考
    • KMS API基本信息
    • 密钥 API 说明
      • ScheduleKeyDeletion
      • GetParametersForImport
      • GenerateDataKey
      • ImportAsymmetricKey
      • ImportKey
      • Verify
      • Sign
      • DescribeKey
      • CreateKey
      • CalculateDigest
      • EnableKey
      • DisableKey
      • Encrypt
      • Decrypt
      • CancelKeyDeletion
      • EnableRotation
      • 错误码
    • 凭据 API 说明
      • PutSecretValue
      • GetSecretInfo
      • CreateSecret
      • GetSecretValue
      • ListSecrets
      • 错误码
  • 产品定价
    • 计费概述
  • SDK
    • Python-SDK
      • 密钥管理
      • 安装SDK工具包
      • 概述
    • Java-SDK
      • 密钥管理
      • 异常处理
      • 版本变更记录
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

密钥管理服务 KMS

  • 功能发布记录
  • 产品描述
    • 介绍
    • 产品优势
    • 应用场景
    • 核心概念
  • 操作指南
    • 控制台操作指南
    • 开通KMS服务
    • 密钥管理操作
      • 计划删除密钥
      • 使用对称密钥
      • 密钥轮转
      • 使用非对称密钥
      • 禁用和启用密钥
    • 凭据管理操作
      • 通用凭据管理操作
      • 创建凭据
      • 禁用启用和计划删除凭据
  • API参考
    • KMS API基本信息
    • 密钥 API 说明
      • ScheduleKeyDeletion
      • GetParametersForImport
      • GenerateDataKey
      • ImportAsymmetricKey
      • ImportKey
      • Verify
      • Sign
      • DescribeKey
      • CreateKey
      • CalculateDigest
      • EnableKey
      • DisableKey
      • Encrypt
      • Decrypt
      • CancelKeyDeletion
      • EnableRotation
      • 错误码
    • 凭据 API 说明
      • PutSecretValue
      • GetSecretInfo
      • CreateSecret
      • GetSecretValue
      • ListSecrets
      • 错误码
  • 产品定价
    • 计费概述
  • SDK
    • Python-SDK
      • 密钥管理
      • 安装SDK工具包
      • 概述
    • Java-SDK
      • 密钥管理
      • 异常处理
      • 版本变更记录
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 密钥管理服务KMS
  • arrow
  • SDK
  • arrow
  • Java-SDK
  • arrow
  • 初始化
本页目录
  • 确认Endpoint
  • 获取密钥
  • 新建KmsClient
  • 配置HTTPS协议访问KMS

初始化

更新时间:2025-08-21

确认Endpoint

KMS目前支持“华北-北京”、“华南-广州”和“华东-苏州”三个区域。

北京区域:http://bkm.bj.baidubce.com,广州区域:http://bkm.gz.baidubce.com,苏州区域:http://bkm.su.baidubce.com。

对应信息为:

访问区域 对应Endpoint
BJ bkm.bj.baidubce.com
GZ bkm.gz.baidubce.com
SU bkm.su.baidubce.com

获取密钥

要使用百度智能云KMS,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问KMS做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:

注册百度智能云账号

创建AK/SK

新建KmsClient

KmsClient是KMS服务的客户端,为开发者与KMS服务进行交互提供了一系列的方法。

使用AK/SK新建KmsClient。

通过AK/SK方式访问KMS,用户可以参考如下代码新建一个KmsClient:

注意:这里的 Access Key ID, Secret Access Key,域名(ENDPOINT) 是必须填写的。

Plain Text
1    import com.baidubce.auth.DefaultBceCredentials;
2    import com.baidubce.services.kms.KmsClient;
3    import com.baidubce.services.kms.KmsClientConfiguration;
4    import com.baidubce.services.kms.model.*;
5    import com.baidubce.BceClientException;
6    import com.baidubce.BceServiceException;
7    import com.baidubce.Protocol;
8
9    public class Kms {
10        public static void main(String[] args) {
11            String ACCESS_KEY_ID = <your-access-key-id>;                // 用户的Access Key ID
12            String SECRET_ACCESS_KEY = <your-secret-access-key>;        // 用户的Secret Access Key
13            String ENDPOINT = <domain-name>;                            // 用户自己指定的域名
14
15            // 初始化一个KmsClient
16            KmsClientConfiguration config = new KmsClientConfiguration();
17            config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));     
18            config.setEndpoint(ENDPOINT);
19            config.setProtocol(Protocol.HTTPS);                         // 设置https协议
20            KmsClient client = new KmsClient(config);
21            // 接下来可以使用这个client来操作kms 
22            
23        }
24    }

在上面代码中,ACCESS_KEY_ID对应控制台中的“Access Key ID”,SECRET_ACCESS_KEY对应控制台中的“Access Key Secret”。

ENDPOINT参数只能用指定的包含区域的域名来进行定义。

配置HTTPS协议访问KMS

KMS支持HTTPS传输协议,您可以通过如下两种方式在KMS Java SDK中使用HTTPS访问KMS服务:

  • 在endpoint中指明https:

    Plain Text
    1String ENDPOINT = "https://bkm.gz.baidubce.com";              // endpoint中包含protocol使用https
    2String ACCESS_KEY_ID = <your-access-key-id>;                // 用户的Access Key ID
    3String SECRET_ACCESS_KEY = <your-secret-access-key>;        // 用户的Secret Access Key
  • 通过调用setProtocol方法设置https协议:

    Plain Text
    1String ENDPOINT = "bkm.gz.baidubce.com";                      // endpoint中不包含protocol 
    2String ACCESS_KEY_ID = <your-access-key-id>;                // 用户的Access Key ID
    3String SECRET_ACCESS_KEY = <your-secret-access-key>;        // 用户的Secret Access Key
    4
    5// 初始化一个KmsClient
    6KmsClientConfiguration config = new KmsClientConfiguration();
    7config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));     
    8config.setEndpoint(ENDPOINT);
    9config.setProtocol(Protocol.HTTPS);                         // 如果不指明, 则使用http
    10KmsClient client = new KmsClient(config);

如果在endpoint中指明了protocol, 则endpoint中的生效, 另外单独再调用setProtocol()不起作用。

Plain Text
1    String ENDPOINT = "http://bkm.gz.baidubce.com";               // endpoint中包含protocol使用http
2    String ACCESS_KEY_ID = <your-access-key-id>;                // 用户的Access Key ID
3    String SECRET_ACCESS_KEY = <your-secret-access-key>;        // 用户的Secret Access Key
4
5    // 初始化一个KmsClient
6    KmsClientConfiguration config = new KmsClientConfiguration();
7    config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));     
8    config.setEndpoint(ENDPOINT);
9    config.setProtocol(Protocol.HTTPS);                         // // endpoint中已经指明, 此为无效操作, 对http也是如此
10    KmsClient client = new KmsClient(config);
11    // 接下来可以使用这个client来操作kms

上一篇
版本变更记录
下一篇
安装SDK工具包