Package pem

import "encoding/pem"
Overview
Index
Examples

Overview ▾

程序包pem实现了PEM数据编码,该数据编码起源于Privacy Enhanced Mail. 今天,PEM编码最常见的用途是在TLS密钥和证书中. 请参阅RFC 1421.

func Encode

func Encode(out io.Writer, b *Block) error

编码将b的PEM编码写出.

Example

-----BEGIN MESSAGE-----
Animal: Gopher

dGVzdA==
-----END MESSAGE-----

func EncodeToMemory

func EncodeToMemory(b *Block) []byte

EncodeToMemory返回b的PEM编码.

如果b的标头无效且无法编码,则EncodeToMemory返回nil. 如果报告有关此错误情况的详细信息很重要,请改用"编码".

type Block

块表示PEM编码的结构.

编码形式为:

-----BEGIN Type-----
Headers
base64-encoded Bytes
-----END Type-----

其中标头可能是键:值行的空序列.

type Block struct {
    Type    string            // The type, taken from the preamble (i.e. "RSA PRIVATE KEY").
    Headers map[string]string // Optional headers.
    Bytes   []byte            // The decoded bytes of the contents. Typically a DER encoded ASN.1 structure.
}

func Decode

func Decode(data []byte) (p *Block, rest []byte)

解码将在输入中找到下一个PEM格式化的块(证书,私钥等). 它返回该块和输入的其余部分. 如果未找到PEM数据,则p为nil,并且整个输入均以静态返回.

Example

Got a *rsa.PublicKey, with remaining data: "and some more"

by  ICOPY.SITE