false, [ "sign" ]);
let sig = await crypto.subtle.sign(params.sign_alg, sign_key,
- encoder.encode(params.text));
+ encoder.encode(params.text))
+ .catch (e => {
+ if (e.toString().startsWith("Error: EVP_PKEY_CTX_set_signature_md() failed")) {
+ /* Red Hat Enterprise Linux: SHA-1 is disabled */
+ return "SKIPPED";
+ }
+ });
+
+ if (sig == "SKIPPED") {
+ return sig;
+ }
if (params.verify) {
let verify_key = await crypto.subtle.importKey(params.verify_key.fmt,
let r = await crypto.subtle.verify(params.verify_alg,
key, params.signature,
- params.text);
+ params.text)
+ .catch (e => {
+ if (e.toString().startsWith("Error: EVP_PKEY_CTX_set_signature_md() failed")) {
+ /* Red Hat Enterprise Linux: SHA-1 is disabled */
+ return "SKIPPED";
+ }
+ });
+
+ if (r == "SKIPPED") {
+ return r;
+ }
if (params.expected !== r) {
throw Error(`${params.import_alg.name} failed expected: "${params.expected}" vs "${r}"`);