kms

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 28 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	KMSType     Type `json:"kmsType"`
	Endpoint    string
	Region      string
	AliasPrefix string
	HTTPClient  *http.Client

	SecretLockKeyPath string
	DBType            string
	DBURL             string
	DBName            string
	MasterKey         string
}

Config configure kms that stores signing keys.

type EndpointResolver added in v1.11.0

type EndpointResolver struct {
	Endpoint string
}

EndpointResolver resolves the endpoint.

func (*EndpointResolver) ResolveEndpoint added in v1.11.0

ResolveEndpoint resolves the endpoint.

type KeyManager

type KeyManager struct {
	// contains filtered or unexported fields
}

func GetAriesKeyManager added in v1.1.0

func GetAriesKeyManager(suite api.Suite, kmsType Type, metrics metricsProvider) *KeyManager

func NewAriesKeyManager

func NewAriesKeyManager(cfg *Config, metrics metricsProvider) (*KeyManager, error)

func (*KeyManager) CreateCryptoKey

func (km *KeyManager) CreateCryptoKey(keyType kmsapi.KeyType) (string, interface{}, error)

func (*KeyManager) CreateJWKKey

func (km *KeyManager) CreateJWKKey(keyType kmsapi.KeyType) (string, *jwk.JWK, error)

func (*KeyManager) NewVCSigner

func (km *KeyManager) NewVCSigner(
	creator string, signatureType vcsverifiable.SignatureType) (vc.SignerAlgorithm, error)

func (*KeyManager) Suite added in v1.5.0

func (km *KeyManager) Suite() api.Suite

func (*KeyManager) SupportedKeyTypes

func (km *KeyManager) SupportedKeyTypes() []kmsapi.KeyType

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry(
	defaultVCSKeyManager VCSKeyManager,
	defaultKmsConfig Config,
	defaultMetricProvider metricsProvider,
) *Registry

func (*Registry) GetKeyManager

func (r *Registry) GetKeyManager(config *Config) (VCSKeyManager, error)

type Type

type Type string
const (
	AWS   Type = "aws"
	Local Type = "local"
	Web   Type = "web"
)

type VCSKeyManager

type VCSKeyManager interface {
	SupportedKeyTypes() []kms.KeyType
	CreateJWKKey(keyType kms.KeyType) (string, *jwk.JWK, error)
	CreateCryptoKey(keyType kms.KeyType) (string, interface{}, error)
	NewVCSigner(creator string, signatureType vcsverifiable.SignatureType) (vc.SignerAlgorithm, error)
}

Directories

Path Synopsis
Package aws is a generated GoMock package.
Package aws is a generated GoMock package.
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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