CryptVerifySignature

Verifierar om en digital signatur är giltig för data.

Format 

CryptVerifySignature ( data ; algoritm ; publikRSANyckel ; signatur )

Parametrar 

data – ett textuttryck som representerar de data som ska verifieras mot signatur.

algoritm - namnet på den kryptografiska algoritm som ska användas (mer information finns i Funktionen CryptAuthCode).

publikRSANyckel – text som representerar den publika RSA-nyckeln PKCS #1 i PEM-format som motsvarar den privata (hemliga) nyckeln som använts för att skapa signatur.

signatur – den binära RSA-signatur att verifiera mot data, exempelvis värdet som returneras av Funktionen CryptGenerateSignature.

Returnerad datatyp 

nummer

Ursprungsversion 

18.0

Beskrivning 

Den här funktionen verifierar en signatur genom att jämföra meddelandesammandraget i data (med hjälp av angiven algoritm) med det sammandrag som fås genom att avkryptera signatur med hjälp av publikRSANyckel.

En publik RSA-nyckel måste ha det här formatet:

Kopiera
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqDiwrPQwVaJzOzfFVBd
...
egkXva5cYBb8PNifmlPXVb8CAwEAAQ==
-----END PUBLIC KEY-----

Om signaturen är giltig för data returnerar den här funktionen 1 (sant); om signaturen inte är giltig returnerar den 0 (falsk). Om någon parameter är ogiltig returnerar funktionen "?".

Exempel 1 

Använder SHA-512-algoritmen för att skapa sammandraget av Tabell::SigneradText. Base64-avkodar den signatur som lagrats i textfältet Tabell::Signatur och returnerar den som containerdata. Avkrypterar signaturen med hjälp av värdet i fältet Tabell::PublikRSANyckel och jämför signatursammandraget med sammandraget från fältet Tabell::SigneradText. Om signaturen är giltig returneras 1.

Kopiera
CryptVerifySignature ( 
    Tabell::SigneradText ; "SHA512" ; Tabell::PublikRSANyckel ;     
    Base64Decode (         
        Tabell::Signatur ; "sig.data"     
    ) 
)