返回顶部
首页 > 资讯 > 后端开发 > GO >如何在 GoLang 中分离编组的 ECDSA 公钥和私钥
  • 507
分享到

如何在 GoLang 中分离编组的 ECDSA 公钥和私钥

2024-04-05 00:04:38 507人浏览 薄情痞子
摘要

golang不知道大家是否熟悉?今天我将给大家介绍《如何在 GoLang 中分离编组的 ECDSA 公钥和私钥》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题

golang不知道大家是否熟悉?今天我将给大家介绍《如何在 GoLang 中分离编组的 ECDSA 公钥和私钥》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

到目前为止,我已经:

key, err := ecdsa.GenerateKey(elliptic.P521(), rand.Reader)
if err != nil {
    os.Exit(-1)
}
marshalled, err := x509.MarshalECPrivateKey(key) // marshalls data to byte stream
if err != nil {
    os.Exit(-1)
}

基本上,我遇到的问题与以下事实有关:生成密钥对时,它存储在 *ecdsa.privatekey 中,其中公钥存储在 *ecdsa.privatekey 中.publickey,当我使用 x509.marshalecprivatekey(key) 编组密钥对数据(存储在 *ecdsa.privatekey 中)时,会返回一个字节切片。因此,我无法确定字节片本身中的公钥和私钥。


解决方案


私钥是公钥的超集。它始终包含公钥。通常公钥作为证书的一部分存储。

如果您确实想单独获取公钥,则可以从 ecdsa 公钥结构中获取 XY 大整数并存储它们的二进制表示形式。

您可能会从此处回顾一下您的设计中受益。在很多情况下,您都需要单独传递公钥。

以上就是《如何在 GoLang 中分离编组的 ECDSA 公钥和私钥》的详细内容,更多关于的资料请关注编程网公众号!

您可能感兴趣的文档:

--结束END--

本文标题: 如何在 GoLang 中分离编组的 ECDSA 公钥和私钥

本文链接: https://lsjlt.com/news/596603.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作