使用证书对NodeJS上的数据进行加密/解密

时间:2019-12-06 20:15:38

标签: node.js encryption

我有要求-

  • 使用express / node.js进行客户端和服务器通信。服务器将是node.js,但客户端可能是,也可能不是。
  • 客户端将在发布消息中发送一些数据,这是一些机密数据,需要具有正确的加密/解密机制。
  • 客户端将使用证书进行加密,而服务器具有用于解密来自邮寄的数据的私钥。

我做完了-

  1. 已开发的客户端和服务器。
  2. 生成私钥并获得授权机构的证书。

现在-

  1. 我不确定客户端将如何加密数据。
  2. 服务器会提供说明。

请提出-

  1. 我看到了发生加解密的多个代码 使用cypher的密钥,但是使用证书还没看到任何东西。
  2. 有可能这样做还是我做正确的事?
  3. 我从Encrypting data with Public Key in node.js帖子中获得了信息,但是此帖子谈论的是不包含证书的公钥文件。如果我使用证书而不是密钥文件,会有什么区别?

例如代码应该是-

//Client Code

function encrypt(originalData, certificate) {
  let encryptedData = '';
  
  /* this function to encrypt data using provided
  certificate.
  */
  
  return encryptedData;
}

function sendMessage(data) {
  const certificate = /*read it from file System */;
  const dataToBeSend = encrypt(data, certificate);
  
  /*send the message to server using axios or
  whatever means */
  ...
}

//Server Code

// i have basic nodejs server using express which has
//handler for post 

function postHandler(req, res) {
  const privateKey = /*read it from file System */;
  const data = req.body;
  ??
  const decriptedData = ??
  ...
}

0 个答案:

没有答案