Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ByteKey ¶
type ByteKey []byte
ByteKey is a generated key that only has the key's byte buffer as its instance data. If a key needs to do more, such as providing values to be set in a JWE header, that key type wraps a ByteKey
type ByteSource ¶
type ByteSource interface {
Bytes() []byte
}
ByteSource is an interface for things that return a byte sequence. This is used for KeyGenerator so that the result of computations can carry more than just the generate byte sequence.
type ByteWithECPublicKey ¶ added in v1.0.7
type ByteWithECPublicKey struct { ByteKey PublicKey interface{} }
ByteWithECPublicKey holds the EC private key that generated the key along with the key itself. This is required to set the proper values in the JWE headers
func (ByteWithECPublicKey) Populate ¶ added in v1.0.7
func (k ByteWithECPublicKey) Populate(h Setter) error
HeaderPopulate populates the header with the required EC-DSA public key information ('epk' key)
type ByteWithIVAndTag ¶ added in v1.0.6
func (ByteWithIVAndTag) Populate ¶ added in v1.0.6
func (k ByteWithIVAndTag) Populate(h Setter) error
HeaderPopulate populates the header with the required AES GCM parameters ('iv' and 'tag')
type ByteWithSaltAndCount ¶ added in v1.0.6
func (ByteWithSaltAndCount) Populate ¶ added in v1.0.6
func (k ByteWithSaltAndCount) Populate(h Setter) error
HeaderPopulate populates the header with the required PBES2 parameters ('p2s' and 'p2c')
type Ecdhes ¶
type Ecdhes struct {
// contains filtered or unexported fields
}
EcdhesKeyGenerate generates keys using ECDH-ES algorithm / EC-DSA curve
func NewEcdhes ¶
func NewEcdhes(alg jwa.KeyEncryptionAlgorithm, enc jwa.ContentEncryptionAlgorithm, keysize int, pubkey *ecdsa.PublicKey) (*Ecdhes, error)
NewEcdhes creates a new key generator using ECDH-ES
func (Ecdhes) Generate ¶
func (g Ecdhes) Generate() (ByteSource, error)
Generate generates new keys using ECDH-ES
type Generator ¶
type Generator interface { Size() int Generate() (ByteSource, error) }
type Random ¶
type Random struct {
// contains filtered or unexported fields
}
RandomKeyGenerate generates random keys
func (Random) Generate ¶
func (g Random) Generate() (ByteSource, error)
Generate generates a random new key
type X25519 ¶ added in v1.0.7
type X25519 struct {
// contains filtered or unexported fields
}
X25519KeyGenerate generates keys using ECDH-ES algorithm / X25519 curve
func NewX25519 ¶ added in v1.0.7
func NewX25519(alg jwa.KeyEncryptionAlgorithm, enc jwa.ContentEncryptionAlgorithm, keysize int, pubkey x25519.PublicKey) (*X25519, error)
NewX25519 creates a new key generator using ECDH-ES
func (X25519) Generate ¶ added in v1.0.7
func (g X25519) Generate() (ByteSource, error)
Generate generates new keys using ECDH-ES