github.com/aporeto-inc/trireme-lib@v10.358.0+incompatible/controller/internal/enforcer/nfqdatapath/tokenaccessor/interfaces.go (about) 1 package tokenaccessor 2 3 import ( 4 "crypto/ecdsa" 5 "time" 6 7 "go.aporeto.io/enforcerd/trireme-lib/controller/internal/enforcer/utils/ephemeralkeys" 8 "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/claimsheader" 9 "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/pkiverifier" 10 "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/secrets" 11 "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/tokens" 12 ) 13 14 // TokenAccessor define an interface to access LockedTokenEngine 15 type TokenAccessor interface { 16 GetTokenValidity() time.Duration 17 GetTokenServerID() string 18 19 // Token creation methods. 20 CreateAckPacketToken(proto314 bool, secretKey []byte, claims *tokens.ConnectionClaims, encodedBuf []byte) ([]byte, error) 21 CreateSynPacketToken(claims *tokens.ConnectionClaims, encodedBuf []byte, nonce []byte, claimsHeader *claimsheader.ClaimsHeader, secrets secrets.Secrets) ([]byte, error) 22 23 CreateSynAckPacketToken(proto314 bool, claims *tokens.ConnectionClaims, encodedBuf []byte, nonce []byte, claimsHeader *claimsheader.ClaimsHeader, secrets secrets.Secrets, secretKey []byte) ([]byte, error) 24 // Token parsing methods. 25 ParsePacketToken(privateKey *ephemeralkeys.PrivateKey, data []byte, secrets secrets.Secrets, c *tokens.ConnectionClaims, b bool) ([]byte, *claimsheader.ClaimsHeader, *pkiverifier.PKIControllerInfo, []byte, string, bool, error) 26 ParseAckToken(proto314 bool, secretKey []byte, nonce []byte, data []byte, connClaims *tokens.ConnectionClaims) error 27 28 Randomize([]byte, []byte) error 29 Sign([]byte, *ecdsa.PrivateKey) ([]byte, error) 30 }