зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1022343 - Use the hash function's block size as the default length when generating keys r=rbarnes
This commit is contained in:
Родитель
ade22f2f72
Коммит
638c326719
|
@ -1169,11 +1169,17 @@ public:
|
||||||
} else {
|
} else {
|
||||||
KeyAlgorithm hashAlg(global, hashName);
|
KeyAlgorithm hashAlg(global, hashName);
|
||||||
switch (hashAlg.Mechanism()) {
|
switch (hashAlg.Mechanism()) {
|
||||||
case CKM_SHA_1: mLength = 128; break;
|
case CKM_SHA_1:
|
||||||
case CKM_SHA256: mLength = 256; break;
|
case CKM_SHA256:
|
||||||
case CKM_SHA384: mLength = 384; break;
|
mLength = 512;
|
||||||
case CKM_SHA512: mLength = 512; break;
|
break;
|
||||||
default: mLength = 0; break;
|
case CKM_SHA384:
|
||||||
|
case CKM_SHA512:
|
||||||
|
mLength = 1024;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
mLength = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -332,7 +332,22 @@ TestArray.addTest(
|
||||||
var alg = { name: "HMAC", hash: {name: "SHA-256"} };
|
var alg = { name: "HMAC", hash: {name: "SHA-256"} };
|
||||||
crypto.subtle.generateKey(alg, true, ["sign", "verify"]).then(
|
crypto.subtle.generateKey(alg, true, ["sign", "verify"]).then(
|
||||||
complete(that, function(x) {
|
complete(that, function(x) {
|
||||||
return hasKeyFields(x) && x.algorithm.length == 256;
|
return hasKeyFields(x) && x.algorithm.length == 512;
|
||||||
|
}),
|
||||||
|
error(that)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
// -----------------------------------------------------------------------------
|
||||||
|
TestArray.addTest(
|
||||||
|
"Generate a 256-bit HMAC-SHA-512 key without specifying a key length",
|
||||||
|
function() {
|
||||||
|
var that = this;
|
||||||
|
var alg = { name: "HMAC", hash: {name: "SHA-512"} };
|
||||||
|
crypto.subtle.generateKey(alg, true, ["sign", "verify"]).then(
|
||||||
|
complete(that, function(x) {
|
||||||
|
return hasKeyFields(x) && x.algorithm.length == 1024;
|
||||||
}),
|
}),
|
||||||
error(that)
|
error(that)
|
||||||
);
|
);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче