簡體   English   中英

僅使用 nodejs/javascript 從私鑰 pem 中提取公鑰

[英]Extract public key from private key pem using only nodejs/javascript

使用nodejsjavascript ,如何從私鑰 pem 中提取公鑰?

我手頭的私鑰是 PEM 格式的私鑰; 我想提取公鑰,以便將其分發給合作者。

我經常使用純 javascript node-forge模塊,但還沒有發現如何從私鑰中提取公鑰。

我也知道並且目前使用ursa模塊來完成此操作; 但我想要一個純 javascript純 nodejs解決方案(如果可用)。

現代答案 NodeJS v11.6.0(2018 年 12 月發布)

您不需要任何外部軟件包

https://nodejs.org/api/crypto.html

const crypto = require('crypto')
const fs = require('fs')

// assuming you have a private.key file that begins with '-----BEGIN RSA PRIVATE KEY-----...'
const privateKey = fs.readFileSync('./private.key')

const pubKeyObject = crypto.createPublicKey({
    key: privateKey,
    format: 'pem'
})

const publicKey = pubKeyObject.export({
    format: 'pem',
    type: 'spki'
})

// -----BEGIN PUBLIC KEY-----... 
console.log(publicKey)  

來自 node-forge文檔

pem = '-----PRIVATE KEY ----- [...]'
pki = require('node-forge').pki
privateKey = pki.privateKeyFromPem(pem)
publicKey  = pki.setRsaPublicKey(privateKey.n, privateKey.e)
console.log(pki.publicKeyToPem(publicKey))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM