package armor
import "golang.org/x/crypto/openpgp/armor"
Package armor implements OpenPGP ASCII Armor, see RFC 4880. OpenPGP Armor is very similar to PEM except that it has an additional CRC checksum.
Deprecated: this package is unmaintained except for security fixes. New applications should consider a more focused, modern alternative to OpenPGP for their specific task. If you are required to interoperate with OpenPGP systems and need a maintained package, consider a community fork. See https://golang.org/issue/44226.
Index ¶
- Variables
- func Encode(out io.Writer, blockType string, headers map[string]string) (w io.WriteCloser, err error)
- type Block
Variables ¶
var ArmorCorrupt error = errors.StructuralError("armor invalid")
Functions ¶
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.
Types ¶
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----- Headers 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 ¶
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.
Source Files ¶
armor.go encode.go
- Version
- v0.34.0 (latest)
- Published
- Feb 22, 2025
- Platform
- linux/amd64
- Imports
- 5 packages
- Last checked
- 9 hours ago –
Tools for package owners.