Documentation ¶
Index ¶
- Constants
- func DeletePGPKey(keyID string) error
- func GetInstalledPGPKeys(kids []string) ([]*appsv1.GnuPGPublicKey, error)
- func ImportPGPKeys(keyFile string) ([]*appsv1.GnuPGPublicKey, error)
- func ImportPGPKeysFromString(keyData string) ([]*appsv1.GnuPGPublicKey, error)
- func InitializeGnuPG() error
- func IsGPGEnabled() bool
- func IsLongKeyID(k string) bool
- func IsSecretKey(keyID string) (bool, error)
- func IsShortKeyID(k string) bool
- func KeyID(k string) string
- func SetPGPTrustLevel(pgpKeys []*appsv1.GnuPGPublicKey, trustLevel string) error
- func SetPGPTrustLevelById(kids []string, trustLevel string) error
- func SyncKeyRingFromDirectory(basePath string) ([]string, []string, error)
- func ValidatePGPKeys(keyFile string) (map[string]*appsv1.GnuPGPublicKey, error)
- func ValidatePGPKeysFromString(keyData string) (map[string]*appsv1.GnuPGPublicKey, error)
- type PGPKeyID
- type PGPVerifyResult
Constants ¶
const ( VerifyResultGood = "Good" VerifyResultBad = "Bad" VerifyResultInvalid = "Invalid" VerifyResultUnknown = "Unknown" )
Signature verification results
const ( TrustUnknown = "unknown" TrustNone = "never" TrustMarginal = "marginal" TrustFull = "full" TrustUltimate = "ultimate" )
Key trust values
const MaxVerificationLinesToParse = 40
Maximum number of lines to parse for a gpg verify-commit output
Variables ¶
This section is empty.
Functions ¶
func DeletePGPKey ¶
DeletePGPKey deletes a key from our GnuPG key ring
func GetInstalledPGPKeys ¶
func GetInstalledPGPKeys(kids []string) ([]*appsv1.GnuPGPublicKey, error)
GetInstalledPGPKeys() runs gpg to retrieve public keys from our keyring. If kids is non-empty, limit result to those key IDs
func ImportPGPKeys ¶
func ImportPGPKeys(keyFile string) ([]*appsv1.GnuPGPublicKey, error)
ImportPGPKeys imports one or more keys from a file into the local keyring and optionally signs them with the transient private key for leveraging the trust DB.
func ImportPGPKeysFromString ¶
func ImportPGPKeysFromString(keyData string) ([]*appsv1.GnuPGPublicKey, error)
func InitializeGnuPG ¶
func InitializeGnuPG() error
InitializeGnuPG will initialize a GnuPG working directory and also create a transient private key so that the trust DB will work correctly.
func IsLongKeyID ¶
IsLongKeyID returns true if the string represents a long key ID (aka fingerprint)
func IsSecretKey ¶
IsSecretKey returns true if the keyID also has a private key in the keyring
func IsShortKeyID ¶
IsShortKeyID returns true if the string represents a short key ID
func KeyID ¶
KeyID get the actual correct (short) key ID from either a fingerprint or the key ID. Returns the empty string if k seems not to be a PGP key ID.
func SetPGPTrustLevel ¶
func SetPGPTrustLevel(pgpKeys []*appsv1.GnuPGPublicKey, trustLevel string) error
SetPGPTrustLevel sets the given trust level on specified keys
func SetPGPTrustLevelById ¶
SetPGPTrustLevelById sets the given trust level on keys with specified key IDs
func SyncKeyRingFromDirectory ¶
SyncKeyRingFromDirectory will sync the GPG keyring with files in a directory. This is a one-way sync, with the configuration being the leading information. Files must have a file name matching their Key ID. Keys that are found in the directory but are not in the keyring will be installed to the keyring, files that exist in the keyring but do not exist in the directory will be deleted.
func ValidatePGPKeys ¶
func ValidatePGPKeys(keyFile string) (map[string]*appsv1.GnuPGPublicKey, error)
ValidatePGPKeys validates whether the keys in keyFile are valid PGP keys and can be imported It does so by importing them into a temporary keyring. The returned keys are complete, that is, they contain all relevant information
func ValidatePGPKeysFromString ¶
func ValidatePGPKeysFromString(keyData string) (map[string]*appsv1.GnuPGPublicKey, error)
Types ¶
type PGPVerifyResult ¶
type PGPVerifyResult struct { // Date the signature was made Date string // KeyID the signature was made with KeyID string // Identity Identity string // Trust level of the key Trust string // Cipher of the key the signature was made with Cipher string // Result of verification - "unknown", "good" or "bad" Result string // Additional informational message Message string }
Result of a git commit verification
func ParseGitCommitVerification ¶
func ParseGitCommitVerification(signature string) PGPVerifyResult
ParseGitCommitVerification parses the output of "git verify-commit" and returns the result