101 lines
2.2 KiB
Python
101 lines
2.2 KiB
Python
from ._rfc7515.registry import JWSRegistry
|
|
from ._rfc7515.model import JWSAlgModel
|
|
from ._rfc7516.registry import JWERegistry
|
|
from ._rfc7516.models import (
|
|
JWEDirectEncryption,
|
|
JWEKeyEncryption,
|
|
JWEKeyWrapping,
|
|
JWEKeyAgreement,
|
|
JWEAlgModel,
|
|
JWEEncModel,
|
|
JWEZipModel,
|
|
)
|
|
from ._rfc7518.jws_algs import (
|
|
NoneAlgorithm,
|
|
HMACAlgorithm,
|
|
RSAAlgorithm,
|
|
ESAlgorithm,
|
|
RSAPSSAlgorithm,
|
|
JWS_ALGORITHMS as RFC7518_JWS_ALGORITHMS,
|
|
)
|
|
from ._rfc7518.jwe_algs import (
|
|
DirectAlgEncryption,
|
|
AESAlgKeyWrapping,
|
|
ECDHESAlgKeyAgreement,
|
|
AESGCMAlgKeyWrapping,
|
|
PBES2HSAlgKeyEncryption,
|
|
JWE_ALG_MODELS,
|
|
)
|
|
from ._rfc7518.jwe_encs import (
|
|
CBCHS2EncModel,
|
|
GCMEncModel,
|
|
JWE_ENC_MODELS,
|
|
)
|
|
from ._rfc7518.jwe_zips import (
|
|
DeflateZipModel,
|
|
JWE_ZIP_MODELS,
|
|
)
|
|
from ._rfc8037.jws_eddsa import EdDSA, EdDSAAlgorithm
|
|
from ._rfc8812 import ES256K
|
|
from ._rfc9864 import JWS_ALGORITHMS as RFC9864_JWS_ALGORITHMS
|
|
from ._keys import KeySet
|
|
|
|
__all__ = [
|
|
# JWS algorithms
|
|
"JWS_ALGORITHMS",
|
|
"JWSAlgModel",
|
|
"NoneAlgorithm",
|
|
"HMACAlgorithm",
|
|
"RSAAlgorithm",
|
|
"ESAlgorithm",
|
|
"RSAPSSAlgorithm",
|
|
"EdDSAAlgorithm",
|
|
# JWE algorithms
|
|
"JWE_ALG_MODELS",
|
|
"JWE_ENC_MODELS",
|
|
"JWE_ZIP_MODELS",
|
|
"JWEAlgModel",
|
|
"JWEDirectEncryption",
|
|
"JWEKeyEncryption",
|
|
"JWEKeyWrapping",
|
|
"JWEKeyAgreement",
|
|
"DirectAlgEncryption",
|
|
"AESAlgKeyWrapping",
|
|
"ECDHESAlgKeyAgreement",
|
|
"AESGCMAlgKeyWrapping",
|
|
"PBES2HSAlgKeyEncryption",
|
|
"JWEEncModel",
|
|
"CBCHS2EncModel",
|
|
"GCMEncModel",
|
|
"JWEZipModel",
|
|
"DeflateZipModel",
|
|
# setup methods
|
|
"setup_jws_algorithms",
|
|
"setup_jwe_algorithms",
|
|
]
|
|
|
|
JWS_ALGORITHMS = [
|
|
*RFC7518_JWS_ALGORITHMS,
|
|
EdDSA,
|
|
ES256K,
|
|
*RFC9864_JWS_ALGORITHMS,
|
|
]
|
|
|
|
|
|
def setup_jws_algorithms() -> None:
|
|
for _alg in JWS_ALGORITHMS:
|
|
JWSRegistry.register(_alg)
|
|
KeySet.algorithm_keys[_alg.name] = [_alg.key_type]
|
|
|
|
|
|
def setup_jwe_algorithms() -> None:
|
|
for _alg in JWE_ALG_MODELS:
|
|
KeySet.algorithm_keys[_alg.name] = _alg.key_types
|
|
JWERegistry.register(_alg)
|
|
|
|
for _enc in JWE_ENC_MODELS:
|
|
JWERegistry.register(_enc)
|
|
|
|
for _zip in JWE_ZIP_MODELS:
|
|
JWERegistry.register(_zip)
|