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:

Kopiëren
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAqqDiwrPQwVaJzOzfFVBdhNjRNRxghZVQ9a3S88so8piw0uRt
...
A4jh5ffbGA6rlv1kEt1Inq2XDnKASjnWQGltDWWTJFs/XBcfoFXHpYiVINmp
-----END RSA PRIVATE KEY-----

Een gecodeerde, private RSA-sleutel moet de volgende opmaak hebben:

Kopiëren
-----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.

Kopiëren
Base64EncodeRFC (4648 ; 
    CryptGenerateSignature ( 
        Tabel::TeOndertekenenTekst ; "SHA512" ; Tabel::PrivateRSASleutel ; $Wachtwoord 
    )
)