Initial QSfera import
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
load("@rules_go//go:def.bzl", "go_library")
|
||||
|
||||
go_library(
|
||||
name = "tokens",
|
||||
srcs = [
|
||||
"jwe_tokens.go",
|
||||
"tokens.go",
|
||||
],
|
||||
importpath = "github.com/lestrrat-go/jwx/v3/internal/tokens",
|
||||
visibility = ["//:__subpackages__"],
|
||||
)
|
||||
|
||||
alias(
|
||||
name = "go_default_library",
|
||||
actual = ":tokens",
|
||||
visibility = ["//:__subpackages__"],
|
||||
)
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
package tokens
|
||||
|
||||
// JWE Key Encryption Algorithms
|
||||
const (
|
||||
// RSA algorithms
|
||||
RSA1_5 = "RSA1_5"
|
||||
RSA_OAEP = "RSA-OAEP"
|
||||
RSA_OAEP_256 = "RSA-OAEP-256"
|
||||
RSA_OAEP_384 = "RSA-OAEP-384"
|
||||
RSA_OAEP_512 = "RSA-OAEP-512"
|
||||
|
||||
// AES Key Wrap algorithms
|
||||
A128KW = "A128KW"
|
||||
A192KW = "A192KW"
|
||||
A256KW = "A256KW"
|
||||
|
||||
// AES GCM Key Wrap algorithms
|
||||
A128GCMKW = "A128GCMKW"
|
||||
A192GCMKW = "A192GCMKW"
|
||||
A256GCMKW = "A256GCMKW"
|
||||
|
||||
// ECDH-ES algorithms
|
||||
ECDH_ES = "ECDH-ES"
|
||||
ECDH_ES_A128KW = "ECDH-ES+A128KW"
|
||||
ECDH_ES_A192KW = "ECDH-ES+A192KW"
|
||||
ECDH_ES_A256KW = "ECDH-ES+A256KW"
|
||||
|
||||
// PBES2 algorithms
|
||||
PBES2_HS256_A128KW = "PBES2-HS256+A128KW"
|
||||
PBES2_HS384_A192KW = "PBES2-HS384+A192KW"
|
||||
PBES2_HS512_A256KW = "PBES2-HS512+A256KW"
|
||||
|
||||
// Direct key agreement
|
||||
DIRECT = "dir"
|
||||
)
|
||||
|
||||
// JWE Content Encryption Algorithms
|
||||
const (
|
||||
// AES GCM algorithms
|
||||
A128GCM = "A128GCM"
|
||||
A192GCM = "A192GCM"
|
||||
A256GCM = "A256GCM"
|
||||
|
||||
// AES CBC + HMAC algorithms
|
||||
A128CBC_HS256 = "A128CBC-HS256"
|
||||
A192CBC_HS384 = "A192CBC-HS384"
|
||||
A256CBC_HS512 = "A256CBC-HS512"
|
||||
)
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
package tokens
|
||||
|
||||
const (
|
||||
CloseCurlyBracket = '}'
|
||||
CloseSquareBracket = ']'
|
||||
Colon = ':'
|
||||
Comma = ','
|
||||
DoubleQuote = '"'
|
||||
OpenCurlyBracket = '{'
|
||||
OpenSquareBracket = '['
|
||||
Period = '.'
|
||||
)
|
||||
|
||||
// Cryptographic key sizes
|
||||
const (
|
||||
KeySize16 = 16
|
||||
KeySize24 = 24
|
||||
KeySize32 = 32
|
||||
KeySize48 = 48 // A192CBC_HS384 key size
|
||||
KeySize64 = 64 // A256CBC_HS512 key size
|
||||
)
|
||||
|
||||
// Bit/byte conversion factors
|
||||
const (
|
||||
BitsPerByte = 8
|
||||
BytesPerBit = 1.0 / 8
|
||||
)
|
||||
|
||||
// Key wrapping constants
|
||||
const (
|
||||
KeywrapChunkLen = 8
|
||||
KeywrapRounds = 6 // RFC 3394 key wrap rounds
|
||||
KeywrapBlockSize = 8 // Key wrap block size in bytes
|
||||
)
|
||||
|
||||
// AES-GCM constants
|
||||
const (
|
||||
GCMIVSize = 12 // GCM IV size in bytes (96 bits)
|
||||
GCMTagSize = 16 // GCM tag size in bytes (128 bits)
|
||||
)
|
||||
|
||||
// PBES2 constants
|
||||
const (
|
||||
PBES2DefaultIterations = 10000 // Default PBKDF2 iteration count
|
||||
PBES2NullByteSeparator = 0 // Null byte separator for PBES2
|
||||
)
|
||||
|
||||
// RSA key generation constants
|
||||
const (
|
||||
RSAKeyGenMultiplier = 2 // RSA key generation size multiplier
|
||||
)
|
||||
Reference in New Issue
Block a user