Skip to content

Instantly share code, notes, and snippets.

@rcombs
Created June 6, 2015 22:45
Show Gist options
  • Save rcombs/d0ae0f871e3d81ca6994 to your computer and use it in GitHub Desktop.
Save rcombs/d0ae0f871e3d81ca6994 to your computer and use it in GitHub Desktop.
#! /usr/bin/env node
var forge = require('node-forge'),
crypto = require('crypto'),
fs = require('fs');
var file = fs.readFileSync(process.argv[2], { encoding: 'base64' });
var hash = crypto.createHash('sha512');
hash.update('plex');
hash.update(process.argv[3])
var pass = hash.digest('hex');
var p12Der = forge.util.decode64(file);
var p12Asn1 = forge.asn1.fromDer(p12Der);
var p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, pass);
process.stdout.write(forge.pki.privateKeyToPem(p12.safeContents[1].safeBags[0].key));
process.stdout.write(forge.pki.certificateToPem(p12.safeContents[0].safeBags[0].cert));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment