зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1078847 - GenerateAsymmetricKeyTask should allow generating key pairs where only the public key or the private key has any usages r=rbarnes
This commit is contained in:
Родитель
57c905e150
Коммит
a164f4b49a
|
@ -2048,7 +2048,7 @@ public:
|
|||
}
|
||||
|
||||
// If no usages ended up being allowed, DataError
|
||||
if (!mKeyPair.mPrivateKey.get()->HasAnyUsage() ||
|
||||
if (!mKeyPair.mPublicKey.get()->HasAnyUsage() &&
|
||||
!mKeyPair.mPrivateKey.get()->HasAnyUsage()) {
|
||||
mEarlyRv = NS_ERROR_DOM_DATA_ERR;
|
||||
return;
|
||||
|
|
|
@ -1308,6 +1308,32 @@ TestArray.addTest(
|
|||
doCheckRSASSA().then(error(that), complete(that));
|
||||
}
|
||||
);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
TestArray.addTest(
|
||||
"Test that we reject generating keys without any usage",
|
||||
function() {
|
||||
var that = this;
|
||||
var alg = {
|
||||
name: "RSA-OAEP",
|
||||
hash: "SHA-256",
|
||||
modulusLength: 2048,
|
||||
publicExponent: new Uint8Array([0x01, 0x00, 0x01])
|
||||
};
|
||||
|
||||
function generateKey(usages) {
|
||||
return crypto.subtle.generateKey(alg, false, usages);
|
||||
}
|
||||
|
||||
generateKey(["encrypt", "decrypt"]).then(function () {
|
||||
return generateKey(["encrypt"]);
|
||||
}).then(function () {
|
||||
return generateKey(["decrypt"]);
|
||||
}).then(function () {
|
||||
return generateKey(["sign"])
|
||||
}, error(that)).then(error(that), complete(that));
|
||||
}
|
||||
);
|
||||
/*]]>*/</script>
|
||||
</head>
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче