小编agi*_*hua的帖子

从BouncyCastle导出EC私钥并导入CngKey或ECDsaCng?

我使用BouncyCastle创建了椭圆曲线DSA签名的密钥对,并设法使用符合RFC4050的XMLString将公钥导入ECDsaCng.现在我想移动私钥,但没有设法找到解决方案.我最接近的是使用CngKey.Import.

CngKey.Import支持PKCS#8格式,因此如果您可以将密钥转换为有效的pkcs8,那么它应该可以工作.不幸的是,以下代码不太有效.

var privatekey = (ECPrivateKeyParameters) keyPair.Private;

var pkinfo = PrivateKeyInfoFactory.CreatePrivateKeyInfo(privatekey);

byte[] pkcs8Blob = pkinfo.GetDerEncoded(); 

var importedKey = CngKey.Import(pkcs8Blob, CngKeyBlobFormat.Pkcs8PrivateBlob);
Run Code Online (Sandbox Code Playgroud)

这引发了一个异常:

System.Security.Cryptography.CryptographicException:遇到ASN1错误标记值.

就我所知,GetDerEncoded应该返回一个有效的Pkcs8 blob.

如何在ECDsaCng对象中使用BouncyCastle创建的私钥?

.net cryptography bouncycastle elliptic-curve

2
推荐指数
1
解决办法
3948
查看次数

标签 统计

.net ×1

bouncycastle ×1

cryptography ×1

elliptic-curve ×1