Используя OpenSSL
версию 1.1 и более поздние, я могу сгенерировать ключ кривой25519:
openssl genpkey -algorithm x25519
При этом создается закрытый ключ в форме:
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIDgk3GuFMIaUJd3m95jn/Z8oU+cK9FzPoidIDn/bqRlk
-----END PRIVATE KEY-----
Я хочу проанализировать этот ключевой файл в Go и потенциально использовать его, используя golang.org / x / crypto / nacl / box . Глядя на документацию crypto / x509 , я не могу найти функцию синтаксического анализа, которая анализирует кривая25519. У кого-нибудь есть идея?
Я пытался:
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
.