Created
June 1, 2018 22:48
-
-
Save bwindels/8a7182ec12d6ede2e86c2495a3e6b4c2 to your computer and use it in GitHub Desktop.
Extract root certs from mozilla csv file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //get file from https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReportPEMCSV | |
| const parse = require('csv-parse'); | |
| const fs = require('fs'); | |
| let data = fs.readFileSync(process.argv[2], {encoding: 'utf8'}); | |
| parse(data, {}, (err, lines) => { | |
| lines.forEach(line => { | |
| let name = line[0]; | |
| name = name.substr(0, 15); | |
| let pem = line[28]; | |
| pem = pem.substr(1, pem.length - 2); | |
| let certid = line[6]; | |
| let id_bytes = certid.split(':').map(c => parseInt(c, 16)); | |
| let base64_id = new Buffer(id_bytes).toString('base64'); | |
| let filename = `${name}-${base64_id}.pem`; | |
| filename = filename.replace(new RegExp('\\\\', 'g'),'-'); | |
| filename = filename.replace(new RegExp('/', 'g'),'-'); | |
| filename = filename.replace(new RegExp(' ', 'g'),'_'); | |
| console.log(filename); | |
| fs.writeFileSync(filename, pem); | |
| }) | |
| }); | |
| //for file in ./*.pem; do openssl x509 -outform der -in $file -out ${file%.pem}.der; done; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment