在 Go 中使用 secp256k1

Cip*_*erX 6 cryptography certificate go bitcoin

我正在尝试将 Go 中的椭圆曲线secp256k1与库“crypto/x509”一起使用。密钥对生成后,我分别获得公钥pubKey和私钥privKey。之后,我想生成一个包含公钥的证书,但在我想将私钥存储在.pem文件中之前:

keyDer, err := x509.MarshalECPrivateKey(privKey)
    if err != nil {
        log.Fatalf("Failed to serialize ECDSA key: %s\n", err)
    }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将 EC 私钥编组为 ASN.1、DER 格式并编译代码时,我收到一条错误消息:

无法序列化 ECDSA 密钥:x509:未知的椭圆曲线

在这种情况下,我有必要使用该特定曲线,因此我无法更改为prime256v1或“相似曲线”。是否有解决方案允许在crypto/x509库中添加对secp256k1的支持,或者其他方式/建议?