CryptVerifySignature
Verifies whether a digital signature is valid for the data.
Format
CryptVerifySignature ( data ; algorithm ; publicRSAKey ; signature )
Parameters
data - any text expression that represents the data to verify against signature.
algorithm - the name of the cryptographic algorithm to use (see CryptAuthCode function).
publicRSAKey - text that represents the PKCS #1 RSA public key in PEM format corresponding to the private key used to generate signature.
signature - the binary RSA signature to verify against data, such as the value returned by the CryptGenerateSignature function.
Data type returned
number
Originated in version
18.0
Description
To verify a signature, this function compares the message digest of data (using the specified algorithm) to the digest obtained by decrypting signature using publicRSAKey. 
An RSA public key must be in this format:
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqDiwrPQwVaJzOzfFVBd
...
egkXva5cYBb8PNifmlPXVb8CAwEAAQ==
-----END PUBLIC KEY-----
                                            If the signature is valid for the data, this function returns 1 (true); if the signature is not valid, it returns 0 (false). If any of the parameters are invalid, it returns "?".
Example 1
Uses the SHA-512 algorithm to generate the digest of Table::SignedText. Base64-decodes the signature stored in the Table::Signature text field and returns it as container data. Decrypts the signature using the value in the Table::PublicRSAKey field and compares the signature digest with the digest based on the Table::SignedText field. If the signature is valid, returns 1.
CryptVerifySignature ( 
    Table::SignedText ; "SHA512" ; Table::PublicRSAKey ;     
    Base64Decode (         
        Table::Signature ; "sig.data"     
    ) 
)