如何在.net框架中将ECDiffieHellmanPublicKey实例转换为DER文件? [英] How to convert ECDiffieHellmanPublicKey instance to DER file in .net framework?

查看:253
本文介绍了如何在.net框架中将ECDiffieHellmanPublicKey实例转换为DER文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码:

ECDiffieHellman ecdh = ECDiffieHellman.Create(ECCurve.NamedCurves.nistP256);
ECDiffieHellmanPublicKey ecdhPublic = ecdh.PublicKey;

如何将ECDiffieHellmanPublicKey实例(ecdhPublic)导出到DER编码文件中?

How can I export the ECDiffieHellmanPublicKey instance (ecdhPublic) into DER encoded file?

推荐答案

使用BouncyCastle( http://www.bouncycastle .org/),您可以将ECDH公钥导出到DER编码的ANS.1对象

Using BouncyCastle (http://www.bouncycastle.org/) you can export your ECDH public key to a DER encoded ANS.1 Object

X9ECParameters ecP = NistNamedCurves.GetByName("P-256");
ECDomainParameters ecSpec = new ECDomainParameters(ecP.Curve, ecP.G, ecP.N, ecP.H, ecP.GetSeed());
ECKeyPairGenerator g = new ECKeyPairGenerator();
g.Init(new ECKeyGenerationParameters(ecSpec, new SecureRandom()));

AsymmetricCipherKeyPair server = g.GenerateKeyPair();
ECPublicKeyParameters serverPub = (ECPublicKeyParameters)server.Public;
var result = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(serverPub).GetDerEncoded();

这篇关于如何在.net框架中将ECDiffieHellmanPublicKey实例转换为DER文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆