diff options
Diffstat (limited to 'files/sv-se/web/api/subtlecrypto/generatekey/index.html')
-rw-r--r-- | files/sv-se/web/api/subtlecrypto/generatekey/index.html | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/files/sv-se/web/api/subtlecrypto/generatekey/index.html b/files/sv-se/web/api/subtlecrypto/generatekey/index.html new file mode 100644 index 0000000000..5359b57694 --- /dev/null +++ b/files/sv-se/web/api/subtlecrypto/generatekey/index.html @@ -0,0 +1,198 @@ +--- +title: SubtilKrypto.GenereraNyckel() +slug: Web/API/SubtleCrypto/generateKey +tags: + - API + - Metoder + - Referenser + - SubtilKrypto + - Webb Krypto API +translation_of: Web/API/SubtleCrypto/generateKey +original_slug: Web/API/SubtleCrypto/genereraNyckel +--- +<p>{{APIRef("Web Crypto API")}}</p> + +<p><strong>SubtilKrypto.genereraNyckel() </strong> metoden returnerar en {{jsxref("Promise")}} av en nybildad {{domxref("CryptoKey")}}, för symmetriska algoritmer, eller en {{domxref("CryptoKeyPair")}}, innehållande två nyutvecklade nycklar, för asymmetrisk algoritm, som matchar algoritmen, användningarna och extraherbarheten ges som parametrar.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">var <em>resultat</em> = <em>crypto.subtle</em><code>.genereraNyckel(<em>algo</em>, <em>extraherbart</em>,<em>nyckelBruk</em>)</code>; +</pre> + +<h3 id="Parametrar">Parametrar</h3> + +<ul> + <li><em><code>algo</code></em> är ett ordboksobjekt som definierar nyckelgenereringsfunktionen som ska användas. Stödjande algoer är: <a href="/en-US/docs/Web/API/Web_Crypto_API/Supported_algorithms#AES-CBC">AES-CBC</a>, <code>AES-CTR</code>, <code>AES-GCM</code>, <code>RSA-OAEP</code>, <code>AES-KW</code>, <code>HMAC</code>, <code>RSASSA-PKCS1-v1_5</code>, <code>ECDSA</code>, <code>ECDH</code>, och <code>DH</code>. Formatet av ordboksobjekt är: + + <ul> + <li> + <p><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;"><code>"namn"</code>, </span></font>vilket motsvarar ett av de stödda algoerna som anges ovan,</p> + </li> + <li> + <p><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;">"modulDimension"<code>, </code></span></font>vilket motsvarar antalet siffror som används i modulen</p> + </li> + <li> + <p><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;"><code>"publikExponent</code>",</span></font> a {{jsxref("Uint8Array")}} representerar den offentliga exponenten</p> + </li> + <li> + <p><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;">"hashFunktion</span></font><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;">", </span></font>ett ordbordsobjekt som refererar till hashalgoritmen att använda. Till exempel:</p> + + <ul> + <li> + <p><font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: #eeeeee;"><code>{namn: "SHA-512"}</code></span></font></p> + </li> + </ul> + </li> + </ul> + </li> + <li><code><em>extraherbart</em></code> är en {{jsxref("Boolean")}} Indikerar om nyckeln kan extraheras från {{domxref("CryptoKey")}} objekt på ett senare stadium.</li> + <li><code><em>nyckelBruk</em></code> är en {{jsxref("Array")}} vilket indikerar vad som kan göras med den nybildade nyckeln. Möjliga värden för fälten är: + <ul> + <li><code>"enkrypt"</code>, låter nyckeln användas för{{glossary("encryption", "encrypting")}} meddelanden.</li> + <li><code>"dekrypt"</code>, låter nyckeln användas för {{glossary("decryption", "decrypting")}} meddelanden.</li> + <li><code>"signum"</code>, låter nyckeln användas för {{glossary("signature", "signing")}} meddelanden.</li> + <li><code>"verifik"</code>, låter nyckeln användas för {{glossary("verification", "verifying the signature")}} av meddelanden.</li> + <li><code>"deriveKey"</code>, låter nyckeln användas som en basnyckel när en ny nyckel hämtas.</li> + <li><code>"derivBitar"</code>, låter nyckeln användas som en basnyckel när man tar bort bitar av data för användning i kryptografiska primitiver.</li> + <li><code>"vikNyckel"</code>, låter nyckeln slå in en symmetrisk nyckel för användning (överföring, lagring) i osäkra miljöer.</li> + <li><code>"osvepKey"</code>, tillåter nyckeln att packa upp en symmetrisk nyckel för användning (överföring, lagring) i osäkra miljöer.</li> + </ul> + </li> +</ul> + +<h3 id="Returvärde">Returvärde</h3> + +<ul> + <li><code><em>resultat</em></code> är en{{jsxref("Promise")}} som returnerar den genererade nyckeln som en{{domxref("CryptoKey")}} eller en {{domxref("CryptoKeyPair")}}.</li> +</ul> + +<h3 id="Undantag">Undantag</h3> + +<p>Löftet avvisas när följande undantag uppstår:</p> + +<ul> + <li>{{exception("SyntaxError")}} när <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);"><em>nyckelBruk</em></span></font> är tom men den genererade symmetriska nyckeln är av typen <code>"hemlig"</code> eller <code>"privat"</code> eller den genererade privata komponenten av det genererade asymmetriska tangentparet är tomt.</li> +</ul> + +<h2 id="Specifikationer">Specifikationer</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specifikation</th> + <th scope="col">Status</th> + <th scope="col">Kommentar</th> + </tr> + <tr> + <td>{{ SpecName('Web Crypto API', '#dfn-SubtleCrypto-method-generateKey', 'SubtleCrypto.generateKey()') }}</td> + <td>{{ Spec2('Web Crypto API') }}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Webbläsarkompatibilitet">Webbläsarkompatibilitet</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Function</th> + <th>Chrome</th> + <th>Edge</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Edge</th> + <th>Opera</th> + <th>Safari</th> + </tr> + <tr> + <td>grundläggande stöd</td> + <td>{{ CompatChrome(37) }}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{ CompatGeckoDesktop(34) }}</td> + <td>{{ CompatNo() }}</td> + <td>13</td> + <td>{{ CompatNo }}</td> + </tr> + <tr> + <td><code>ECDSA</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{ CompatGeckoDesktop(36) }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + <tr> + <td><code>DH</code></td> + <td>{{ CompatNo() }}</td> + <td>{{CompatUnknown}}</td> + <td>{{ CompatGeckoDesktop(35) }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Funktion</th> + <th>Android</th> + <th>Chrome for Android</th> + <th>Edge</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Mobile</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>grundläggande stöd</td> + <td>{{CompatVersionUnknown}}</td> + <td>37</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{ CompatGeckoMobile(34) }}</td> + <td>{{ CompatNo }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatNo }}</td> + </tr> + <tr> + <td><code>ECDSA</code></td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{ CompatGeckoMobile(36) }}</td> + <td>{{ CompatNo }}</td> + <td>{{ CompatUnknown() }}</td> + <td>{{ CompatNo }}</td> + </tr> + <tr> + <td><code>DH</code></td> + <td>{{ CompatNo() }}</td> + <td>{{CompatVersionUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{ CompatGeckoMobile(35) }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> + +<p> </p> + +<p> </p> +</div> + +<h2 id="Se_även">Se även</h2> + +<ul> + <li>{{domxref("Crypto")}} och {{domxref("Crypto.subtle")}}.</li> + <li>{{domxref("SubtleCrypto")}}, gränssnittet tillhör det.</li> +</ul> |