24 lines
894 B
Go
24 lines
894 B
Go
package definition
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/beckn/beckn-onix/pkg/model"
|
|
)
|
|
|
|
// KeyManager defines the interface for key management operations/methods.
|
|
type KeyManager interface {
|
|
GenerateKeyPairs() (*model.Keyset, error)
|
|
StorePrivateKeys(ctx context.Context, keyID string, keys *model.Keyset) error
|
|
SigningPrivateKey(ctx context.Context, keyID string) (string, string, error)
|
|
EncrPrivateKey(ctx context.Context, keyID string) (string, string, error)
|
|
SigningPublicKey(ctx context.Context, subscriberID, uniqueKeyID string) (string, error)
|
|
EncrPublicKey(ctx context.Context, subscriberID, uniqueKeyID string) (string, error)
|
|
DeletePrivateKeys(ctx context.Context, keyID string) error
|
|
}
|
|
|
|
// KeyManagerProvider initializes a new signer instance.
|
|
type KeyManagerProvider interface {
|
|
New(context.Context, Cache, RegistryLookup, map[string]string) (KeyManager, func() error, error)
|
|
}
|