Todos los productos
Search
Centro de documentos

Key Management Service:Inicializar el cliente

Última actualización: Sep 03, 2026

Use Alibaba Cloud SDK para conectar su aplicación a Key Management Service (KMS). La inicialización varía según el tipo de gateway: un shared gateway solo requiere un endpoint, mientras que un dedicated gateway también necesita un certificado CA para autenticar la conexión SSL/TLS de la instancia de KMS.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una cuenta de Alibaba Cloud con KMS habilitado

  • Credenciales de AccessKey almacenadas como variables de entorno (ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET)

  • (Solo para dedicated gateway) Una instancia de KMS. Consulte Gestionar credenciales de acceso para conocer los métodos de autenticación compatibles

Nota

Tanto los shared gateway como los dedicated gateway admiten los mismos métodos de autenticación basados en RAM: AccessKey (AK), token de Security Token Service (STS), RamRoleArn y rol de RAM de instancia ECS. Para cargas de trabajo en producción, use tokens STS en lugar de credenciales de AccessKey de larga duración. Los ejemplos siguientes usan AccessKey por simplicidad.

Comparativa de gateways

Shared gateway

Dedicated gateway

Formato de endpoint

kms.<REGION_ID>.aliyuncs.com (red pública) o kms-vpc.<REGION_ID>.aliyuncs.com (VPC)

<KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com

Certificado CA

No obligatorio

Obligatorio para SDK V2.0; en SDK V1.0 se debe establecer HTTPSInsecure en true en su lugar

Inicializar el cliente mediante un shared gateway

public static com.aliyun.kms20160120.Client createClient() throws Exception {
    // Avoid hardcoding credentials. Use STS tokens for higher security:
    // https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials
    com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
            // Required. Set ALIBABA_CLOUD_ACCESS_KEY_ID in your runtime environment.
            .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
            // Required. Set ALIBABA_CLOUD_ACCESS_KEY_SECRET in your runtime environment.
            .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    // Shared gateway endpoint format: kms.<REGION_ID>.aliyuncs.com
    // For VPC access: kms-vpc.<REGION_ID>.aliyuncs.com
    // Example uses Singapore (ap-southeast-1).
    config.endpoint = "kms.ap-southeast-1.aliyuncs.com";
    return new com.aliyun.kms20160120.Client(config);
}

Endpoint

Establezca config.endpoint en uno de los formatos de shared gateway endpoint:

  • Red pública: kms.<REGION_ID>.aliyuncs.com

  • VPC: kms-vpc.<REGION_ID>.aliyuncs.com

Reemplace <REGION_ID> con la región where se encuentran sus recursos de KMS, por ejemplo cn-hangzhou o ap-southeast-1.

Inicializar el cliente mediante un dedicated gateway

public static com.aliyun.kms20160120.Client createClient() throws Exception {
    // Avoid hardcoding credentials. Use STS tokens for higher security:
    // https://www.alibabacloud.com/help/en/sdk/developer-reference/v2-manage-access-credentials
    com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
            // Required. Set ALIBABA_CLOUD_ACCESS_KEY_ID in your runtime environment.
            .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
            // Required. Set ALIBABA_CLOUD_ACCESS_KEY_SECRET in your runtime environment.
            .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    // Dedicated gateway endpoint format: <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
    // Find your instance ID on the Instances page (see "Endpoint" below).
    config.endpoint = "kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com";
    // CA certificate content for the KMS instance.
    // Download it from the instance details page (see "CA certificate" below).
    config.ca = "<INSTANCE_CA_CERTIFICATE>";
    return new com.aliyun.kms20160120.Client(config);
}

Endpoint

El dedicated gateway endpoint sigue el formato <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com. Para obtener el endpoint de su instancia:

  1. Vaya a la página de Instances y haga clic en la pestaña Software Key Management o Hardware Key Management.

  2. Haga clic en la instancia de KMS deseada.

  3. En la sección Basic Information, copie el valor del campo Instance VPC Endpoint.

image

Certificado CA

El certificado CA autentica la conexión SSL/TLS de la instancia de KMS y es obligatorio en entornos de producción. Para descargarlo:

  1. En la página de Instances, haga clic en la pestaña Software Key Management o Hardware Key Management y luego haga clic en la instancia deseada.

  2. Haga clic en el ID de la instancia o en Details dentro de la columna Actions.

  3. En la página de detalles, haga clic en download junto a Instance CA Certificate.

El nombre predeterminado del archivo descargado es PrivateKmsCA_kst-******.pem.

image

Importante

El parámetro ca solo es compatible con Alibaba Cloud SDK V2.0. Si usa SDK V1.0, omita la línea config.ca y establezca HTTPSInsecure en true directamente en el cliente: client.SetHTTPSInsecure(true). Para omitir la verificación SSL/TLS en entornos que no son de producción (como pruebas sin conexión), use también client.SetHTTPSInsecure(true).