Skip to main content

Firma

Pasa el mensaje en bruto, no un resumen. El servicio lo hash con SHA-256 del lado del servidor, por lo que una entrada pre-hash se hash dos veces y produce una firma que nada verificará.
signing_algorithm es opcional; si se omite, se usa el valor por defecto de la especificación, y el algoritmo realmente aplicado vuelve en la respuesta. Un algoritmo que no coincide con la especificación se rechaza con 400 KMS_UNSUPPORTED_SIGNING_ALGORITHM en lugar de ser intentado. Las firmas vuelven en las codificaciones estándar, por lo que nada abajo necesita un manejo especial: RSA-PSS usa saltLen = hashLen = 32, y ECDSA devuelve la secuencia ASN.1 DER (r, s) de ANSI X9.62. POST /v1/keys/{key_id}/verify responde {"signature_valid": false} para una firma que simplemente no coincide. Eso es un 200, no un error — un error significa que la solicitud o el backend estaban mal, no que la firma estaba mal.
La API no expone la mitad pública de una clave asimétrica, por lo que la verificación se realiza a través de verify en lugar de fuera de línea contra una clave publicada. Planee una llamada por comprobación — y tenga en cuenta que verify es una acción IAM separada, por lo que una parte que solo debe verificar firmas nunca necesita kms:Sign.