Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotSupported = errors.New("suite does not support requested behaviour") // nolint: gochecknoglobals
ErrNotSupported is returned by a Suite method when said Suite does not support the requested behaviour.
Functions ¶
This section is empty.
Types ¶
type EncrypterDecrypter ¶
type EncrypterDecrypter interface {
Encrypt(msg, aad []byte, kid string) (cipher, nonce []byte, err error)
Decrypt(cipher, aad, nonce []byte, kid string) (msg []byte, err error)
}
EncrypterDecrypter provides encryption and decryption services.
type FixedKeyCrypto ¶
FixedKeyCrypto provides crypto operations using a fixed key.
type FixedKeyMultiSigner ¶
type FixedKeyMultiSigner interface {
SignMulti(msgs [][]byte) ([]byte, error)
FixedKeySigner
}
FixedKeyMultiSigner provides a signing interface for regular and multi-signatures using a fixed key for each signer instance.
type FixedKeySigner ¶
FixedKeySigner provides the common signer interface, using a fixed key for each signer instance.
type KMSCrypto ¶
type KMSCrypto interface {
KeyCreator
Sign(msg []byte, pub *jwk.JWK) ([]byte, error)
KMSCryptoVerifier
FixedKeyCrypto(pub *jwk.JWK) (FixedKeyCrypto, error)
FixedKeySigner(pub *jwk.JWK) (FixedKeySigner, error)
}
KMSCrypto provides wrapped kms and crypto operations.
type KMSCryptoMultiSigner ¶
type KMSCryptoMultiSigner interface {
Sign(msg []byte, pub *jwk.JWK) ([]byte, error)
SignMulti(msgs [][]byte, pub *jwk.JWK) ([]byte, error)
FixedKeyMultiSigner(pub *jwk.JWK) (FixedKeyMultiSigner, error)
FixedMultiSignerGivenKID(kid string) (FixedKeyMultiSigner, error)
}
KMSCryptoMultiSigner provides signing operations, including multi-signatures.
type KMSCryptoSigner ¶
type KMSCryptoSigner interface {
Sign(msg []byte, pub *jwk.JWK) ([]byte, error)
FixedKeySigner(pub *jwk.JWK) (FixedKeySigner, error)
}
KMSCryptoSigner provides signing operations.
type KMSCryptoVerifier ¶
KMSCryptoVerifier provides a signature verification interface.
type KeyCreator ¶
type KeyCreator interface {
Create(keyType kmsapi.KeyType) (*jwk.JWK, error)
ExportPubKeyBytes(id string) ([]byte, kmsapi.KeyType, error)
}
KeyCreator creates keypairs in the wrapped KMS, returning public keys in JWK format.
type RawKeyCreator ¶
type RawKeyCreator interface {
KeyCreator
CreateRaw(keyType kmsapi.KeyType) (string, interface{}, error)
}
RawKeyCreator creates keypairs in the wrapped KMS, returning public keys as either JWK or the raw crypto key.
type Suite ¶
type Suite interface {
KeyCreator() (KeyCreator, error)
RawKeyCreator() (RawKeyCreator, error)
KMSCrypto() (KMSCrypto, error)
KMSCryptoSigner() (KMSCryptoSigner, error)
KMSCryptoMultiSigner() (KMSCryptoMultiSigner, error)
KMSCryptoVerifier() (KMSCryptoVerifier, error)
EncrypterDecrypter() (EncrypterDecrypter, error)
FixedKeyCrypto(pub *jwk.JWK) (FixedKeyCrypto, error)
FixedKeySigner(kid string) (FixedKeySigner, error)
FixedKeyMultiSigner(kid string) (FixedKeyMultiSigner, error)
}
Suite provides a suite of kms+crypto functions.
Each suite method returns an implementation of a particular kms+crypto API, or ErrNotSupported if the given Suite does not support the requested API.