Todos os produtos
Search
Central de documentação

Key Management Service:Inicializar cliente

Última atualização: Jun 27, 2026

Antes de fazer solicitações de API a uma instância do Key Management Service (KMS), inicialize o cliente Go criando um objeto cliente e configurando o certificado CA.

Pré-requisitos

Antes de começar, certifique-se de que você tem:

  • Uma instância do KMS (Software Key Management ou Hardware Key Management)

  • Um arquivo ClientKey (clientKey_****.json) e seu arquivo de senha (clientKey_****_Password.txt), baixados quando você criou a ClientKey

  • O certificado CA da sua instância KMS (PrivateKmsCA_kst-******.pem), baixado na página de detalhes da instância

Criar um objeto cliente

Há dois métodos disponíveis. Use o caminho do arquivo ClientKey para a maioria dos deploys de produção. Use o conteúdo da ClientKey se o aplicativo carregar credenciais de um gerenciador de segredos ou de uma variável de ambiente em tempo de execução.

Método 1: caminho do arquivo ClientKey

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

// getDkmsClientByClientKeyFile creates a KMS instance SDK client using
// the ClientKey file path.
func getDkmsClientByClientKeyFile() *dedicatedkmssdk.Client {
    config := &dedicatedkmsopenapi.Config{
        // KMS instance service only allows HTTPS.
        Protocol: tea.String("https"),
        // Path to the ClientKey file (clientKey_****.json).
        ClientKeyFile: tea.String("<CLIENT_KEY_FILE>"),
        // Password for the ClientKey (from clientKey_****_Password.txt).
        Password: tea.String("<CLIENT_KEY_PASSWORD>"),
        // Endpoint format: <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
        Endpoint: tea.String("<ENDPOINT>"),
    }
    client, err := dedicatedkmssdk.NewClient(config)
    if err != nil {
        panic(err)
    }
    return client
}

Método 2: conteúdo da ClientKey

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

// getDkmsClientByClientKeyContent creates a KMS instance SDK client using
// the ClientKey file content directly.
func getDkmsClientByClientKeyContent() *dedicatedkmssdk.Client {
    config := &dedicatedkmsopenapi.Config{
        // KMS instance service only allows HTTPS.
        Protocol: tea.String("https"),
        // Content of the ClientKey file.
        ClientKeyContent: tea.String("<CLIENT_KEY_CONTENT>"),
        // Password for the ClientKey (from clientKey_****_Password.txt).
        Password: tea.String("<CLIENT_KEY_PASSWORD>"),
        // Endpoint format: <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com
        Endpoint: tea.String("<ENDPOINT>"),
    }
    client, err := dedicatedkmssdk.NewClient(config)
    if err != nil {
        panic(err)
    }
    return client
}

Substitua os seguintes marcadores de posição:

Marcador de posiçãoDescriçãoComo encontrá-lo
<CLIENT_KEY_FILE>Caminho para o arquivo ClientKey no discoNome de arquivo padrão: clientKey_****.json
<CLIENT_KEY_CONTENT>Conteúdo do arquivo ClientKeyLido do arquivo clientKey_****.json baixado
<CLIENT_KEY_PASSWORD>Senha da ClientKeyNome de arquivo padrão: clientKey_****_Password.txt
<ENDPOINT>Endereço de domínio da instância KMSConsulte Obter o endpoint abaixo

Configurar o certificado CA

Passe o certificado CA para RuntimeOptions para que o SDK verifique o certificado SSL/TLS do servidor.

Importante

Sempre configure o certificado CA em produção. Para ignorar a verificação somente durante testes offline, defina IgnoreSSL: true em RuntimeOptions.

import (
    dedicatedkmsopenapiutil "github.com/aliyun/alibabacloud-dkms-gcs-go-sdk/openapi-util"
    "github.com/alibabacloud-go/tea/tea"
    "io/ioutil"
)

// Read the CA certificate file and assign it to RuntimeOptions.
ca, err := ioutil.ReadFile("path/to/caCert.pem")
if err != nil {
    panic(err)
}
runtimeOptions := &dedicatedkmsopenapiutil.RuntimeOptions{
    Verify: tea.String(string(ca)),
}

Obter o endpoint

O endpoint é o endereço de domínio do gateway dedicado da instância KMS, no formato <KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com.

Para localizar o endpoint:

  1. Acesse a página Instances e clique na guia Software Key Management ou Hardware Key Management.

  2. Clique na instância de destino.

  3. Na seção Basic Information, copie o valor no campo Instance VPC Endpoint.

image

Baixar o certificado CA

O certificado CA está associado à sua instância KMS e é necessário para verificação SSL/TLS.

Para baixar o certificado:

  1. Acesse a página Instances e clique na guia Software Key Management ou Hardware Key Management.

  2. Clique no ID da instância ou em Details na coluna Actions.

  3. Na página de detalhes, clique em download ao lado de Instance CA Certificate.

O arquivo baixado é denominado PrivateKmsCA_kst-******.pem por padrão. Guarde-o em local seguro.

image

Próximas etapas

Com o cliente inicializado, use o objeto client e runtimeOptions para chamar operações do SDK da instância KMS, como criptografar dados ou gerar chaves de dados.