Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'ecdsa-sig-formatter' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
// make sure the required parameters are provided
if (!(signingInputHash && rawPrivateKey)) {
throw new MissingParametersError(
'a signing input hash and private key are all required')
}
// prepare the private key
const privateKeyObject = SECP256K1Client.loadPrivateKey(rawPrivateKey)
// calculate the signature
const signatureObject = privateKeyObject.sign(signingInputHash)
const derSignature = Buffer.from(signatureObject.toDER())
if (format === 'der') {
return derSignature.toString('hex')
} else if (format === 'jose') {
// return the JOSE-formatted signature
return derToJose(derSignature, 'ES256')
} else {
throw Error('Invalid signature format')
}
}
static loadSignature(joseSignature: string | Buffer) {
// create and return the DER-formatted signature buffer
return joseToDer(joseSignature, 'ES256')
}
var signature;
var cryptoAlgName = enums.algCryptoMap[algorithm];
var signingType = enums.algTypeMap[algorithm];
if (!cryptoAlgName) {
throw new errors.UnsupportedSigningAlgorithmJwtError();
}
if (signingType === 'hmac') {
buffer = crypto.createHmac(cryptoAlgName, cryptoInput).update(payload).digest();
} else {
buffer = crypto.createSign(cryptoAlgName).update(payload).sign(cryptoInput);
}
if (helpers.isECDSA(algorithm)) {
signature = ecdsaSigFormatter.derToJose(buffer, algorithm);
} else {
signature = helpers.base64urlEncode(buffer);
}
return signature;
};
return function sign() {
var signature = inner.apply(null, arguments);
signature = formatEcdsa.derToJose(signature, 'ES' + bits);
return signature;
};
}
return function sign() {
var signature = inner.apply(null, arguments);
signature = formatEcdsa.derToJose(signature, 'ES' + bits);
return signature;
};
}
return function verify(thing, signature, publicKey) {
signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');
var result = inner(thing, signature, publicKey);
return result;
};
}
return function verify(thing, signature, publicKey) {
signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');
var result = inner(thing, signature, publicKey);
return result;
};
}
var verified, digest;
if (cryptoAlgName === 'none') {
verified = true;
} else if (signingType === 'hmac') {
digest = crypto.createHmac(cryptoAlgName, this.signingKey)
.update(digstInput)
.digest('base64');
verified = signature === digest;
} else {
var unescapedSignature;
var signatureType = undefined;
if (helpers.isECDSA(header.alg)) {
try {
unescapedSignature = ecdsaSigFormatter.joseToDer(signature, header.alg);
} catch (err) {
return done(new errors.SignatureMismatchJwtParseError(jwtString, header, body, err));
}
} else {
signatureType = 'base64';
unescapedSignature = helpers.base64urlUnescape(signature);
}
verified = crypto.createVerify(cryptoAlgName)
.update(digstInput)
.verify(this.signingKey, unescapedSignature, signatureType);
}
var newJwt = new Jwt(body, false);
newJwt.toString = function () {