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:
-----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.
CryptVerifySignature (
Tabell::SigneradText ; "SHA512" ; Tabell::PublikRSANyckel ;
Base64Decode (
Tabell::Signatur ; "sig.data"
)
)