mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 03:45:46 +00:00
Bug 1158296 - Allow ECDSA key export in WebCrypto, r=rbarnes
--HG-- extra : rebase_source : 40b14fe47652045c063ac40974147b5bfcc91630
This commit is contained in:
parent
903081acfe
commit
4c2b709af0
@ -2992,6 +2992,7 @@ WebCryptoTask::CreateExportKeyTask(const nsAString& aFormat,
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_HMAC) ||
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_RSASSA_PKCS1) ||
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_RSA_OAEP) ||
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_ECDSA) ||
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_ECDH) ||
|
||||
algName.EqualsLiteral(WEBCRYPTO_ALG_DH)) {
|
||||
return new ExportKeyTask(aFormat, aKey);
|
||||
|
@ -10,6 +10,7 @@ support-files =
|
||||
[test_WebCrypto.html]
|
||||
[test_WebCrypto_DH.html]
|
||||
[test_WebCrypto_ECDH.html]
|
||||
[test_WebCrypto_ECDSA.html]
|
||||
[test_WebCrypto_JWK.html]
|
||||
[test_WebCrypto_Normalize.html]
|
||||
[test_WebCrypto_PBKDF2.html]
|
||||
|
@ -67,6 +67,25 @@ TestArray.addTest(
|
||||
}
|
||||
);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
TestArray.addTest(
|
||||
"ECDSA key generation with public key export",
|
||||
function() {
|
||||
var that = this;
|
||||
var alg = { name: "ECDSA", namedCurve: "P-256", hash: "SHA-256" };
|
||||
var msg = Uint8Array.from([1]);
|
||||
|
||||
crypto.subtle.generateKey(alg, false, ["sign", "verify"])
|
||||
.then(pair => Promise.all([
|
||||
crypto.subtle.sign(alg, pair.privateKey, msg),
|
||||
crypto.subtle.exportKey("spki", pair.publicKey)
|
||||
.then(spki => crypto.subtle.importKey("spki", spki, alg, false, ["verify"]))
|
||||
]))
|
||||
.then(sigAndKey => crypto.subtle.verify(alg, sigAndKey[1], sigAndKey[0], msg))
|
||||
.then(complete(that), error(that))
|
||||
}
|
||||
);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
TestArray.addTest(
|
||||
"ECDSA JWK import and reject a known-bad signature",
|
||||
@ -131,9 +150,9 @@ TestArray.addTest(
|
||||
<body>
|
||||
|
||||
<div id="content">
|
||||
<div id="head">
|
||||
<b>Web</b>Crypto<br>
|
||||
</div>
|
||||
<div id="head">
|
||||
<b>Web</b>Crypto<br>
|
||||
</div>
|
||||
|
||||
<div id="start" onclick="start();">RUN ALL</div>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user