GoでPEMファイルを出力する
crypto/x509パッケージの Marshal* を使ってバイト列を得て、それをencoding/pem.Encodeに渡す。
code:go
import (
"crypto/rsa"
"crypto/x509"
"encoding/pem"
"io"
)
func _() {
var key *rsa.PrivateKey
b, _ := x509.MarshalPKCS8PrivateKey(key)
block := &pem.Block{
Type: "PRIVATE KEY",
Bytes: b,
}
var out io.Writer
_ = pem.Encode(out, block)
}