O AO realiza operações de assinatura e validação através do Google Distributed Cloud (GDC) isolado do KMS através de um cliente gRPC.
Antes de começar
Para receber as autorizações necessárias para assinar dados, peça ao administrador da IAM da sua organização para lhe conceder a função de programador do KMS (kms-developer
) no espaço de nomes do seu projeto.
Dados de assinatura
Para assinar dados, use o comando gdcloud kms keys asymmetric-sign
. Este comando
cria uma assinatura digital de um ficheiro de entrada através da chave Signing
e guarda
a assinatura codificada em base64.
Para assinar os seus dados, transmita o nome da chave e o seguinte:
gdcloud kms keys asymmetric-sign \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILE
Substitua as seguintes variáveis:
- NAMESPACE: o espaço de nomes do projeto, por exemplo:
kms-test1
. - KEY_NAME: o nome da chave usada para assinar,por exemplo:
key-1
. - INPUT_PATH: o caminho do ficheiro de entrada que quer que seja assinado.
- SIGNATURE_FILE: o caminho do ficheiro de saída para guardar a assinatura codificada em base64.
Depois de executar o comando, vê um ficheiro de saída especificado na flag
--signature-file
que contém a assinatura codificada em base64.- NAMESPACE: o espaço de nomes do projeto, por exemplo:
Valide dados
Depois de assinar os dados, valide a assinatura digital base64 com o comando gdcloud kms keys asymmetric-verify
. Este comando verifica se a assinatura digital codificada em base64 que recebe após executar o comando gdcloud kms keys asymmetric-sign
é válida ou não.
Para validar a assinatura, transmita o ficheiro de assinatura e o seguinte:
gdcloud kms keys asymmetric-verify \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILE
Depois de executar o comando, vê o resultado
Verification OK
se for bem-sucedido. Se não for bem-sucedido, vê o resultado da falhaVerification Failure
.