CryptGenerateSignature

Generiert die digitale Signatur der Daten.

Format 

CryptGenerateSignature ( Daten ; Algorithmus ; privaterRSASchlüssel ; SchlüsselPasswort )

Parameter 

Daten - beliebiger Textausdruck, aus dem eine Signatur generiert werden soll.

Algorithmus - Name des zu verwendenden kryptografischen Algorithmus (siehe Funktion „CryptAuthCode“).

privaterRSASchlüssel - Text, der einen privaten RSA-Schlüssel darstellt. Der Schlüssel kann optional verschlüsselt werden.

SchlüsselPasswort - das Passwort, mit dem privaterRSASchlüssel verschlüsselt wird. Wenn privaterRSASchlüssel nicht verschlüsselt ist, wird dieser Parameter ignoriert.

Zurückgegebener Datentyp 

Container

Ursprung in Version 

18.0

Beschreibung 

Zur Erstellung einer Signatur berechnet diese Funktion zunächst den Meldungsextrakt des Parameters Daten anhand des angegebenen Algorithmus. Dann wird der Extrakt mit dem Parameter privaterRSASchlüssel verschlüsselt. Wenn der private Schlüssel selbst verschlüsselt ist, müssen Sie das Passwort als den letzten Parameter, SchlüsselPasswort, angeben.

Ein unverschlüsselter privater RSA-Schlüssel muss folgendes Format aufweisen:

Kopieren
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAqqDiwrPQwVaJzOzfFVBdhNjRNRxghZVQ9a3S88so8piw0uRt
...
A4jh5ffbGA6rlv1kEt1Inq2XDnKASjnWQGltDWWTJFs/XBcfoFXHpYiVINmp
-----END RSA PRIVATE KEY-----

Ein verschlüsselter privater RSA-Schlüssel muss folgendes Format aufweisen:

Kopieren
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B2EFE673714F681D

gMvo1cn1+Sjch4cPXT/Mty0pILnsbM5SsBPadRJJQtrGrM8LkkrRNdxYRBeIGUMj
...
lHGJJBHogUW4Ig3/kd4ROVHusRYLtyyfz13A96tIl6Y7lu2L7alNWQ==
-----END RSA PRIVATE KEY-----

Zur Generierung eines RSA-Schlüsselpaars können Sie das OpenSSL-Toolkit verwenden. Weitere Informationen finden Sie unter www.openssl.org.

Diese Funktion gibt eine binäre Signatur von Daten als Containerdaten zurück bzw. ein „?“, wenn ein Parameter ungültig ist. Sie können die Containerdaten mit Hilfe der Funktion „Base64EncodeRFC“ oder Funktion „HexEncode“ in Text umwandeln.

Beispiel 1 

Sie verwendet den SHA-512-Algorithmus mit einem verschlüsselten privaten Schlüssel, um die Daten im Textfeld Tabelle::ZuSignierenderText zu signieren. Die Signatur wird als Text in Base64-Kodierung zurückgegeben.

Kopieren
Base64EncodeRFC ( 4648 ; 
    CryptGenerateSignature ( 
        Tabelle::ZuSignierenderText ; "SHA512" ; Tabelle::PrivaterRSASchlüssel ; $Passwort 
    )
)