SubtilKrypto.genereraNyckel() metoden returnerar en Promise
av en nybildad CryptoKey
, för symmetriska algoritmer, eller en CryptoKeyPair
, innehållande två nyutvecklade nycklar, för asymmetrisk algoritm, som matchar algoritmen, användningarna och extraherbarheten ges som parametrar.
Syntax
var resultat = crypto.subtle.genereraNyckel(algo, extraherbart,nyckelBruk)
;
Parametrar
algo
är ett ordboksobjekt som definierar nyckelgenereringsfunktionen som ska användas. Stödjande algoer är: AES-CBC,AES-CTR
,AES-GCM
,RSA-OAEP
,AES-KW
,HMAC
,RSASSA-PKCS1-v1_5
,ECDSA
,ECDH
, ochDH
. Formatet av ordboksobjekt är:-
"namn"
, vilket motsvarar ett av de stödda algoerna som anges ovan, -
"modulDimension"
,
vilket motsvarar antalet siffror som används i modulen -
"publikExponent
", aUint8Array
representerar den offentliga exponenten -
"hashFunktion", ett ordbordsobjekt som refererar till hashalgoritmen att använda. Till exempel:
-
{namn: "SHA-512"}
-
-
extraherbart
är enBoolean
Indikerar om nyckeln kan extraheras frånCryptoKey
objekt på ett senare stadium.nyckelBruk
är enArray
vilket indikerar vad som kan göras med den nybildade nyckeln. Möjliga värden för fälten är:"enkrypt"
, låter nyckeln användas förencrypting meddelanden."dekrypt"
, låter nyckeln användas för decrypting meddelanden."signum"
, låter nyckeln användas för signing meddelanden."verifik"
, låter nyckeln användas för verifying the signature av meddelanden."deriveKey"
, låter nyckeln användas som en basnyckel när en ny nyckel hämtas."derivBitar"
, låter nyckeln användas som en basnyckel när man tar bort bitar av data för användning i kryptografiska primitiver."vikNyckel"
, låter nyckeln slå in en symmetrisk nyckel för användning (överföring, lagring) i osäkra miljöer."osvepKey"
, tillåter nyckeln att packa upp en symmetrisk nyckel för användning (överföring, lagring) i osäkra miljöer.
Returvärde
resultat
är enPromise
som returnerar den genererade nyckeln som enCryptoKey
eller enCryptoKeyPair
.
Undantag
Löftet avvisas när följande undantag uppstår:
SyntaxError
när nyckelBruk är tom men den genererade symmetriska nyckeln är av typen"hemlig"
eller"privat"
eller den genererade privata komponenten av det genererade asymmetriska tangentparet är tomt.
Specifikationer
Specifikation | Status | Kommentar |
---|---|---|
Web Cryptography API The definition of 'SubtleCrypto.generateKey()' in that specification. |
Recommendation | Initial definition. |
Webbläsarkompatibilitet
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help!
Function | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
---|---|---|---|---|---|---|---|
grundläggande stöd | 37 | (Yes) | 34 (34) | No support | 13 | No support | |
ECDSA |
(Yes) | ? | 36 (36) | No support | ? | No support | |
DH |
No support | ? | 35 (35) | No support | No support | No support |
Funktion | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
grundläggande stöd | (Yes) | 37 | (Yes) | 34.0 (34) | No support | ? | No support |
ECDSA |
(Yes) | (Yes) | ? | 36.0 (36) | No support | ? | No support |
DH |
No support | (Yes) | ? | 35.0 (35) | No support | No support | No support |
Se även
Crypto
ochCrypto.subtle
.SubtleCrypto
, gränssnittet tillhör det.