def test_init_key(): spec = { "type": "RSA", "kid": "one" } filename = full_path("tmp_jwk.json") if os.path.isfile(filename): os.unlink(filename) _key = init_key(filename, **spec) assert _key.kty == "RSA" assert _key.kid == 'one' assert os.path.isfile(filename) # Should not lead to any change _jwk2 = init_key(filename, **spec) assert _key == _jwk2 _jwk3 = init_key(filename, "RSA", "two") assert _key != _jwk3 # Now _jwk3 is stored in the file _jwk4 = init_key(filename, "RSA") assert _jwk4 == _jwk3
def __init__(self, conf: Dict) -> None: self.logger = configure_logging( config=conf.get('logging')).getChild(__name__) self.op = None # OIDC provider configuration for section in ['op', 'webserver', 'http_params', 'jinja_env']: setattr(self, section, conf.get(section, {})) # set OP session key _key_args = self.op['server_info'].get('session_key') if _key_args is not None: self.session_key = init_key(**_key_args) # self.op['server_info']['password'] = self.session_key self.logger.debug("Set server password to %s", self.session_key) # templates and Jinja environment self.template_dir = os.path.abspath( conf.get('template_dir', 'templates')) # server info self.domain = conf.get("domain") self.port = conf.get("port") for param in ["server_name", "base_url"]: _pre = conf.get(param) if _pre: if '{domain}' in _pre: setattr(self, param, _pre.format(domain=self.domain, port=self.port)) else: setattr(self, param, _pre)
def __init__( self, sign_key="", enc_key="", sign_alg="SHA256", default_values=None, sign_jwk=None, enc_jwk=None, ): if sign_key: if isinstance(sign_key, SYMKey): self.sign_key = sign_key else: self.sign_key = SYMKey(k=sign_key) elif sign_jwk: if isinstance(sign_jwk, dict): self.sign_key = init_key(**sign_jwk) else: self.sign_key = import_jwk(sign_jwk) else: self.sign_key = None self.sign_alg = sign_alg if enc_key: if isinstance(enc_key, SYMKey): self.enc_key = enc_key else: self.enc_key = SYMKey(k=enc_key) elif enc_jwk: if isinstance(enc_jwk, dict): self.enc_key = init_key(**enc_jwk) else: self.enc_key = import_jwk(enc_jwk) else: self.enc_key = None if not default_values: default_values = {"path": "", "domain": "", "max_age": 0} self.default_value = default_values
def __init__(self, conf: Dict) -> None: self.logger = configure_logging( config=conf.get('logging')).getChild(__name__) self.op = None # OIDC provider configuration for section in ['op', 'webserver', 'http_params', 'jinja_env']: setattr(self, section, conf.get(section, {})) # set OP session key _key_args = self.op['server_info'].get('session_key') if _key_args is not None: self.session_key = init_key(**_key_args) # self.op['server_info']['password'] = self.session_key self.logger.debug("Set server password to %s", self.session_key) # templates and Jinja environment self.template_dir = os.path.abspath( conf.get('template_dir', 'templates'))