package pem
import "encoding/pem"
pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书。参见RFC 1421
Index
- type Block
- func Decode(data []byte) (p *Block, rest []byte)
- func Encode(out io.Writer, b *Block) error
- func EncodeToMemory(b *Block) []byte
type Block
type Block struct {
Type string // 得自前言的类型(如"RSA PRIVATE KEY")
Headers map[string]string // 可选的头项
Bytes []byte // 内容解码后的数据,一般是DER编码的ASN.1结构
}
Block代表PEM编码的结构。编码格式如下:
-----BEGIN Type-----
Headers
base64-encoded Bytes
-----END Type-----
其中Headers是可为空的多行键值对。
func Decode
func Decode(data []byte) (p *Block, rest []byte)
Decode函数会从输入里查找到下一个PEM格式的块(证书、私钥等)。它返回解码得到的Block和剩余未解码的数据。如果未发现PEM数据,返回(nil, data)。
func Encode
func Encode(out io.Writer, b *Block) error
func EncodeToMemory
func EncodeToMemory(b *Block) []byte