{"ast":null,"code":"// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m;\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m;\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m;\n\nvar evp = require('evp_bytestokey');\n\nvar ciphers = require('browserify-aes');\n\nvar Buffer = require('safe-buffer').Buffer;\n\nmodule.exports = function (okey, password) {\n var key = okey.toString();\n var match = key.match(findProc);\n var decrypted;\n\n if (!match) {\n var match2 = key.match(fullRegex);\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64');\n } else {\n var suite = 'aes' + match[1];\n var iv = Buffer.from(match[2], 'hex');\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64');\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key;\n var out = [];\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv);\n out.push(cipher.update(cipherText));\n out.push(cipher.final());\n decrypted = Buffer.concat(out);\n }\n\n var tag = key.match(startRegex)[1];\n return {\n tag: tag,\n data: decrypted\n };\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/parse-asn1/fixProc.js"],"names":["findProc","startRegex","fullRegex","evp","require","ciphers","Buffer","module","exports","okey","password","key","toString","match","decrypted","match2","from","replace","suite","iv","cipherText","cipherKey","slice","parseInt","out","cipher","createDecipheriv","push","update","final","concat","tag","data"],"mappings":"AAAA;AACA,IAAIA,QAAQ,GAAG,uHAAf;AACA,IAAIC,UAAU,GAAG,6CAAjB;AACA,IAAIC,SAAS,GAAG,gFAAhB;;AACA,IAAIC,GAAG,GAAGC,OAAO,CAAC,gBAAD,CAAjB;;AACA,IAAIC,OAAO,GAAGD,OAAO,CAAC,gBAAD,CAArB;;AACA,IAAIE,MAAM,GAAGF,OAAO,CAAC,aAAD,CAAP,CAAuBE,MAApC;;AACAC,MAAM,CAACC,OAAP,GAAiB,UAAUC,IAAV,EAAgBC,QAAhB,EAA0B;AACzC,MAAIC,GAAG,GAAGF,IAAI,CAACG,QAAL,EAAV;AACA,MAAIC,KAAK,GAAGF,GAAG,CAACE,KAAJ,CAAUb,QAAV,CAAZ;AACA,MAAIc,SAAJ;;AACA,MAAI,CAACD,KAAL,EAAY;AACV,QAAIE,MAAM,GAAGJ,GAAG,CAACE,KAAJ,CAAUX,SAAV,CAAb;AACAY,IAAAA,SAAS,GAAGR,MAAM,CAACU,IAAP,CAAYD,MAAM,CAAC,CAAD,CAAN,CAAUE,OAAV,CAAkB,SAAlB,EAA6B,EAA7B,CAAZ,EAA8C,QAA9C,CAAZ;AACD,GAHD,MAGO;AACL,QAAIC,KAAK,GAAG,QAAQL,KAAK,CAAC,CAAD,CAAzB;AACA,QAAIM,EAAE,GAAGb,MAAM,CAACU,IAAP,CAAYH,KAAK,CAAC,CAAD,CAAjB,EAAsB,KAAtB,CAAT;AACA,QAAIO,UAAU,GAAGd,MAAM,CAACU,IAAP,CAAYH,KAAK,CAAC,CAAD,CAAL,CAASI,OAAT,CAAiB,SAAjB,EAA4B,EAA5B,CAAZ,EAA6C,QAA7C,CAAjB;AACA,QAAII,SAAS,GAAGlB,GAAG,CAACO,QAAD,EAAWS,EAAE,CAACG,KAAH,CAAS,CAAT,EAAY,CAAZ,CAAX,EAA2BC,QAAQ,CAACV,KAAK,CAAC,CAAD,CAAN,EAAW,EAAX,CAAnC,CAAH,CAAsDF,GAAtE;AACA,QAAIa,GAAG,GAAG,EAAV;AACA,QAAIC,MAAM,GAAGpB,OAAO,CAACqB,gBAAR,CAAyBR,KAAzB,EAAgCG,SAAhC,EAA2CF,EAA3C,CAAb;AACAK,IAAAA,GAAG,CAACG,IAAJ,CAASF,MAAM,CAACG,MAAP,CAAcR,UAAd,CAAT;AACAI,IAAAA,GAAG,CAACG,IAAJ,CAASF,MAAM,CAACI,KAAP,EAAT;AACAf,IAAAA,SAAS,GAAGR,MAAM,CAACwB,MAAP,CAAcN,GAAd,CAAZ;AACD;;AACD,MAAIO,GAAG,GAAGpB,GAAG,CAACE,KAAJ,CAAUZ,UAAV,EAAsB,CAAtB,CAAV;AACA,SAAO;AACL8B,IAAAA,GAAG,EAAEA,GADA;AAELC,IAAAA,IAAI,EAAElB;AAFD,GAAP;AAID,CAvBD","sourcesContent":["// adapted from https://github.com/apatil/pemstrip\nvar findProc = /Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r+/=]+)[\\n\\r]+/m\nvar startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m\nvar fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r+/=]+)-----END \\1-----$/m\nvar evp = require('evp_bytestokey')\nvar ciphers = require('browserify-aes')\nvar Buffer = require('safe-buffer').Buffer\nmodule.exports = function (okey, password) {\n var key = okey.toString()\n var match = key.match(findProc)\n var decrypted\n if (!match) {\n var match2 = key.match(fullRegex)\n decrypted = Buffer.from(match2[2].replace(/[\\r\\n]/g, ''), 'base64')\n } else {\n var suite = 'aes' + match[1]\n var iv = Buffer.from(match[2], 'hex')\n var cipherText = Buffer.from(match[3].replace(/[\\r\\n]/g, ''), 'base64')\n var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key\n var out = []\n var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)\n out.push(cipher.update(cipherText))\n out.push(cipher.final())\n decrypted = Buffer.concat(out)\n }\n var tag = key.match(startRegex)[1]\n return {\n tag: tag,\n data: decrypted\n }\n}\n"]},"metadata":{},"sourceType":"script"}