Initial QSfera import

This commit is contained in:
Курнат Андрей
2026-06-07 10:20:04 +03:00
commit 2315f25754
16485 changed files with 4826827 additions and 0 deletions
@@ -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__"],
)
@@ -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
View File
@@ -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
)