clearsign

package
v0.27.0 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2024 License: BSD-3-Clause Imports: 12 Imported by: 416

Documentation

Overview

Package clearsign generates and processes OpenPGP, clear-signed data. See RFC 4880, section 7.

Clearsigned messages are cryptographically signed, but the contents of the message are kept in plaintext so that it can be read without special tools.

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func Encode

func Encode(w io.Writer, privateKey *packet.PrivateKey, config *packet.Config) (plaintext io.WriteCloser, err error)

Encode returns a WriteCloser which will clear-sign a message with privateKey and write it to w. If config is nil, sensible defaults are used.

func EncodeMulti

func EncodeMulti(w io.Writer, privateKeys []*packet.PrivateKey, config *packet.Config) (plaintext io.WriteCloser, err error)

EncodeMulti returns a WriteCloser which will clear-sign a message with all the private keys indicated and write it to w. If config is nil, sensible defaults are used.

Types

type Block

type Block struct {
	Headers          textproto.MIMEHeader // Optional unverified Hash headers
	Plaintext        []byte               // The original message text
	Bytes            []byte               // The signed message
	ArmoredSignature *armor.Block         // The signature block
}

A Block represents a clearsigned message. A signature on a Block can be checked by passing Bytes into openpgp.CheckDetachedSignature.

func Decode

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

Decode finds the first clearsigned message in data and returns it, as well as the suffix of data which remains after the message. Any prefix data is discarded.

If no message is found, or if the message is invalid, Decode returns nil and the whole data slice. The only allowed header type is Hash, and it is not verified against the signature hash.

Jump to

Keyboard shortcuts

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