AesGcmParams
Das AesGcmParams
Wörterbuch der Web Crypto API repräsentiert das Objekt, das als der algorithm
Parameter in SubtleCrypto.encrypt()
, SubtleCrypto.decrypt()
, SubtleCrypto.wrapKey()
oder SubtleCrypto.unwrapKey()
übergeben werden sollte, wenn der AES-GCM-Algorithmus verwendet wird.
Für Einzelheiten, wie man geeignete Werte für diesen Parameter bereitstellt, siehe die Spezifikation für AES-GCM: NIST SP800-38D, insbesondere Abschnitt 5.2.1.1 zu Eingabedaten.
Instanz-Eigenschaften
name
-
Ein String. Dies sollte auf
AES-GCM
gesetzt werden. iv
-
Ein
ArrayBuffer
, einTypedArray
oder einDataView
mit dem Initialisierungsvektor. Dieser muss für jede Verschlüsselungsoperation mit einem bestimmten Schlüssel einzigartig sein. Anders ausgedrückt: Wiederverwenden Sie niemals einen IV mit dem gleichen Schlüssel. Die AES-GCM-Spezifikation empfiehlt, dass der IV 96 Bit lang sein sollte und typischerweise Bits aus einem Zufallszahlengenerator enthält. Abschnitt 8.2 der Spezifikation umreißt Methoden zur Konstruktion von IVs. Beachten Sie, dass der IV nicht geheim sein muss, sondern nur einzigartig: Es ist also in Ordnung, ihn beispielsweise zusammen mit der verschlüsselten Nachricht unverschlüsselt zu übertragen. additionalData
Optional-
Ein
ArrayBuffer
, einTypedArray
oder einDataView
. Dies enthält zusätzliche Daten, die nicht verschlüsselt, aber zusammen mit den verschlüsselten Daten authentifiziert werden. WennadditionalData
hier angegeben wird, müssen bei dem entsprechenden Aufruf vondecrypt()
die gleichen Daten angegeben werden: wenn die bei demdecrypt()
-Aufruf angegebenen Daten nicht mit den ursprünglichen Daten übereinstimmen, wird die Entschlüsselung eine Ausnahme werfen. Dies bietet Ihnen eine Möglichkeit, zugehörige Daten zu authentifizieren, ohne sie verschlüsseln zu müssen.Die Bitlänge von
additionalData
muss kleiner sein als2^64 - 1
.Die
additionalData
-Eigenschaft ist optional und kann weggelassen werden, ohne die Sicherheit der Verschlüsselungsoperation zu gefährden. tagLength
Optional-
Eine
Number
. Dies bestimmt die Größe in Bits des Authentifizierungstags, das bei der Verschlüsselungsoperation generiert und bei der entsprechenden Entschlüsselung zur Authentifizierung verwendet wird.Laut der Web Crypto-Spezifikation muss dies einen der folgenden Werte haben: 32, 64, 96, 104, 112, 120 oder 128. Die AES-GCM-Spezifikation empfiehlt, dass es 96, 104, 112, 120 oder 128 sein sollte, obwohl 32 oder 64 Bit in einigen Anwendungen akzeptabel sein können: Anhang C der Spezifikation bietet hier zusätzliche Anleitungen.
tagLength
ist optional und standardmäßig 128, wenn es nicht spezifiziert ist.
Beispiele
Siehe die Beispiele für SubtleCrypto.encrypt()
und SubtleCrypto.decrypt()
.
Spezifikationen
Specification |
---|
Web Cryptography API # dfn-AesGcmParams |
Browser-Kompatibilität
Browser, die den "AES-GCM"-Algorithmus für die Methoden SubtleCrypto.encrypt()
, SubtleCrypto.decrypt()
, SubtleCrypto.wrapKey()
oder SubtleCrypto.unwrapKey()
unterstützen, werden diesen Typ unterstützen.