v1.9.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2016 License: BSD-3-Clause, Apache-2.0 Imports: 5 Imported by: 0



Package armor implements OpenPGP ASCII Armor, see RFC 4880. OpenPGP Armor is very similar to PEM except that it has an additional CRC checksum.



This section is empty.


View Source
var ArmorCorrupt error = errors.StructuralError("armor invalid")


func Encode

func Encode(out io.Writer, blockType string, headers map[string]string) (w io.WriteCloser, err error)

Encode returns a WriteCloser which will encode the data written to it in OpenPGP armor.


type Block

type Block struct {
	Type   string            // The type, taken from the preamble (i.e. "PGP SIGNATURE").
	Header map[string]string // Optional headers.
	Body   io.Reader         // A Reader from which the contents can be read
	// contains filtered or unexported fields

A Block represents an OpenPGP armored structure.

The encoded form is:

-----BEGIN Type-----

base64-encoded Bytes
'=' base64 encoded checksum
-----END Type-----

where Headers is a possibly empty sequence of Key: Value lines.

Since the armored data can be very large, this package presents a streaming interface.

func Decode

func Decode(in io.Reader) (p *Block, err error)

Decode reads a PGP armored block from the given Reader. It will ignore leading garbage. If it doesn't find a block, it will return nil, io.EOF. The given Reader is not usable after calling this function: an arbitrary amount of data may have been read past the end of the block.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL