Comprueba si una firma digital es válida para los datos.
CryptVerifySignature ( datos ; algoritmo ; claveRSAprivada ; firma )
datos
: cualquier expresión de texto que represente los datos para verificar la firma
.
algoritmo
: el nombre del algoritmo criptográfico que se utilizará (consulte Función CryptAuthCode).
claveRSAprivada: texto que representa la clave pública RSA PKCS #1 en formato PEM correspondiente a la clave privada utilizada para generar la firma
.
firma
: la firma binaria RSA para verificar los datos
, como el valor devuelto por Función CryptGenerateSignature.
número
FileMaker Pro 18.0 Advanced
Para verificar una firma, esta función compara el resumen del mensaje de los datos
(usando el algoritmo especificado) con el resumen obtenido al descifrar la firma
utilizando la claveRSApública
.
Una clave RSA pública debe estar en este formato:
-----EMPEZAR CLAVE PÚBLICA-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqDiwrPQwVaJzOzfFVBd
...
egkXva5cYBb8PNifmlPXVb8CAwEAAQ==
-----FINALIZAR CLAVE PÚBLICA-----
Si la firma es válida para los datos, esta función devuelve 1 (true). Si la firma no es válida, devuelve 0 (false). Si alguno de los parámetros no es válido, devuelve "?".
•Esta función no se admite en las soluciones de tiempo de ejecución y devuelve "?".
Utiliza el algoritmo SHA-512 para generar el resumen de Table::SignedText. Base64 decodifica la firma almacenada en el campo de texto Table::Signature y la devuelve como datos de contenedor. Descifra la firma usando el valor del campo Table::PublicRSAKey y compara el resumen de la firma con el resumen basado en el campo Table::SignedText. Si la firma es válida, devuelve 1.
CryptVerifySignature (
Table::SignedText ; "SHA512" ; Table::PublicRSAKey ;
Base64Decode (
Table::Signature ; "sig.data"
)
)