c# 使用 ecdh prime256v1 生成密钥对
c# generate key pair using ecdh prime256v1
我正在使用 ecdh
制作 private/public 密钥
var ecdh = new ECDiffieHellmanCng(CngKey.Create(CngAlgorithm.ECDiffieHellmanP256, null, new CngKeyCreationParameters { ExportPolicy = CngExportPolicies.AllowPlaintextExport }));
var privateKey = ecdh.Key.Export(CngKeyBlobFormat.EccPrivateBlob);
var publickey = ecdh.Key.Export(CngKeyBlobFormat.EccPublicBlob);
这段代码工作正常,但我想使用算法 prime256v1
而 CngAlgorithm
没有这样的选项。
我该怎么做?
根据文档,CngAlgorithm.ECDiffieHellmanP256 指定 P-256 曲线:
An object that specifies an ECDH algorithm that uses the P-256 curve.
crypto.stackexchange.com 中的 answer 解释了这些名称的不同来源以及 NIST 符号中的 P-256 对应于 "ANSI X9.62 : Public Key Cryptography For The Financial Services Industry" 中的 prime256v1
。
我正在使用 ecdh
制作 private/public 密钥var ecdh = new ECDiffieHellmanCng(CngKey.Create(CngAlgorithm.ECDiffieHellmanP256, null, new CngKeyCreationParameters { ExportPolicy = CngExportPolicies.AllowPlaintextExport }));
var privateKey = ecdh.Key.Export(CngKeyBlobFormat.EccPrivateBlob);
var publickey = ecdh.Key.Export(CngKeyBlobFormat.EccPublicBlob);
这段代码工作正常,但我想使用算法 prime256v1
而 CngAlgorithm
没有这样的选项。
我该怎么做?
根据文档,CngAlgorithm.ECDiffieHellmanP256 指定 P-256 曲线:
An object that specifies an ECDH algorithm that uses the P-256 curve.
crypto.stackexchange.com 中的 answer 解释了这些名称的不同来源以及 NIST 符号中的 P-256 对应于 "ANSI X9.62 : Public Key Cryptography For The Financial Services Industry" 中的 prime256v1
。