Firmar y verificar datos

El AO realiza operaciones de firma y verificación a través de Google Distributed Cloud (GDC) aislado por aire al KMS mediante un cliente gRPC.

Antes de empezar

Antes de realizar operaciones de KMS, configura kubectl para acceder al servidor de la API Management y obtener los permisos necesarios.

Configurar el acceso al servidor de la API Management

Configura kubectl para acceder al servidor de la API Management:

  1. Si aún no lo has hecho, obtén un archivo kubeconfig para el servidor de la API Management mediante la interfaz de línea de comandos (CLI) de gdcloud.
  2. Define la variable de entorno MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Sustituye PATH_TO_KUBECONFIG por la ruta del archivo kubeconfig generado.

  3. Si aún no lo has hecho, descarga, instala y configura la CLI de gdcloud. Para ello, consulta la información general sobre la herramienta de línea de comandos gdcloud.

Permisos obligatorios

Para obtener los permisos que necesitas, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de desarrollador de KMS (kms-developer) en tu proyecto.

Datos de firma

Para firmar datos, usa el comando gdcloud kms keys asymmetric-sign. Este comando crea una firma digital de un archivo de entrada con la clave Signing y guarda la firma codificada en base64.

  • Para firmar tus datos, introduce el nombre de la clave y lo siguiente:

    gdcloud kms keys asymmetric-sign \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
    --input-file=INPUT_PATH \
    --signature-file=SIGNATURE_FILE
    

    Sustituye las siguientes variables:

    • NAMESPACE: el espacio de nombres del proyecto. Por ejemplo: kms-test1.
    • KEY_NAME: el nombre de la clave usada para firmar. Por ejemplo, key-1.
    • INPUT_PATH: la ruta del archivo de entrada que quieres firmar.
    • SIGNATURE_FILE: la ruta del archivo de salida donde se guardará la firma codificada en Base64.

    Después de ejecutar el comando, verás un archivo de salida que has especificado en la marca --signature-file y que contiene la firma codificada en base64.

Verificar datos

Después de firmar los datos, verifica la firma digital en base64 con el comando gdcloud kms keys asymmetric-verify. Este comando verifica si la firma digital codificada en base64 que recibes después de ejecutar el comando gdcloud kms keys asymmetric-sign es válida o no.

  • Para verificar la firma, envía el archivo de firma y lo siguiente:

    gdcloud kms keys asymmetric-verify \
    namespaces/NAMESPACE/signingKeys/KEY_NAME \
      --input-file=INPUT_PATH \
      --signature-file=SIGNATURE_FILE
    

    Después de ejecutar el comando, verás el resultado Verification OK si se ha completado correctamente. Si no se resuelve correctamente, verás el resultado del error Verification Failure.