Inicialize o cliente SDK da instância KMS antes de enviar solicitações à API da instância KMS.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância KMS (baseada em software ou hardware)
Um arquivo ClientKey (
clientKey_****.json) e o respectivo arquivo de senha (clientKey_****_Password.txt), baixados durante a criação da ClientKeyO arquivo de certificado CA (
PrivateKmsCA_kst-******.pem) da sua instância KMS, baixado no consoleO endpoint da sua instância KMS
Obter o endpoint e o certificado CA
Endpoint
O endpoint é o endereço de domínio do gateway dedicado da sua instância KMS.
Acesse a página Instances. Clique em na aba Software Key Management ou Hardware Key Management e clique em na sua instância KMS.
-
Na seção Basic Information, copie o valor do campo Instance VPC Endpoint.

O endpoint segue este formato: <instance-id>.cryptoservice.kms.aliyuncs.com.
Certificado CA
Na página Instances, localize a seção Instance CA Certificate e clique em Download.
Na caixa de diálogo Instance CA Certificate, selecione o ID da instância, clique em Download e armazene o arquivo em um local seguro.
O arquivo baixado tem o nome PrivateKmsCA_kst-******.pem.

Inicializar o cliente
O serviço de instância KMS exige HTTPS. Todos os exemplos definem config.protocol como https.
Ambiente de produção (recomendado)
Use esta configuração para implantações em produção. O certificado CA valida a autenticidade do certificado SSL/TLS e protege as comunicações entre sua aplicação e a instância KMS.
# -*- coding: utf-8 -*-
import os
from openapi.models import Config
from openapi_util.models import RuntimeOptions
from sdk.client import Client
# Configure the client
config = Config()
# HTTPS is required — the KMS instance service does not allow HTTP.
config.protocol = "https"
# Path to the ClientKey file (clientKey_****.json), downloaded when you created the ClientKey.
config.client_key_file = "<CLIENT_KEY_FILE>"
# ClientKey password, read from an environment variable to avoid hardcoding credentials.
config.password = os.getenv("CLIENT_KEY_PASSWORD")
# Endpoint format: <instance-id>.cryptoservice.kms.aliyuncs.com
config.endpoint = "<ENDPOINT>"
client = Client(config)
# Configure the CA certificate to verify the KMS instance's SSL/TLS certificate.
runtime_options = RuntimeOptions()
runtime_options.verify = "<CA_CERTIFICATE_FILE_PATH>"
Substitua os seguintes espaços reservados:
|
Espaço reservado |
Descrição |
Exemplo |
|
|
Caminho para o arquivo ClientKey |
|
|
|
Endpoint da sua instância KMS |
|
|
|
Caminho para o arquivo de certificado CA |
|
Defina CLIENT_KEY_PASSWORD como variável de ambiente antes de executar sua aplicação:
export CLIENT_KEY_PASSWORD="<your-clientkey-password>"
Testes offline (verificação SSL/TLS desativada)
Desativar a verificação de certificados SSL/TLS remove um controle de segurança crítico. Use esta configuração apenas em ambientes isolados de testes offline, nunca em produção.
Para desativar a verificação de certificados SSL/TLS em testes offline, defina o campo IgnoreSSL em RuntimeOptions como true:
# -*- coding: utf-8 -*-
import os
from openapi.models import Config
from openapi_util.models import RuntimeOptions
from sdk.client import Client
config = Config()
config.protocol = "https"
config.client_key_file = "<CLIENT_KEY_FILE>"
config.password = os.getenv("CLIENT_KEY_PASSWORD")
config.endpoint = "<ENDPOINT>"
client = Client(config)
runtime_options = RuntimeOptions()
# Set IgnoreSSL to true to disable SSL/TLS certificate verification. For offline testing only.
runtime_options.ignore_ssl = True
Referência de parâmetros
|
Parâmetro |
Descrição |
|
|
Protocolo de conexão. Deve ser |
|
|
Caminho para o arquivo ClientKey ( |
|
|
Senha da ClientKey. O navegador baixa automaticamente o arquivo de senha ( |
|
|
Endpoint da sua instância KMS. Formato: |
|
|
Caminho para o arquivo de certificado CA ( |
|
|
Campo em |