CryptGenerateSignature
Genereert de digitale handtekening van de gegevens.
Opmaak
CryptGenerateSignature (gegevens ; algoritme ; privateRSASleutel ; sleutelWachtwoord)
Parameters
gegevens
- een tekstuitdrukking die wordt gebruikt om een handtekening te genereren.
algoritme
- de naam van de cryptografische algoritme die moet worden gebruikt (raadpleeg CryptAuthCode functie).
privateRSASleutel
- tekst die staat voor een private RSA-sleutel. Desgewenst kan de sleutel worden gecodeerd.
sleutelWachtwoord
- het wachtwoord waarmee privateRSASleutel
kan worden gedecodeerd. Als privateRSASleutel
niet is gecodeerd, wordt deze parameter genegeerd.
Resulterend gegevenstype
container
Afkomstig uit versie
18.0
Beschrijving
Om een handtekening te genereren, berekent deze functie eerst de berichtwaarde van de parameter gegevens
. Dit doet de functie aan de hand van de opgegeven algoritme. Vervolgens wordt deze waarde gecodeerd met de parameter privateRSASleutel
. Als de privésleutel zelf is gecodeerd, moet u het wachtwoord invoeren bij de laatste parameter, sleutelWachtwoord
.
Een niet-gecodeerde, private RSA-sleutel moet de volgende opmaak hebben:
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAqqDiwrPQwVaJzOzfFVBdhNjRNRxghZVQ9a3S88so8piw0uRt
...
A4jh5ffbGA6rlv1kEt1Inq2XDnKASjnWQGltDWWTJFs/XBcfoFXHpYiVINmp
-----END RSA PRIVATE KEY-----
Een gecodeerde, private RSA-sleutel moet de volgende opmaak hebben:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B2EFE673714F681D
gMvo1cn1+Sjch4cPXT/Mty0pILnsbM5SsBPadRJJQtrGrM8LkkrRNdxYRBeIGUMj
...
lHGJJBHogUW4Ig3/kd4ROVHusRYLtyyfz13A96tIl6Y7lu2L7alNWQ==
-----END RSA PRIVATE KEY-----
Als u een RSA-sleutelpaar wilt genereren, kunt u hiervoor de OpenSSL-toolkit gebruiken. Raadpleeg www.openssl.org.
Deze functie geeft als resultaat een binaire handtekening van gegevens
als containergegevens of de functie geeft "?" als resultaat, indien een van de parameters ongeldig is. Met behulp van Base64EncodeRFC functie of HexEncode functie kunt u de containergegevens converteren naar tekst.
Voorbeeld 1
Gebruikt de SHA-512-algoritme in combinatie met een gecodeerde privésleutel om de gegevens in het tekstveld Tabel::TeOndertekenenTekst te ondertekenen. De handtekening wordt geretourneerd als tekst in Base64-codering.
Base64EncodeRFC (4648 ;
CryptGenerateSignature (
Tabel::TeOndertekenenTekst ; "SHA512" ; Tabel::PrivateRSASleutel ; $Wachtwoord
)
)