簡體   English   中英

如何將nodejs ecdh公鑰編碼為pem

[英]How to Encode nodejs ecdh public key as pem

無法使用 nodejs 加密對文件進行簽名

我正在嘗試使用方法 verify.verify() 和 ECDH 公鑰驗證在此線程中創建的簽名文檔。 因此,我想,我必須將原始公鑰格式化為有效的 PEM。

我將如何使用 ans1.js 和 bn.js 模塊做到這一點?

這是web-push庫的工作方式:

const asn1 = require('asn1.js');

const ECPrivateKeyASN = asn1.define('ECPrivateKey', function() {
  this.seq().obj(
    this.key('version').int(),
    this.key('privateKey').octstr(),
    this.key('parameters').explicit(0).objid()
      .optional(),
    this.key('publicKey').explicit(1).bitstr()
      .optional()
  );
});

function toPEM(key) {
  return ECPrivateKeyASN.encode({
    version: 1,
    privateKey: key,
    parameters: [1, 2, 840, 10045, 3, 1, 7] // prime256v1
  }, 'pem', {
    label: 'EC PRIVATE KEY'
  });
}

暫無
暫無

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

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