in lib/sigv4-auth-signature.js [184:205]
function computeSigV4SignatureCassandraRequest({
  region,
  nonce,
  date,
  accessKeyId,
  secretAccessKey,
  sessionToken
}) {
  let isoDate = date.toISOString();
  let credentialDateStamp = toCredentialDateStamp(date);
  let nonceHash = CryptoJS.SHA256(nonce);
  let signingScope = deriveSigningScope(credentialDateStamp, region);
  let cannoicalRequest = deriveCanonicalRequest(accessKeyId, signingScope, isoDate, nonceHash);
  let signingKey = deriveSigningKey(secretAccessKey, credentialDateStamp, region);
  let stringToSign = createStringToSign(cannoicalRequest, isoDate, signingScope);
  let signature = computeSignature(stringToSign, signingKey);
  return formSignedString(signature, accessKeyId, isoDate, sessionToken);
}