Module: PQCrypto::JWT
- Defined in:
- lib/pq_crypto/jwt.rb,
lib/pq_crypto/jwt/jwa.rb,
lib/pq_crypto/jwt/jwk.rb,
lib/pq_crypto/jwt/jwks.rb,
lib/pq_crypto/jwt/keys.rb,
lib/pq_crypto/jwt/errors.rb,
lib/pq_crypto/jwt/version.rb,
lib/pq_crypto/jwt/jwa/ml_dsa_44.rb,
lib/pq_crypto/jwt/jwa/ml_dsa_65.rb,
lib/pq_crypto/jwt/jwa/ml_dsa_87.rb,
lib/pq_crypto/jwt/jwa/ml_dsa_streaming.rb
Defined Under Namespace
Modules: JWA, JWK, JWKS, Keys
Classes: Error, KeyTypeError, UnsupportedAlgorithm, UnsupportedFeature
Constant Summary
collapse
- MLDSA44 =
JWA::MLDSA44
- MLDSA65 =
JWA::MLDSA65
- MLDSA87 =
JWA::MLDSA87
- SIGNING_ALGORITHMS =
[JWA::MLDSA44, JWA::MLDSA65, JWA::MLDSA87].freeze
- KEM_ALGORITHMS =
[].freeze
- ALGORITHMS_BY_JOSE =
SIGNING_ALGORITHMS.to_h { |algorithm| [algorithm.alg, algorithm] }.freeze
- REGISTRATION_MUTEX =
Monitor.new
- VERSION =
"0.2.2"
Class Method Summary
collapse
Class Method Details
.algorithm_for(alg_string) ⇒ Object
34
|
# File 'lib/pq_crypto/jwt.rb', line 34
def algorithm_for(alg_string) = ALGORITHMS_BY_JOSE[alg_string]
|
.kem_algorithms ⇒ Object
33
|
# File 'lib/pq_crypto/jwt.rb', line 33
def kem_algorithms = KEM_ALGORITHMS
|
.register! ⇒ Object
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/pq_crypto/jwt.rb', line 37
def register!
REGISTRATION_MUTEX.synchronize do
return true if registered?
SIGNING_ALGORITHMS.each { |algorithm| ::JWT::JWA.register_algorithm(algorithm) }
::JWT::JWK.classes << ::JWT::JWK::AKP unless ::JWT::JWK.classes.include?(::JWT::JWK::AKP)
@registered = true
end
true
end
|
.registered? ⇒ Boolean
35
|
# File 'lib/pq_crypto/jwt.rb', line 35
def registered? = @registered == true
|
.signing_algorithms ⇒ Object