From ed9d26fd1becb1d3099326cde85975847096731b Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 10 Mar 2017 20:49:50 -0500 Subject: [PATCH] serialize private key to pkcs8 format --- src/app/services/cryptoService.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/app/services/cryptoService.js b/src/app/services/cryptoService.js index 9aa60febf2..13831e4e80 100644 --- a/src/app/services/cryptoService.js +++ b/src/app/services/cryptoService.js @@ -183,14 +183,15 @@ angular return; } - var privateKey = forge.pki.privateKeyToAsn1(keypair.privateKey); - var privateKeyBytes = forge.asn1.toDer(privateKey).getBytes(); - var privateKeyEnc = _service.encrypt(privateKeyBytes, key, 'raw'); + var privateKeyAsn1 = forge.pki.privateKeyToAsn1(keypair.privateKey); + var privateKeyPkcs8 = forge.pki.wrapRsaPrivateKey(privateKeyAsn1); + var privateKeyBytes = forge.asn1.toDer(privateKeyPkcs8).getBytes(); + var privateKeyEncBytes = _service.encrypt(privateKeyBytes, key, 'raw'); - var publicKey = forge.pki.publicKeyToAsn1(keypair.publicKey); - var publicKeyBytes = forge.asn1.toDer(publicKey).getBytes(); + var publicKeyAsn1 = forge.pki.publicKeyToAsn1(keypair.publicKey); + var publicKeyBytes = forge.asn1.toDer(publicKeyAsn1).getBytes(); - callback(forge.util.encode64(publicKeyBytes), privateKeyEnc, null); + callback(forge.util.encode64(publicKeyBytes), privateKeyEncBytes, null); }); };