type3

package
v0.0.0-...-fdc2568 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: BSD-3-Clause Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RateLimitedTokenType = uint16(0x0003)
)

Functions

func UnmarshalToken

func UnmarshalToken(data []byte) (tokens.Token, error)

Types

type ClientState

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

type ClientStateCache

type ClientStateCache interface {
	Get(clientID string) (*ClientState, bool)
	Put(clientID string, state *ClientState)
}

type EncapKey

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

func UnmarshalEncapKey

func UnmarshalEncapKey(data []byte) (EncapKey, error)

func (EncapKey) Marshal

func (k EncapKey) Marshal() []byte

opaque HpkePublicKey[Npk]; // defined in I-D.irtf-cfrg-hpke uint16 HpkeKemId; // defined in I-D.irtf-cfrg-hpke uint16 HpkeKdfId; // defined in I-D.irtf-cfrg-hpke uint16 HpkeAeadId; // defined in I-D.irtf-cfrg-hpke

struct {
  uint8 key_id;
  HpkeKemId kem_id;
  HpkePublicKey public_key;
  HpkeKdfId kdf_id;
  HpkeAeadId aead_id;
} EncapKey;

type InnerTokenRequest

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

func (*InnerTokenRequest) Marshal

func (r *InnerTokenRequest) Marshal() []byte

func (*InnerTokenRequest) Unmarshal

func (r *InnerTokenRequest) Unmarshal(data []byte) bool

type PrivateEncapKey

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

https://tfpauly.github.io/privacy-proxy/draft-privacypass-rate-limit-tokens.html#name-configuration

func CreatePrivateEncapKeyFromSeed

func CreatePrivateEncapKeyFromSeed(seed []byte) (PrivateEncapKey, error)

func (PrivateEncapKey) IsEqual

func (k PrivateEncapKey) IsEqual(o PrivateEncapKey) bool

func (PrivateEncapKey) Public

func (k PrivateEncapKey) Public() EncapKey

type RateLimitedAttester

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

func NewRateLimitedAttester

func NewRateLimitedAttester(cache ClientStateCache) *RateLimitedAttester

func (*RateLimitedAttester) VerifyRequest

func (a *RateLimitedAttester) VerifyRequest(tokenRequest RateLimitedTokenRequest, blindKeyEnc, clientKeyEnc, anonymousOrigin []byte) error

type RateLimitedClient

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

func NewRateLimitedClientFromSecret

func NewRateLimitedClientFromSecret(secret []byte) RateLimitedClient

type RateLimitedIssuer

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

func NewRateLimitedIssuer

func NewRateLimitedIssuer(key *rsa.PrivateKey) *RateLimitedIssuer

func (*RateLimitedIssuer) AddOrigin

func (i *RateLimitedIssuer) AddOrigin(origin string) error

func (*RateLimitedIssuer) AddOriginWithIndexKey

func (i *RateLimitedIssuer) AddOriginWithIndexKey(origin string, privateKey *ecdsa.PrivateKey) error

func (*RateLimitedIssuer) NameKey

func (i *RateLimitedIssuer) NameKey() EncapKey

func (*RateLimitedIssuer) OriginIndexKey

func (i *RateLimitedIssuer) OriginIndexKey(origin string) *ecdsa.PrivateKey

func (*RateLimitedIssuer) TokenKey

func (i *RateLimitedIssuer) TokenKey() *rsa.PublicKey

func (*RateLimitedIssuer) TokenKeyID

func (i *RateLimitedIssuer) TokenKeyID() []byte

type RateLimitedTokenRequest

type RateLimitedTokenRequest struct {
	RequestKey            []byte // Npk bytes
	NameKeyID             []byte // 32 bytes
	EncryptedTokenRequest []byte // 16-bit length prefixed slice
	Signature             []byte // Nsig bytes
	// contains filtered or unexported fields
}

https://tfpauly.github.io/privacy-proxy/draft-privacypass-rate-limit-tokens.html#section-5.3

func (RateLimitedTokenRequest) Equal

func (*RateLimitedTokenRequest) Marshal

func (r *RateLimitedTokenRequest) Marshal() []byte

func (RateLimitedTokenRequest) Type

func (*RateLimitedTokenRequest) Unmarshal

func (r *RateLimitedTokenRequest) Unmarshal(data []byte) bool

type RateLimitedTokenRequestState

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

func (RateLimitedTokenRequestState) ClientKey

func (s RateLimitedTokenRequestState) ClientKey() []byte

func (RateLimitedTokenRequestState) Request

func (RateLimitedTokenRequestState) RequestKey

func (s RateLimitedTokenRequestState) RequestKey() []byte

Jump to

Keyboard shortcuts

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