首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECDSA密钥存储

ECDSA密钥存储
EN

Stack Overflow用户
提问于 2016-09-28 21:55:20
回答 1查看 621关注 0票数 1

我在.NET中实现了ECDSA密钥和证书,我需要存储这些密钥,以便可以在新的签名中重用它们。在RSA中,我使用的是RSACryptoServiceProvider类,但在ECDsa和ECDsaCng类中,我没有看到任何类似的东西。

我只见过DSACryptoServiceProvider和一个旧的ECDsaCryptoServiceProvider到Framework4.3(有点旧)。

有人知道用RSA存储ECDSA密钥的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 13:36:30

假设您想要将密钥持久化到OS密钥存储中(使用命名密钥的RSACryptoServiceProvider),那么与CNG的接口略有不同:

代码语言:javascript
复制
private static ECDsa CreateOrOpenECDsaKey(string keyName)
{
    CngKey key;

    if (CngKey.Exists(keyName))
    {
        key = CngKey.Open(keyName);
    }
    else
    {
        // You can also specify options here, like if it should be exportable, in a
        // different overload.
        key = CngKey.Create(CngAlgorithm.ECDsaP521, keyName);
    }

    // The ECDsaCng constructor will duplicate the key reference, so we can close this one.
    using (key)
    {
        return new ECDsaCng(key);
    }
}

如果您想要像RSAParameters一样进行导出/导入,那么.NET核心中已经提供了该功能,但.NET框架中尚未提供该功能。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39749637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档