Firma y verifica los datos

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

Antes de comenzar

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

Configura el acceso al servidor de la API de Management

Configura kubectl para acceder al servidor de la API de Management:

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

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Reemplaza PATH_TO_KUBECONFIG por la ruta de acceso del archivo kubeconfig generado.

  3. Si aún no lo hiciste, descarga, instala y configura la CLI de gdcloud. Para ello, sigue la descripción general de la CLI de gcloud.

Permisos necesarios

Para obtener los permisos que necesitas, pídele al administrador de IAM de la organización que te otorgue el rol de desarrollador de KMS (kms-developer) en tu proyecto.

Datos de la 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, pasa 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
    

    Reemplaza las siguientes variables:

    • NAMESPACE: Es el espacio de nombres del proyecto, por ejemplo, kms-test1.
    • KEY_NAME: Es el nombre de la clave que se usa para firmar, por ejemplo, key-1.
    • INPUT_PATH: Es la ruta de acceso del archivo de entrada que deseas firmar.
    • SIGNATURE_FILE: Es la ruta de acceso del archivo de salida en el que se guardará la firma codificada en base64.

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

Verificar datos

Después de firmar tus 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.

  • Para verificar la firma, pasa 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 realizó correctamente. Si no se realiza correctamente, verás el resultado de error Verification Failure.