Forge JS Library - 如何定义RSA publicKey?

时间:2017-01-24 14:38:10

标签: javascript cryptography rsa

我正在使用Forge Github Library来处理加密。

我有一个客户端,其服务器(具有相同库的node.js)套接字通信(socket.io)。在客户端,我使用forge生成RSA公钥/私钥,并将publicKey发送到服务器。但是当我在服务器中收到密钥时,我在对象中没有收到encrypt方法。 这是我收到的对象:Object {n: BigInteger, e: BigInteger}。那么如何使用此信息创建一个RSA公钥来加密消息呢?

1 个答案:

答案 0 :(得分:3)

您需要将公钥对象转换为可导出格式,例如PEM,它是二进制编码为base64。将PEM内容发送到服务器并重新创建公钥

 // convert a Forge public key to PEM-format
var pem = pki.publicKeyToPem(publicKey);

// convert a PEM-formatted public key to a Forge public key
var publicKey = pki.publicKeyFromPem(pem);

也可以从模数和指数(n,e)构建公钥,但我不知道伪造是否允许它