【发布时间】:2019-10-01 19:50:41
【问题描述】:
使用OpenSSL 1.1 或更高版本,我能够生成curve25519 密钥:
openssl genpkey -algorithm x25519
这会产生如下形式的私钥:
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIDgk3GuFMIaUJd3m95jn/Z8oU+cK9FzPoidIDn/bqRlk
-----END PRIVATE KEY-----
我想在 Go 中解析这个密钥文件,并可能使用 golang.org/x/crypto/nacl/box 来使用它。查看crypto/x509 文档,我找不到解析curve25519 的解析函数。有人有想法吗?
我试过了:
pKey := `-----BEGIN PUBLIC KEY-----
MCowBQYDK2VuAyEAfLLsWKkI/7EmTOkSf4fyHuRHDnKk6qNncWDzV8jlIUU=
-----END PUBLIC KEY-----`
block, _ := pem.Decode([]byte(pKey))
key, err := x509.ParsePKIXPublicKey(block.Bytes)
if err != nil {
fmt.Println(err)
}
我收到错误unknown public key algorithm。
【问题讨论】:
-
仅供参考...您的生成密钥输出具有
PRIVATE KEY但您的代码 sn-p 使用PUBLIC KEY。
标签: go openssl curve-25519