jwk

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2026 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KtyOKP  = "OKP"
	KtyRSA  = "RSA"
	KtyEC   = "EC"
	UseSig  = "sig"
	CrvEd   = "Ed25519"
	CrvP256 = "P-256"
)

Variables

View Source
var ErrKeyNotFound = errors.New("orionis jwk: key not found")

Functions

func DecodePublicKey

func DecodePublicKey(k Key) (any, error)

Types

type Ed25519Builder

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

func Ed25519

func Ed25519() *Ed25519Builder

func (*Ed25519Builder) Build

func (b *Ed25519Builder) Build() (*Ed25519Signer, error)

func (*Ed25519Builder) KID

func (b *Ed25519Builder) KID(kid string) *Ed25519Builder

func (*Ed25519Builder) Must

func (b *Ed25519Builder) Must() *Ed25519Signer

func (*Ed25519Builder) Path

func (b *Ed25519Builder) Path(path string) *Ed25519Builder

type Ed25519Signer

type Ed25519Signer struct {
	Kid        string
	PrivateKey ed25519.PrivateKey
}

func GenerateEd25519Signer

func GenerateEd25519Signer(kid string) (*Ed25519Signer, error)

func LoadEd25519SignerPEM added in v0.1.3

func LoadEd25519SignerPEM(raw []byte, kid string) (*Ed25519Signer, error)

func LoadOrCreateEd25519Signer

func LoadOrCreateEd25519Signer(path string, kid string) (*Ed25519Signer, error)

func (*Ed25519Signer) Algorithm

func (s *Ed25519Signer) Algorithm() string

func (*Ed25519Signer) KeyID

func (s *Ed25519Signer) KeyID() string

func (*Ed25519Signer) PublicJWK

func (s *Ed25519Signer) PublicJWK() Key

func (*Ed25519Signer) Sign

func (s *Ed25519Signer) Sign(claims *orionis.Claims) (string, error)

func (*Ed25519Signer) StaticProvider

func (s *Ed25519Signer) StaticProvider() (*StaticProvider, error)

type Key

type Key struct {
	Kty string `json:"kty"`
	Use string `json:"use,omitempty"`
	Kid string `json:"kid"`
	Alg string `json:"alg,omitempty"`
	Crv string `json:"crv,omitempty"`
	X   string `json:"x,omitempty"`
	Y   string `json:"y,omitempty"`
	N   string `json:"n,omitempty"`
	E   string `json:"e,omitempty"`
}

func NewEd25519Key

func NewEd25519Key(kid string, pub ed25519.PublicKey) Key

type RemoteBuilder

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

func Remote

func Remote(url ...string) *RemoteBuilder

func (*RemoteBuilder) Build

func (b *RemoteBuilder) Build() (*RemoteProvider, error)

func (*RemoteBuilder) HTTPClient

func (b *RemoteBuilder) HTTPClient(hc *http.Client) *RemoteBuilder

func (*RemoteBuilder) MaxStale

func (b *RemoteBuilder) MaxStale(maxStale time.Duration) *RemoteBuilder

func (*RemoteBuilder) Must

func (b *RemoteBuilder) Must() *RemoteProvider

func (*RemoteBuilder) RefreshEvery

func (b *RemoteBuilder) RefreshEvery(interval time.Duration) *RemoteBuilder

func (*RemoteBuilder) URL

func (b *RemoteBuilder) URL(url string) *RemoteBuilder

type RemoteConfig

type RemoteConfig struct {
	URL             string
	HTTPClient      *http.Client
	RefreshInterval time.Duration
	MaxStale        time.Duration
}

type RemoteProvider

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

func NewRemoteProvider

func NewRemoteProvider(cfg RemoteConfig) (*RemoteProvider, error)

func (*RemoteProvider) Key

func (p *RemoteProvider) Key(ctx context.Context, kid string, alg string) (any, error)

func (*RemoteProvider) Refresh

func (p *RemoteProvider) Refresh(ctx context.Context) error

type Set

type Set struct {
	Keys []Key `json:"keys"`
}

type StaticBuilder

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

func Static

func Static(keys ...Key) *StaticBuilder

func (*StaticBuilder) Build

func (b *StaticBuilder) Build() (*StaticProvider, error)

func (*StaticBuilder) Key

func (b *StaticBuilder) Key(key Key) *StaticBuilder

func (*StaticBuilder) Keys

func (b *StaticBuilder) Keys(keys ...Key) *StaticBuilder

func (*StaticBuilder) Must

func (b *StaticBuilder) Must() *StaticProvider

func (*StaticBuilder) Set

func (b *StaticBuilder) Set(set Set) *StaticBuilder

type StaticProvider

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

func NewStaticProvider

func NewStaticProvider(set Set) (*StaticProvider, error)

func (*StaticProvider) Key

func (p *StaticProvider) Key(ctx context.Context, kid string, alg string) (any, error)

Jump to

Keyboard shortcuts

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