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:
-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAqqDiwrPQwVaJzOzfFVBdhNjRNRxghZVQ9a3S88so8piw0uRt
...
A4jh5ffbGA6rlv1kEt1Inq2XDnKASjnWQGltDWWTJFs/XBcfoFXHpYiVINmp
-----END RSA PRIVATE KEY-----
Ein verschlüsselter privater RSA-Schlüssel muss folgendes Format aufweisen:
-----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.
Base64EncodeRFC ( 4648 ;
CryptGenerateSignature (
Tabelle::ZuSignierenderText ; "SHA512" ; Tabelle::PrivaterRSASchlüssel ; $Passwort
)
)