Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die wrapKey()-Methode des SubtleCrypto-Interfaces „umhüllt“ einen Schlüssel. Das bedeutet, dass der Schlüssel in einem externen, portablen Format exportiert und anschließend verschlüsselt wird. Das Umhüllen eines Schlüssels hilft, ihn in nicht vertrauenswürdigen Umgebungen zu schützen, wie z.B. in einem ansonsten ungeschützten Datenspeicher oder bei der Übertragung über ein ungeschütztes Netzwerk.
Wie bei SubtleCrypto.exportKey() geben Sie ein Exportformat für den Schlüssel an. Um einen Schlüssel zu exportieren, muss CryptoKey.extractable auf true gesetzt sein.
Da wrapKey() den zu exportierenden Schlüssel verschlüsselt, müssen Sie auch den Schlüssel angeben, der zur Verschlüsselung verwendet werden soll. Dieser wird manchmal als „Verpackungsschlüssel“ bezeichnet.
Das Gegenteil von wrapKey() ist SubtleCrypto.unwrapKey(): Während wrapKey aus Export + Verschlüsselung besteht, besteht unwrapKey aus Import + Entschlüsselung.
Ein Zeichenfolgewert, der das Datenformat beschreibt, in dem der Schlüssel exportiert wird, bevor er verschlüsselt wird. Es kann eines der folgenden sein:
rawRoh Format.
pkcs8PKCS #8 Format.
spkiSubjectPublicKeyInfo Format.
jwkJSON Web Key Format.
keyDer zu umhüllende CryptoKey.
wrappingkeyDer CryptoKey, der zum Verschlüsseln des exportierten Schlüssels verwendet wird. Der Schlüssel muss die Verwendung wrapKey haben.
wrapAlgoEin Objekt, das den zu verwendenden Algorithmus zur Verschlüsselung des exportierten Schlüssels und alle erforderlichen zusätzlichen Parameter spezifiziert:
Ein Promise, das mit einem ArrayBuffer erfüllt wird, der den verschlüsselten exportierten Schlüssel enthält.
Das Promise wird abgelehnt, wenn eine der folgenden Ausnahmen auftritt:
InvalidAccessError DOMExceptionWird ausgelöst, wenn der Verpackungsschlüssel nicht für den angeforderten Umhüllungsalgorithmus geeignet ist.
NotSupported DOMExceptionWird ausgelöst, wenn versucht wird, einen unbekannten oder für Verschlüsselung oder Umhüllung ungeeigneten Algorithmus zu verwenden.
TypeErrorWird ausgelöst, wenn versucht wird, ein ungültiges Format zu verwenden.
Alle Algorithmen, die für die Verschlüsselung verwendet werden können, können auch für die Schlüsselumhüllung verwendet werden, solange der Schlüssel die Verwendung "wrapKey" hat. Für die Schlüsselumhüllung haben Sie die zusätzliche Option von AES-KW.
AES-KW ist eine Möglichkeit, das AES-Cipher für die Schlüsselumhüllung zu verwenden.
Ein Vorteil von AES-KW gegenüber anderen AES-Modi wie AES-GCM ist, dass AES-KW keinen Initialisierungsvektor benötigt. Um AES-KW zu verwenden, muss die Eingabe ein Vielfaches von 64 Bits sein.
AES-KW ist in RFC 3394 spezifiziert.
Hinweis: Sie können die funktionierenden Beispiele auf GitHub ausprobieren.
Dieses Beispiel umhüllt einen AES-Schlüssel. Es verwendet "raw" als Exportformat und AES-KW mit einem passwortabgeleiteten Schlüssel, um ihn zu verschlüsseln. Sehen Sie den vollständigen Code auf GitHub.
Dieses Beispiel umhüllt einen RSA-privaten Signaturschlüssel. Es verwendet "pkcs8" als Exportformat und AES-GCM mit einem passwortabgeleiteten Schlüssel, um ihn zu verschlüsseln. Sehen Sie den vollständigen Code auf GitHub.
Dieses Beispiel umhüllt einen RSA-öffentlichen Verschlüsselungsschlüssel. Es verwendet "spki" als Exportformat und AES-CBC mit einem passwortabgeleiteten Schlüssel, um ihn zu verschlüsseln. Sehen Sie den vollständigen Code auf GitHub.
Dieses Beispiel umhüllt einen ECDSA-privaten Signaturschlüssel. Es verwendet "jwk" als Exportformat und AES-GCM mit einem passwortabgeleiteten Schlüssel, um ihn zu verschlüsseln. Sehen Sie den vollständigen Code auf GitHub.
| Web Cryptography Level 2 # SubtleCrypto-method-wrapKey |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.