简体   繁体   English

如何将 ECDSA 公钥转换为 PEM 文件

[英]How to convert ECDSA Public Key to PEM Files

I'm using the golang ecdsa package: https://golang.org/pkg/crypto/ecdsa/我正在使用 golang ecdsa 包: https ://golang.org/pkg/crypto/ecdsa/

I have public key structs ( https://golang.org/pkg/crypto/ecdsa/#PublicKey ) and I'm trying to convert them to PEM files for use in other application.我有公钥结构( https://golang.org/pkg/crypto/ecdsa/#PublicKey ),我正在尝试将它们转换为 PEM 文件以用于其他应用程序。

Anyone know how to do this?有人知道怎么做吗?

You can check this functions您可以检查此功能

https://github.com/gtank/cryptopasta/blob/master/marshal.go https://github.com/gtank/cryptopasta/blob/master/marshal.go

That seems to be encoding using pem Specially here这似乎是使用 pem 编码特别是这里

Using使用

import (
"crypto/ecdsa"
"crypto/x509"
"encoding/base64"
"encoding/pem"
"errors"
"fmt"
)




 // EncodePrivateKey encodes an ECDSA private key to PEM format.
  func EncodePrivateKey(key *ecdsa.PrivateKey) ([]byte, error) {
     derKey, err := x509.MarshalECPrivateKey(key)
          if err != nil {
             return nil, err
      }

    keyBlock := &pem.Block{
    Type:  "EC PRIVATE KEY",
    Bytes: derKey,
}

return pem.EncodeToMemory(keyBlock), nil
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM