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
)
)