def get_named(cls, name): cert = None try: rows = Cert.row_template(name) cells = BaseSchema.get_rows(rows, Cert.store) args = {'name': name} for k, v in cells.items(): if not v or v == "": continue colf = ezpersist.base.Persist.key_parts(k)[1] if colf == OWNER_COLF: args['owner'] = v elif colf == STATUS_COLF: args['status'] = v elif colf == ADMIN_COLF: args['admins'] = v elif colf == LEVEL_COLF: args['level'] = v elif colf == VIS_COLF: args['visibility'] = v elif colf == PKEY_COLF: args['pk'] = ezbakeca.ca.load_privatekey(v) elif colf == CERT_COLF: args['cert'] = ezbakeca.ca.load_cert(v) cert = Cert(**args) except (KeyError, ValueError): # didn't exist, create new cert = Cert(name) cert.save() return cert
def get_named(cls, name): cert = None try: rows = Cert.row_template(name) cells = BaseSchema.get_rows(rows, Cert.store) args = {"name": name} for k, v in cells.items(): if not v or v == "": continue colf = ezpersist.base.Persist.key_parts(k)[1] if colf == OWNER_COLF: args["owner"] = v elif colf == STATUS_COLF: args["status"] = v elif colf == ADMIN_COLF: args["admins"] = v elif colf == LEVEL_COLF: args["level"] = v elif colf == VIS_COLF: args["visibility"] = v elif colf == PKEY_COLF: args["pk"] = ezbakeca.ca.load_privatekey(v) elif colf == CERT_COLF: args["cert"] = ezbakeca.ca.load_cert(v) cert = Cert(**args) except (KeyError, ValueError): # didn't exist, create new cert = Cert(name) cert.save() return cert
def get_named(cls, name): rows = cls.row_template(name, True, True, True) cells = BaseSchema.get_rows(rows, cls.store) for k, v in cells.items(): if not v or v == "": continue colf = ezpersist.base.Persist.key_parts(k)[1] if colf == PKEY_COLF: pk = load_privatekey(cells[k]) elif colf == CERT_COLF: cert = load_cert(cells[k]) elif colf == SERIAL_COLF: serial = long(cells[k]) ca = EzbakeCA(name, pk=pk, certificate=cert, serial=serial) return ca
def level_row(name, value="low"): return BaseSchema.row_for(name, colf=LEVEL_COLF, table=Cert.REG_TABLE, value=value)
def name_row(name): return BaseSchema.row_for(name, colf=NAME_COLF, table=Cert.REG_TABLE, value=name)
def serial_row(id, value): return BaseSchema.row_for(id, colf=SERIAL_COLF, table=EzbakeCA.CA_TABLE, value=value)
def pkey_row(id, value): return BaseSchema.row_for(id, colf=PKEY_COLF, table=EzbakeCA.CA_TABLE, value=value)
def lookup_status_row(name, status): row = BaseSchema.row_for(status, colf=name, table=Cert.LOOKUP_TABLE, value=name) return row
def pubkey_row(name=None, value=None): return BaseSchema.row_for(name, colf=PUBKEY_COLF, table=Cert.REG_TABLE, value=value)
def cert_row(name=None, value=None): return BaseSchema.row_for(name, colf=CERT_COLF, table=Cert.REG_TABLE, value=value)
def status_row(name, value): return BaseSchema.row_for(name, colf=STATUS_COLF, table=Cert.REG_TABLE, value=value)
def visibility_row(name, value=""): return BaseSchema.row_for(name, colf=VIS_COLF, table=Cert.REG_TABLE, value=value)
def cert_row(id, value): return BaseSchema.row_for(id, colf=CERT_COLF, table=EzbakeCA.CA_TABLE, value=value)
def admins_row(name, value): return BaseSchema.row_for(name, colf=ADMIN_COLF, table=Cert.REG_TABLE, value=value)
def owner_row(name, value): return BaseSchema.row_for(name, colf=OWNER_COLF, table=Cert.REG_TABLE, value=value)