KMFCryptoOperation: Bereichsbezogen, Global
Die KMFCryptoOperation Klasse stellt Methoden zum Ausführen kryptografischer Vorgänge mit bereit Key Management Framework( KMF) Kryptografisches Modul oder Feldverschlüsselung Verschlüsselungsmodul.
Zur Verwendung dieser API müssen Sie bereits ein kryptografisches KMF-Modul oder ein CLE-Verschlüsselungsmodul erstellt und konfiguriert haben. Das Modul muss mindestens eine kryptografische Spezifikation aufweisen, und Sie müssen den zugehörigen Schlüssel erstellen oder importieren. Weitere Informationen finden Sie unter Kryptografische Module .
Das mit dieser API generierte KMFCryptoOperation-Objekt stellt einen kryptografischen Vorgang dar, z. B. eine symmetrische Verschlüsselung. Verwenden Sie KMFCryptoOperations() Methode zum Erstellen dieses Objekts, die Generatormethoden zum Festlegen von Eigenschaften für das Objekt und die DoOperation() Methode zum Ausführen des Vorgangs.
Sie können diese API sowohl in bereichsbezogenen als auch in globalen Anwendungen verwenden. Sie müssen immer angeben sn_kmf_ns Namespace beim Aufrufen dieser API.
KMFCryptoOperation: KMFCryptoOperation (Zeichenfolge cryptoModuleName, Zeichenfolge operationName)
Erstellt ein KMFCryptoOperation-Objekt für das angegebene Modul und den angegebenen Vorgang.
Diese API nutzt Builder-Methoden. Builder-Methoden aktualisieren Eigenschaften für das KMFCryptoOperation-Objekt, z. B. Ändern des gewünschten Ausgabeformats der Daten. Nicht alle Builder-Methoden sind für alle Vorgänge gültig. Die für jeden Vorgang verfügbaren Generatormethoden sind in der folgenden Parametertabelle vermerkt.
| Name | Typ | Beschreibung |
|---|---|---|
| CryptoModuleName | Zeichenfolge | Name des kryptografischen Moduls des Key Management Framework (KMF) oder Feldverschlüsselung Zu verwendendes Verschlüsselungsmodul. Sie müssen das Modul erstellen, bevor Sie diese Methode aufrufen. Weitere Informationen finden Sie unter Kryptografisches Modul – Übersicht . |
| operationName | Zeichenfolge | Name des auszuführenden Vorgangs. Gültige Werte (Groß-/Kleinschreibung nicht beachten):
|
In diesem Beispiel wird ein KMFCryptoOperation-Objekt für das Modul global.sj_cm instanziiert, um einen symmetrischen Verschlüsselungsvorgang auszuführen. Sie müssen den Namespace sowohl für globale als auch für bereichsbezogene Anwendungen einschließen.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION");
Dieses Beispiel zeigt, wie Optionen zum Aktualisieren des Standardausgabetyps und des Ausgabeformats angegeben werden.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION")
.withOutputType("STRING").withOutputFormat("FORMATTED");
var cipherText=op.doOperation("hi");
Dieses Beispiel zeigt, wie ein asymmetrischer Verschlüsselungsvorgang mit einem integrierten Verschlüsselungsschema (EC-IES) ausgeführt wird. Beachten Sie, dass lange Werte wie signature, Wurden gekürzt und zur Lesbarkeit durch eine Ellipse ersetzt.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_ENCRYPTION")
.withInputFormat("KMFNONE")
.withOutputType("PAYLOAD");
var cipherText = op.doOperation("hi");
/*
cipherText contains an object similar to this JSON: {
"signature": "pkg…",
"ephemeral_key": "BDi…",
"ciphertext": "afFS…"
}
*/
Dieses Beispiel zeigt, wie ein asymmetrischer Entschlüsselungsvorgang mit EC-IES ausgeführt wird.
var op = new
sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_DECRYPTION")
.withAdditionalInput({
"signature": "pkg… ",
"ephemeral_key": "BDi…"
})
.withOutputFormat("KMFNONE");
var clearText = op.doOperation("afFS…");
KMFCryptoOperation – doOperation (Objektdaten)
Führt den vom aktuellen KMFCryptoOperation-Objekt definierten kryptografischen Vorgang für die angegebenen Daten aus und gibt das Ergebnis zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| data | Objekt | Erforderlich, außer wenn MitSysId() Die builder-Methode wurde zuvor für das zugehörige KMFCryptoOperation-Objekt aufgerufen. Eingabedaten, für die der kryptografische Vorgang ausgeführt werden soll. |
| Typ | Beschreibung |
|---|---|
Hängt vom Vorgangstyp ab.
|
Datenergebnisse, nachdem der im zugehörigen KMFCryptoOperation-Objekt angegebene Vorgang ausgeführt wurde. |
In diesem Beispiel wird verwendet DoOperation() Dient zum Erstellen eines MAC.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","MAC_GENERATION");
var data = "aGk=";
var mac = op.doOperation(data);
KMFCryptoOperation – withAdditionalInput(Object additionalInput)
Legt die zusätzliche Eingabe fest, die zum Ausführen des kryptografischen Vorgangs erforderlich ist.
Verwenden Sie diese Methode beispielsweise während einer MAC-Verifizierung (Message Authentication Code), um das generierte MAC-Tag zu übergeben. In ähnlicher Weise verwenden Sie sie während der Signaturverifizierung, um die Signatur zu übergeben. Sie können diese Methode auch verwenden, um zusätzliche Daten, ein KMFEncryptionPayload-Objekt, zu übergeben, wenn Sie einen asymmetrischen Vorgang mit einer integrierten Verschlüsselung ausführen, z. B. Elliptic Curve Integrated Encryption Scheme (EC-IES).
| Name | Typ | Beschreibung |
|---|---|---|
| AdditionalEingabe | Zeichenfolge oder Objekt | Optional, mit Ausnahme von asymmetrischen Entschlüsselungsvorgängen bei Verwendung von EC-IES. Zusätzliche Eingabedaten, die erforderlich sind, um den im KMFCryptoOperation-Objekt angegebenen kryptografischen Vorgang auszuführen. Unterstützte Zeichenfolgenformate:
KMFEncryptionPayload-Objektformat: |
| Zusätzliche Eingabe.chiffertext | Zeichenfolge (Base64) | Erforderlich für asymmetrische Entschlüsselung, optional für alle anderen Vorgänge. Gültige Werte:
Verfügbar im asymmetrischen Verschlüsselungsvorgang, wenn der Ausgabetyp auf festgelegt ist payload. |
| additionalInput.derivation_secret | Zeichenfolge (Base64) | Optional, wird nur für die Vorgänge „asymmetrische Verschlüsselung“ oder „asymmetrische Entschlüsselung“ mit EC-IES verwendet. Gemeinsames Geheimnis, das während des Schlüsselableitungsprozesses des integrierten Schemas verwendet werden soll. |
| Zusätzliche Eingabe.ephemeral_key | Zeichenfolge (Base64) | Erforderlich für den asymmetrischen Entschlüsselungsvorgang bei Verwendung von EC-IES, optional für alle anderen Vorgänge. Flüchtiger öffentlicher Schlüssel, der während des grundlegenden Vereinbarungsprozesses des integrierten Schemas verwendet werden soll. Verfügbar im asymmetrischen Verschlüsselungsvorgang, wenn der Ausgabetyp auf festgelegt ist payload. |
| AdditionalInput.ephemeral_key_Format | Zeichenfolge | Optional, wird nur für die Vorgänge „asymmetrische Verschlüsselung“ oder „asymmetrische Entschlüsselung“ mit EC-IES verwendet. Überschreibt das Format des öffentlichen Schlüssels, der durch dargestellt wird ephemeral_keyParameter. Gültige Werte:
|
| Zusätzliche Eingabe.Signatur | Zeichenfolge (Base64) | Erforderlich für den asymmetrischen Entschlüsselungsvorgang mit EC-IES, optional für alle anderen. Die Signatur des zu validierenden verschlüsselten Texts mithilfe des Signaturverifizierungsprozesses des integrierten Schemas. Verfügbar im asymmetrischen Verschlüsselungsvorgang, wenn der Ausgabetyp auf festgelegt ist payload. |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet WithAdditionalInput() Zum Hinzufügen einer zeichenbasierten Signatur zum KMFCryptoOperation-Objekt.
var signature = "John Doe";
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SIGNATURE_VERIFICATION")
.withAdditionalInput(signature);
var value = GlideStringUtil.base64Encode("Text to encode"); // Default input format is KMFBase64
var result = op.doOperation(String(value));
In diesem Beispiel wird verwendet WithAdditionalInput() Zum Hinzufügen einer Signatur und eines flüchtigen Schlüssels zum KMFCryptoOperation-Objekt. Beachten Sie, dass lange Werte, z. B. in DoOperation() Rufen Sie und an payloadBeschreibung, wurden gekürzt und zur Lesbarkeit durch eine Ellipse ersetzt.
var payload = new sn_kmf_ns.KMFEncryptionPayload();
payload.signature = "pkg...";
payload.ephemeral_key = " BDi...";
payload.ephemeral_key_format = "x962";
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_DECRYPTION")
.withAdditionalInput(payload)
.doOperation("afFS...";
KMFCryptoOperation – withAlgorithm (Zeichenfolgenalgorithmus)
Legt den Algorithmus fest, der dem Schlüsselmaterial zugeordnet ist, das umgebrochen werden soll.
| Name | Typ | Beschreibung |
|---|---|---|
| algorithm | Zeichenfolge | Zu verwendender Algorithmus. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet MitAlgorithm() Zum Ändern des verwendeten Verschlüsselungsalgorithmus in EC.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","ASYMMETRIC_WRAPPING").withAlgorithm("EC");
var value = GlideStringUtil.base64Encode("Sample key"); // Default input format is KMFBase64
var result = op.doOperation(String(value));
KMFCryptoOperation – withInputFormat(Zeichenfolge inputFormat)
Legt das Datenformat für die Eingabedaten fest, für die der kryptografische Vorgang ausgeführt wird. Verwendet das angegebene Format beim Decodieren der Daten.
| Name | Typ | Beschreibung |
|---|---|---|
| EingabeFormat | Zeichenfolge | Format der Eingabedaten. Gültige Werte:
Standard: Wert, der durch den Vorgang bestimmt wird, der beim Instanziieren des KMFCryptoOperation-Objekts angegeben wurde. Weitere Informationen finden Sie unter KMFCryptoOperation: KMFCryptoOperation (Zeichenfolge cryptoModuleName, Zeichenfolge operationName). |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet MitInputFormat() Um das Eingabeformat so zu ändern, dass es keine Codierung hat.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_ENCRYPTION").withInputFormat("KMFNone");
var result = op.doOperation("Text with no encoding"); // Pass in unencrypted String
In diesem Beispiel wird verwendet MitInputFormat() Zum Ändern des Eingabeformats in KMF_GLIDE_ENCRYPTER_FORMATTED.
var encryptOp = new sn_kmf_ns.KMFCryptoOperation("<module_name>", "SYMMETRIC_DECRYPTION")
.withInputFormat("KMF_GLIDE_ENCRYPTER_FORMATTED")
.withOutputFormat("KMFNone");
var clear_text = encryptOp.doOperation(<encrypted_text>);
KMFCryptoOperation – withOutputFormat(String outputFormat)
Legt das Datenformat der Ausgabedaten fest, die vom kryptografischen Vorgang zurückgegeben werden. Verwendet das angegebene Format beim Codieren der Daten.
| Name | Typ | Beschreibung |
|---|---|---|
| outputFormat | Zeichenfolge | Format der Ausgabedaten. Gültige Werte:
Standard, wenn diese Methode nicht aufgerufen wird: Wert, der durch den Vorgang bestimmt wird, der beim Instanziieren des KMFCryptoOperation-Objekts angegeben wurde. Weitere Informationen finden Sie unter KMFCryptoOperation: KMFCryptoOperation (Zeichenfolge cryptoModuleName, Zeichenfolge operationName). |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet MitAusgabeFormat() Um das Ausgabeformat der Entschlüsselung auf KMFNone festzulegen (Standard ist KMFBase64.)
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_DECRYPTION").withOutputFormat("KMFNone");
var clear_data = op.doOperation(<FORMATTED_data>); // Pass in default of FORMATTED data
KMFCryptoOperation – withOutputType(String outputType)
Legt den Datentyp für die Ausgabedaten fest, die nach der Ausführung des kryptografischen Vorgangs zurückgegeben werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Ausgabetyp | Zeichenfolge | Typ der Ausgabedaten. Nicht alle Ausgabetypen gelten für alle Vorgänge. Für einen nicht unterstützten Typ wird eine Ausnahme ausgelöst. Gültige Werte (Groß-/Kleinschreibung nicht beachten):
Hinweis: Wenn eine Ausgabe von angegeben wird Nutzlast , Die Ausgabe von DoOperation() Methode ist ein KMFEncryptionPayload-Objekt. Weitere Informationen zur Struktur dieses Objekts finden Sie unter WithAdditionalInput() . Standard: Wert, der durch den Vorgang bestimmt wird, der bei der Instanziierung des KMFCryptoOperation-Objekts angegeben wurde. Weitere Informationen finden Sie unter KMFCryptoOperation: KMFCryptoOperation (Zeichenfolge cryptoModuleName, Zeichenfolge operationName). |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet MitOutputType() Um den Ausgabetyp für MAC_VERIFICATION auf Boolesch festzulegen.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","MAC_VERIFICATION")
.withOutputType("Boolean").withAdditionalInput(<MAC>);
var value = GlideStringUtil.base64Encode("Text to sign"); // Default input type is KMFBase64
var result = op.doOperation(String(value));
KMFCryptoOperation – withSysId(String sysId)
Legt die sys_ID des Schlüssels fest, der im KMFCryptoOperation-Objekt umgebrochen werden soll. Gilt für symmetrisches und asymmetrisches Umschließen von Schlüsseln.
| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Schlüssels, der umgebrochen werden soll. Tabelle: Modulschlüssel [sys_kmf_Module_key] |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird verwendet MitSysId() Zum Definieren des Schlüssels, der umgebrochen werden soll.
var op = new sn_kmf_ns.KMFCryptoOperation("global.sj_cm","SYMMETRIC_WRAPPING").withSysId("0d06ce525b231010f86d1b341d81c777");
var wrappedKey = operation.doOperation(); // No need to pass data when using withSysId()