{"ast":null,"code":"var bufferEqual = require('buffer-equal-constant-time');\nvar Buffer = require('safe-buffer').Buffer;\nvar crypto = require('crypto');\nvar formatEcdsa = require('ecdsa-sig-formatter');\nvar util = require('util');\nvar MSG_INVALID_ALGORITHM = '\"%s\" is not a valid algorithm.\\n  Supported algorithms are:\\n  \"HS256\", \"HS384\", \"HS512\", \"RS256\", \"RS384\", \"RS512\", \"PS256\", \"PS384\", \"PS512\", \"ES256\", \"ES384\", \"ES512\" and \"none\".';\nvar MSG_INVALID_SECRET = 'secret must be a string or buffer';\nvar MSG_INVALID_VERIFIER_KEY = 'key must be a string or a buffer';\nvar MSG_INVALID_SIGNER_KEY = 'key must be a string, a buffer or an object';\nvar supportsKeyObjects = typeof crypto.createPublicKey === 'function';\nif (supportsKeyObjects) {\n  MSG_INVALID_VERIFIER_KEY += ' or a KeyObject';\n  MSG_INVALID_SECRET += 'or a KeyObject';\n}\nfunction checkIsPublicKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n  if (typeof key === 'string') {\n    return;\n  }\n  if (!supportsKeyObjects) {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n  if (typeof key !== 'object') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n  if (typeof key.type !== 'string') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n  if (typeof key.asymmetricKeyType !== 'string') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n  if (typeof key.export !== 'function') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n}\n;\nfunction checkIsPrivateKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n  if (typeof key === 'string') {\n    return;\n  }\n  if (typeof key === 'object') {\n    return;\n  }\n  throw typeError(MSG_INVALID_SIGNER_KEY);\n}\n;\nfunction checkIsSecretKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n  if (typeof key === 'string') {\n    return key;\n  }\n  if (!supportsKeyObjects) {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n  if (typeof key !== 'object') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n  if (key.type !== 'secret') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n  if (typeof key.export !== 'function') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n}\nfunction fromBase64(base64) {\n  return base64.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nfunction toBase64(base64url) {\n  base64url = base64url.toString();\n  var padding = 4 - base64url.length % 4;\n  if (padding !== 4) {\n    for (var i = 0; i < padding; ++i) {\n      base64url += '=';\n    }\n  }\n  return base64url.replace(/\\-/g, '+').replace(/_/g, '/');\n}\nfunction typeError(template) {\n  var args = [].slice.call(arguments, 1);\n  var errMsg = util.format.bind(util, template).apply(null, args);\n  return new TypeError(errMsg);\n}\nfunction bufferOrString(obj) {\n  return Buffer.isBuffer(obj) || typeof obj === 'string';\n}\nfunction normalizeInput(thing) {\n  if (!bufferOrString(thing)) thing = JSON.stringify(thing);\n  return thing;\n}\nfunction createHmacSigner(bits) {\n  return function sign(thing, secret) {\n    checkIsSecretKey(secret);\n    thing = normalizeInput(thing);\n    var hmac = crypto.createHmac('sha' + bits, secret);\n    var sig = (hmac.update(thing), hmac.digest('base64'));\n    return fromBase64(sig);\n  };\n}\nfunction createHmacVerifier(bits) {\n  return function verify(thing, signature, secret) {\n    var computedSig = createHmacSigner(bits)(thing, secret);\n    return bufferEqual(Buffer.from(signature), Buffer.from(computedSig));\n  };\n}\nfunction createKeySigner(bits) {\n  return function sign(thing, privateKey) {\n    checkIsPrivateKey(privateKey);\n    thing = normalizeInput(thing);\n    // Even though we are specifying \"RSA\" here, this works with ECDSA\n    // keys as well.\n    var signer = crypto.createSign('RSA-SHA' + bits);\n    var sig = (signer.update(thing), signer.sign(privateKey, 'base64'));\n    return fromBase64(sig);\n  };\n}\nfunction createKeyVerifier(bits) {\n  return function verify(thing, signature, publicKey) {\n    checkIsPublicKey(publicKey);\n    thing = normalizeInput(thing);\n    signature = toBase64(signature);\n    var verifier = crypto.createVerify('RSA-SHA' + bits);\n    verifier.update(thing);\n    return verifier.verify(publicKey, signature, 'base64');\n  };\n}\nfunction createPSSKeySigner(bits) {\n  return function sign(thing, privateKey) {\n    checkIsPrivateKey(privateKey);\n    thing = normalizeInput(thing);\n    var signer = crypto.createSign('RSA-SHA' + bits);\n    var sig = (signer.update(thing), signer.sign({\n      key: privateKey,\n      padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n      saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n    }, 'base64'));\n    return fromBase64(sig);\n  };\n}\nfunction createPSSKeyVerifier(bits) {\n  return function verify(thing, signature, publicKey) {\n    checkIsPublicKey(publicKey);\n    thing = normalizeInput(thing);\n    signature = toBase64(signature);\n    var verifier = crypto.createVerify('RSA-SHA' + bits);\n    verifier.update(thing);\n    return verifier.verify({\n      key: publicKey,\n      padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n      saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n    }, signature, 'base64');\n  };\n}\nfunction createECDSASigner(bits) {\n  var inner = createKeySigner(bits);\n  return function sign() {\n    var signature = inner.apply(null, arguments);\n    signature = formatEcdsa.derToJose(signature, 'ES' + bits);\n    return signature;\n  };\n}\nfunction createECDSAVerifer(bits) {\n  var inner = createKeyVerifier(bits);\n  return function verify(thing, signature, publicKey) {\n    signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');\n    var result = inner(thing, signature, publicKey);\n    return result;\n  };\n}\nfunction createNoneSigner() {\n  return function sign() {\n    return '';\n  };\n}\nfunction createNoneVerifier() {\n  return function verify(thing, signature) {\n    return signature === '';\n  };\n}\nmodule.exports = function jwa(algorithm) {\n  var signerFactories = {\n    hs: createHmacSigner,\n    rs: createKeySigner,\n    ps: createPSSKeySigner,\n    es: createECDSASigner,\n    none: createNoneSigner\n  };\n  var verifierFactories = {\n    hs: createHmacVerifier,\n    rs: createKeyVerifier,\n    ps: createPSSKeyVerifier,\n    es: createECDSAVerifer,\n    none: createNoneVerifier\n  };\n  var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);\n  if (!match) throw typeError(MSG_INVALID_ALGORITHM, algorithm);\n  var algo = (match[1] || match[3]).toLowerCase();\n  var bits = match[2];\n  return {\n    sign: signerFactories[algo](bits),\n    verify: verifierFactories[algo](bits)\n  };\n};","map":{"version":3,"names":["bufferEqual","require","Buffer","crypto","formatEcdsa","util","MSG_INVALID_ALGORITHM","MSG_INVALID_SECRET","MSG_INVALID_VERIFIER_KEY","MSG_INVALID_SIGNER_KEY","supportsKeyObjects","createPublicKey","checkIsPublicKey","key","isBuffer","typeError","type","asymmetricKeyType","export","checkIsPrivateKey","checkIsSecretKey","fromBase64","base64","replace","toBase64","base64url","toString","padding","length","i","template","args","slice","call","arguments","errMsg","format","bind","apply","TypeError","bufferOrString","obj","normalizeInput","thing","JSON","stringify","createHmacSigner","bits","sign","secret","hmac","createHmac","sig","update","digest","createHmacVerifier","verify","signature","computedSig","from","createKeySigner","privateKey","signer","createSign","createKeyVerifier","publicKey","verifier","createVerify","createPSSKeySigner","constants","RSA_PKCS1_PSS_PADDING","saltLength","RSA_PSS_SALTLEN_DIGEST","createPSSKeyVerifier","createECDSASigner","inner","derToJose","createECDSAVerifer","joseToDer","result","createNoneSigner","createNoneVerifier","module","exports","jwa","algorithm","signerFactories","hs","rs","ps","es","none","verifierFactories","match","algo","toLowerCase"],"sources":["C:/Users/user/Desktop/05mediaSocial/node_modules/jwa/index.js"],"sourcesContent":["var bufferEqual = require('buffer-equal-constant-time');\nvar Buffer = require('safe-buffer').Buffer;\nvar crypto = require('crypto');\nvar formatEcdsa = require('ecdsa-sig-formatter');\nvar util = require('util');\n\nvar MSG_INVALID_ALGORITHM = '\"%s\" is not a valid algorithm.\\n  Supported algorithms are:\\n  \"HS256\", \"HS384\", \"HS512\", \"RS256\", \"RS384\", \"RS512\", \"PS256\", \"PS384\", \"PS512\", \"ES256\", \"ES384\", \"ES512\" and \"none\".'\nvar MSG_INVALID_SECRET = 'secret must be a string or buffer';\nvar MSG_INVALID_VERIFIER_KEY = 'key must be a string or a buffer';\nvar MSG_INVALID_SIGNER_KEY = 'key must be a string, a buffer or an object';\n\nvar supportsKeyObjects = typeof crypto.createPublicKey === 'function';\nif (supportsKeyObjects) {\n  MSG_INVALID_VERIFIER_KEY += ' or a KeyObject';\n  MSG_INVALID_SECRET += 'or a KeyObject';\n}\n\nfunction checkIsPublicKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n\n  if (typeof key === 'string') {\n    return;\n  }\n\n  if (!supportsKeyObjects) {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n\n  if (typeof key !== 'object') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n\n  if (typeof key.type !== 'string') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n\n  if (typeof key.asymmetricKeyType !== 'string') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n\n  if (typeof key.export !== 'function') {\n    throw typeError(MSG_INVALID_VERIFIER_KEY);\n  }\n};\n\nfunction checkIsPrivateKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n\n  if (typeof key === 'string') {\n    return;\n  }\n\n  if (typeof key === 'object') {\n    return;\n  }\n\n  throw typeError(MSG_INVALID_SIGNER_KEY);\n};\n\nfunction checkIsSecretKey(key) {\n  if (Buffer.isBuffer(key)) {\n    return;\n  }\n\n  if (typeof key === 'string') {\n    return key;\n  }\n\n  if (!supportsKeyObjects) {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n\n  if (typeof key !== 'object') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n\n  if (key.type !== 'secret') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n\n  if (typeof key.export !== 'function') {\n    throw typeError(MSG_INVALID_SECRET);\n  }\n}\n\nfunction fromBase64(base64) {\n  return base64\n    .replace(/=/g, '')\n    .replace(/\\+/g, '-')\n    .replace(/\\//g, '_');\n}\n\nfunction toBase64(base64url) {\n  base64url = base64url.toString();\n\n  var padding = 4 - base64url.length % 4;\n  if (padding !== 4) {\n    for (var i = 0; i < padding; ++i) {\n      base64url += '=';\n    }\n  }\n\n  return base64url\n    .replace(/\\-/g, '+')\n    .replace(/_/g, '/');\n}\n\nfunction typeError(template) {\n  var args = [].slice.call(arguments, 1);\n  var errMsg = util.format.bind(util, template).apply(null, args);\n  return new TypeError(errMsg);\n}\n\nfunction bufferOrString(obj) {\n  return Buffer.isBuffer(obj) || typeof obj === 'string';\n}\n\nfunction normalizeInput(thing) {\n  if (!bufferOrString(thing))\n    thing = JSON.stringify(thing);\n  return thing;\n}\n\nfunction createHmacSigner(bits) {\n  return function sign(thing, secret) {\n    checkIsSecretKey(secret);\n    thing = normalizeInput(thing);\n    var hmac = crypto.createHmac('sha' + bits, secret);\n    var sig = (hmac.update(thing), hmac.digest('base64'))\n    return fromBase64(sig);\n  }\n}\n\nfunction createHmacVerifier(bits) {\n  return function verify(thing, signature, secret) {\n    var computedSig = createHmacSigner(bits)(thing, secret);\n    return bufferEqual(Buffer.from(signature), Buffer.from(computedSig));\n  }\n}\n\nfunction createKeySigner(bits) {\n return function sign(thing, privateKey) {\n    checkIsPrivateKey(privateKey);\n    thing = normalizeInput(thing);\n    // Even though we are specifying \"RSA\" here, this works with ECDSA\n    // keys as well.\n    var signer = crypto.createSign('RSA-SHA' + bits);\n    var sig = (signer.update(thing), signer.sign(privateKey, 'base64'));\n    return fromBase64(sig);\n  }\n}\n\nfunction createKeyVerifier(bits) {\n  return function verify(thing, signature, publicKey) {\n    checkIsPublicKey(publicKey);\n    thing = normalizeInput(thing);\n    signature = toBase64(signature);\n    var verifier = crypto.createVerify('RSA-SHA' + bits);\n    verifier.update(thing);\n    return verifier.verify(publicKey, signature, 'base64');\n  }\n}\n\nfunction createPSSKeySigner(bits) {\n  return function sign(thing, privateKey) {\n    checkIsPrivateKey(privateKey);\n    thing = normalizeInput(thing);\n    var signer = crypto.createSign('RSA-SHA' + bits);\n    var sig = (signer.update(thing), signer.sign({\n      key: privateKey,\n      padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n      saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n    }, 'base64'));\n    return fromBase64(sig);\n  }\n}\n\nfunction createPSSKeyVerifier(bits) {\n  return function verify(thing, signature, publicKey) {\n    checkIsPublicKey(publicKey);\n    thing = normalizeInput(thing);\n    signature = toBase64(signature);\n    var verifier = crypto.createVerify('RSA-SHA' + bits);\n    verifier.update(thing);\n    return verifier.verify({\n      key: publicKey,\n      padding: crypto.constants.RSA_PKCS1_PSS_PADDING,\n      saltLength: crypto.constants.RSA_PSS_SALTLEN_DIGEST\n    }, signature, 'base64');\n  }\n}\n\nfunction createECDSASigner(bits) {\n  var inner = createKeySigner(bits);\n  return function sign() {\n    var signature = inner.apply(null, arguments);\n    signature = formatEcdsa.derToJose(signature, 'ES' + bits);\n    return signature;\n  };\n}\n\nfunction createECDSAVerifer(bits) {\n  var inner = createKeyVerifier(bits);\n  return function verify(thing, signature, publicKey) {\n    signature = formatEcdsa.joseToDer(signature, 'ES' + bits).toString('base64');\n    var result = inner(thing, signature, publicKey);\n    return result;\n  };\n}\n\nfunction createNoneSigner() {\n  return function sign() {\n    return '';\n  }\n}\n\nfunction createNoneVerifier() {\n  return function verify(thing, signature) {\n    return signature === '';\n  }\n}\n\nmodule.exports = function jwa(algorithm) {\n  var signerFactories = {\n    hs: createHmacSigner,\n    rs: createKeySigner,\n    ps: createPSSKeySigner,\n    es: createECDSASigner,\n    none: createNoneSigner,\n  }\n  var verifierFactories = {\n    hs: createHmacVerifier,\n    rs: createKeyVerifier,\n    ps: createPSSKeyVerifier,\n    es: createECDSAVerifer,\n    none: createNoneVerifier,\n  }\n  var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);\n  if (!match)\n    throw typeError(MSG_INVALID_ALGORITHM, algorithm);\n  var algo = (match[1] || match[3]).toLowerCase();\n  var bits = match[2];\n\n  return {\n    sign: signerFactories[algo](bits),\n    verify: verifierFactories[algo](bits),\n  }\n};\n"],"mappings":"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"},"metadata":{},"sourceType":"script","externalDependencies":[]}