edkey formats an ED25519 private key in OpenSSH's PEM format.
Please see example.go for an example.
go get github.com/magisterquis/edkey@latest
_, kr, err := ed25519.GenerateKey(nil)
if nil != err {
log.Fatalf("Error generating key: %s", err)
}
p, err := edkey.ToPEM(kr, "")
if nil != err {
log.Fatalf("Error PEMifying key: %s", err)
}
if err := os.WriteFile("id_ed25519", p, 0600); nil != err {
log.Fatalf("Error writing key to file: %s", err)
}
Many thanks to mikesmitty for the original version of this library.