首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Go中使用secp256k1

在Go中使用secp256k1
EN

Stack Overflow用户
提问于 2018-03-25 11:19:10
回答 2查看 4.2K关注 0票数 6

我试图在Go库“crypto/x 509”中使用椭圆曲线secp256k1。密钥对生成后,分别得到公钥pubKey和私钥privKey。在此之后,我希望生成一个包含公钥的证书,但在我想要将私钥存储到.pem文件之前:

代码语言:javascript
复制
keyDer, err := x509.MarshalECPrivateKey(privKey)
    if err != nil {
        log.Fatalf("Failed to serialize ECDSA key: %s\n", err)
    }

但是,当我试图将一个EC私钥编组成ASN.1,DER格式并编译代码时,我会收到一个错误,上面写着:

未能序列化ECDSA密钥: x509:未知椭圆曲线

在这种情况下,我需要处理特定的曲线,所以我不能更改为prime256v1或“类似的曲线”。是否有允许在crypto/x 509库中添加对secp256k1的支持的解决方案,或者其他方法/建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-20 06:54:39

go中不存在secp256k1曲线型。

你是怎么创建密钥对的?

我面临着这个问题。在我的例子中,我使用围棋包来创建这个曲线类型。因此,我使用了同一个包的函数来解析密钥。

因此,您必须使用同一个包的指定函数来解析密钥对。

这个x509. x509.MarshalECPrivateKey(privKey)只会帮助Marshal的标准曲线类型。

票数 4
EN

Stack Overflow用户

发布于 2022-04-07 09:02:30

您可以通过secp256k1使用装饰/碎片整理模块。它目前由btcd套件/btcd回购使用。

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

https://stackoverflow.com/questions/49475216

复制
相关文章

相似问题

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