1

ECDH 鍵ペアを生成し、そこから公開鍵を取得しました。nodejs と crypto ライブラリを使用します。

const ecdh = crypto.createECDH('secp384r1');
ecdh.generateKeys();
const publicKey = ecdh.getPublicKey('hex'); 

この公開鍵、ECDH アルゴリズム、および WebCrypto のSubtleCryptoインターフェイスを使用してデータを暗号化するクライアント側ライブラリを実装しています。

これを達成するには、公開鍵 (nodejs 暗号で生成された) をインポートする必要があります。jwk他のものよりも使用されていることに気付きました。

の例jwk

{  
  kty: "EC",
  crv: "P-256",
  x: "kgR_PqO07L8sZOBbw6rvv7O_f7clqDeiE3WnMkb5EoI",
  y: "djI-XqCqSyO9GFk_QT_stROMCAROIvU8KOORBgQUemE",
  d: "5aPFSt0UFVXYGu-ZKyC9FQIUOAMmnjzdIwkxCMe3Iok",
  ext: true,
}

では、公開鍵をjwkオブジェクトに解析するにはどうすればよいですか。私の公開鍵は次のようになります。 04f8b2a6e9d2ffa424c3e7b6addf23112153920fd0209390da460f99e03bf8665052e72df4a0b7927381f1b026c98a3a2b348fdd10969875e6b0e86cb1f093a5fc07e49fbbbf091922ce71af17f4a79de03f6069836a7143b137be34451f162235

4

2 に答える 2

1

直接的な答えはありませんが、ノードで webcrypto インターフェイスを提供するhttps://github.com/PeculiarVentures/node-webcrypto-osslを参照してください。直接使用したくない場合は、JWK 処理で質問に対する答えを見つけることができます。

于 2016-07-01T04:42:54.043 に答える