Пример #1
0
def generate_all_keys(custodia_conf):
    parser = configparser.ConfigParser(
        interpolation=configparser.ExtendedInterpolation()
    )
    with open(custodia_conf) as f:
        parser.read_file(f)

    filename = parser.get('store:encgen', 'master_key')
    key = jwk.JWK(generate='oct', size=256)
    with open(filename, 'w+') as keyfile:
        keyfile.write(key.export())

    store = SqliteStore(parser, 'store:simple')

    srv_kid = "srvkid"
    cli_kid = "clikid"
    ss_key = jwk.JWK(generate='RSA', kid=srv_kid, use="sig")
    se_key = jwk.JWK(generate='RSA', kid=srv_kid, use="enc")
    store.set('kemkeys/sig/%s' % srv_kid, ss_key.export())
    store.set('kemkeys/enc/%s' % srv_kid, se_key.export())

    cs_key = jwk.JWK(generate='RSA', kid=cli_kid, use="sig")
    ce_key = jwk.JWK(generate='RSA', kid=cli_kid, use="enc")
    store.set('kemkeys/sig/%s' % cli_kid, cs_key.export_public())
    store.set('kemkeys/enc/%s' % cli_kid, ce_key.export_public())
    return ([ss_key.export_public(), se_key.export_public()],
            [cs_key.export(), ce_key.export()])
Пример #2
0
 def setUpClass(cls):
     cls.tmpdir = tempfile.mkdtemp()
     cls.parser = configparser.ConfigParser(
         interpolation=configparser.ExtendedInterpolation(),
         defaults={'tmpdir': cls.tmpdir})
     cls.parser.read_string(CONFIG)
     cls.backing_store = SqliteStore(cls.parser, 'store:teststore')
Пример #3
0
 def setUpClass(cls):
     cls.parser = configparser.ConfigParser(
         interpolation=configparser.ExtendedInterpolation())
     cls.parser.read_string(CONFIG)
     cls.log_handlers = log.auditlog.logger.handlers[:]
     log.auditlog.logger.handlers = [logging.NullHandler()]
     cls.secrets = Secrets(cls.parser, 'authz:secrets')
     cls.secrets.root.store = SqliteStore(cls.parser, 'store:sqlite')
     cls.authz = UserNameSpace(cls.parser, 'authz:user')
Пример #4
0
 def setUpClass(cls):
     config = {'server_keys': test_keys[0]['kid']}
     with open('examples/client_enc.key') as f:
         data = f.read()
         cls.client_keys = json_decode(data)
     cls.kk = KEMKeysStore(config)
     cls.kk.store = SqliteStore({'dburi': 'kemtests.db'})
     _store_keys(cls.kk.store, KEY_USAGE_SIG, test_keys)
     _store_keys(cls.kk.store, KEY_USAGE_ENC, test_keys)
     _store_keys(cls.kk.store, KEY_USAGE_SIG, cls.client_keys)
     _store_keys(cls.kk.store, KEY_USAGE_ENC, cls.client_keys)
Пример #5
0
def generate_all_keys(custodia_conf):
    parser = configparser.ConfigParser(
        interpolation=configparser.ExtendedInterpolation())
    with open(custodia_conf) as f:
        parser.read_file(f)

    filename = parser.get('store:encgen', 'master_key')
    key = jwk.JWK(generate='oct', size=256)
    with open(filename, 'w+') as keyfile:
        keyfile.write(key.export())

    store = SqliteStore(parser, 'store:simple')

    srv_kid = "srvkid"
    cli_kid = "clikid"
    ss_key = jwk.JWK(generate='RSA', kid=srv_kid, use="sig")
    se_key = jwk.JWK(generate='RSA', kid=srv_kid, use="enc")
    store.set('kemkeys/sig/%s' % srv_kid, ss_key.export())
    store.set('kemkeys/enc/%s' % srv_kid, se_key.export())

    cs_key = jwk.JWK(generate='RSA', kid=cli_kid, use="sig")
    ce_key = jwk.JWK(generate='RSA', kid=cli_kid, use="enc")
    store.set('kemkeys/sig/%s' % cli_kid, cs_key.export_public())
    store.set('kemkeys/enc/%s' % cli_kid, ce_key.export_public())
    return ([ss_key.export_public(),
             se_key.export_public()], [cs_key.export(),
                                       ce_key.export()])
Пример #6
0
    def setUpClass(cls):
        cls.parser = configparser.ConfigParser(
            interpolation=configparser.ExtendedInterpolation())
        cls.parser.read_string(CONFIG)

        config = {'server_keys': test_keys[0]['kid']}
        with open('examples/client_enc.key') as f:
            data = f.read()
            cls.client_keys = json_decode(data)

        cls.kk = kem.KEMKeysStore(config)
        cls.kk.store = SqliteStore(cls.parser, 'store:sqlite')

        _store_keys(cls.kk.store, kem.KEY_USAGE_SIG, test_keys)
        _store_keys(cls.kk.store, kem.KEY_USAGE_ENC, test_keys)
        _store_keys(cls.kk.store, kem.KEY_USAGE_SIG, cls.client_keys)
        _store_keys(cls.kk.store, kem.KEY_USAGE_ENC, cls.client_keys)
Пример #7
0
def generate_all_keys(filename):
    key = jwk.JWK(generate='oct', size=256)
    with open(filename, 'w+') as keyfile:
        keyfile.write(key.export())

    srv_kid = "srvkid"
    cli_kid = "clikid"
    ss_key = jwk.JWK(generate='RSA', kid=srv_kid, use="sig")
    se_key = jwk.JWK(generate='RSA', kid=srv_kid, use="enc")
    store = SqliteStore({'dburi': 'test_secrets.db', 'table': 'secrets'})
    store.set('kemkeys/sig/%s' % srv_kid, ss_key.export())
    store.set('kemkeys/enc/%s' % srv_kid, se_key.export())

    cs_key = jwk.JWK(generate='RSA', kid=cli_kid, use="sig")
    ce_key = jwk.JWK(generate='RSA', kid=cli_kid, use="enc")
    store = SqliteStore({'dburi': 'test_secrets.db', 'table': 'secrets'})
    store.set('kemkeys/sig/%s' % cli_kid, cs_key.export_public())
    store.set('kemkeys/enc/%s' % cli_kid, ce_key.export_public())
    return ([ss_key.export_public(),
             se_key.export_public()], [cs_key.export(),
                                       ce_key.export()])
Пример #8
0
def generate_all_keys(filename):
    key = jwk.JWK(generate="oct", size=256)
    with open(filename, "w+") as keyfile:
        keyfile.write(key.export())

    srv_kid = "srvkid"
    cli_kid = "clikid"
    ss_key = jwk.JWK(generate="RSA", kid=srv_kid, use="sig")
    se_key = jwk.JWK(generate="RSA", kid=srv_kid, use="enc")
    store = SqliteStore({"dburi": "test_secrets.db", "table": "secrets"})
    store.set("kemkeys/sig/%s" % srv_kid, ss_key.export())
    store.set("kemkeys/enc/%s" % srv_kid, se_key.export())

    cs_key = jwk.JWK(generate="RSA", kid=cli_kid, use="sig")
    ce_key = jwk.JWK(generate="RSA", kid=cli_kid, use="enc")
    store = SqliteStore({"dburi": "test_secrets.db", "table": "secrets"})
    store.set("kemkeys/sig/%s" % cli_kid, cs_key.export_public())
    store.set("kemkeys/enc/%s" % cli_kid, ce_key.export_public())
    return ([ss_key.export_public(), se_key.export_public()], [cs_key.export(), ce_key.export()])
Пример #9
0
 def setUpClass(cls):
     cls.secrets = Secrets({'auditlog': 'test.audit.log'})
     cls.secrets.root.store = SqliteStore({'dburi': 'testdb.sqlite'})
     cls.authz = Namespaces({})
Пример #10
0
 def setUpClass(cls):
     cls.log_handlers = log.auditlog.logger.handlers[:]
     log.auditlog.logger.handlers = [logging.NullHandler()]
     cls.secrets = Secrets()
     cls.secrets.root.store = SqliteStore({'dburi': 'testdb.sqlite'})
     cls.authz = UserNameSpace({})
Пример #11
0
                    revocation_reason=self.revocation_reason,
                )
            return certs


if __name__ == '__main__':
    from custodia.compat import configparser
    from custodia.log import setup_logging
    from custodia.store.sqlite import SqliteStore

    parser = configparser.ConfigParser(
        interpolation=configparser.ExtendedInterpolation())
    parser.read_string(u"""
    [auth:ipa]
    handler = IPAInterface
    [store:sqlite]
    handler = SqliteStore
    dburi = /tmp/test.sqlite
    [store:ipa_certreq]
    handler = IPAVault
    backing_store = sqlite
    """)

    setup_logging(debug=True, auditfile=None)
    IPAInterface(parser, 'auth:ipa')
    s = IPACertRequest(parser, 'store:ipa_certreq')
    s.store = SqliteStore(parser, 'store:sqlite')
    print(s.get('HTTP/client1.ipa.example'))
    print(s.get('HTTP/client1.ipa.example'))
    print(s.cut('HTTP/client1.ipa.example'))