Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MasterKey

type MasterKey struct {
	ResourceID   string
	EncryptedKey string
	CreationDate time.Time
}

    MasterKey is a GCP KMS key used to encrypt and decrypt sops' data key.

    func MasterKeysFromResourceIDString

    func MasterKeysFromResourceIDString(resourceID string) []*MasterKey

      MasterKeysFromResourceIDString takes a comma separated list of GCP KMS resource IDs and returns a slice of new MasterKeys for them

      func NewMasterKeyFromResourceID

      func NewMasterKeyFromResourceID(resourceID string) *MasterKey

        NewMasterKeyFromResourceID takes a GCP KMS resource ID string and returns a new MasterKey for that

        func (*MasterKey) Decrypt

        func (key *MasterKey) Decrypt() ([]byte, error)

          Decrypt decrypts the EncryptedKey field with CGP KMS and returns the result.

          func (*MasterKey) Encrypt

          func (key *MasterKey) Encrypt(dataKey []byte) error

            Encrypt takes a sops data key, encrypts it with GCP KMS and stores the result in the EncryptedKey field

            func (*MasterKey) EncryptIfNeeded

            func (key *MasterKey) EncryptIfNeeded(dataKey []byte) error

              EncryptIfNeeded encrypts the provided sops' data key and encrypts it if it hasn't been encrypted yet

              func (*MasterKey) EncryptedDataKey

              func (key *MasterKey) EncryptedDataKey() []byte

                EncryptedDataKey returns the encrypted data key this master key holds

                func (*MasterKey) NeedsRotation

                func (key *MasterKey) NeedsRotation() bool

                  NeedsRotation returns whether the data key needs to be rotated or not.

                  func (*MasterKey) SetEncryptedDataKey

                  func (key *MasterKey) SetEncryptedDataKey(enc []byte)

                    SetEncryptedDataKey sets the encrypted data key for this master key

                    func (MasterKey) ToMap

                    func (key MasterKey) ToMap() map[string]interface{}

                      ToMap converts the MasterKey to a map for serialization purposes

                      func (*MasterKey) ToString

                      func (key *MasterKey) ToString() string

                        ToString converts the key to a string representation

                        Source Files