def importKeyStoreCb(self, path, filename): if not filename or len(filename) < 1: return try: full = os.path.join(path, filename[0]) if full.endswith(".json"): with open(full) as f: jsonKS = utils.readJsonStream(f) App.get_running_app().keyStore = \ key_store.KeyStore.readStoreFromJson(jsonKS) else: config = configparser.RawConfigParser() config.optionxform = str with open(full) as f: config.readfp(f) App.get_running_app().keyStore = \ key_store.KeyStore.readStore(config) App.get_running_app().curSearchPath = path except (IOError, UnicodeDecodeError, ValueError, configparser.Error) as e: displayError(e) except KeyError: displayError(_("Malformed crypto container")) self.dismissPopup() self.buildKSTree()
def loadAESCb(self, path, filename): if not filename or len(filename) < 1: return try: full = os.path.join(path, filename[0]) with open(full) as f: if full.endswith(".json"): jsonAES = utils.readJsonStream(f) self.aesInput.text = jsonAES["base64AESKey"] else: self.aesInput.text = f.read() App.get_running_app().curSearchPath = path except (IOError, UnicodeDecodeError, ValueError) as e: displayError(e) except KeyError: displayError(_("Malformed crypto container")) self.dismissPopup()
def loadDEPCb(self, path, filename): if not filename or len(filename) < 1: return try: with open(os.path.join(path, filename[0])) as f: jsonDEP = utils.readJsonStream(f) self.dep = verify.parseDEPAndGroups(jsonDEP) App.get_running_app().curSearchPath = path except (IOError, UnicodeDecodeError, ValueError, verify.DEPException) as e: displayError(e) self.dismissPopup() return self.verifyAbort() if not self.updateDEPDisplay(): self.verify_button.disabled = True self.dep = None self.dismissPopup()
def usage(): print("Usage: ./cert_extract.py <output dir>") sys.exit(0) if __name__ == "__main__": import gettext gettext.install('rktool', './lang', True) if len(sys.argv) != 2: usage() outDir = sys.argv[1] if not os.path.exists(outDir): os.mkdir(outDir) os.chdir(outDir) dep = utils.readJsonStream(sys.stdin) groups = verify.parseDEPAndGroups(dep) for recs, cert, cert_list in groups: groupCerts = list(cert_list) if cert: groupCerts.append(cert) for co in groupCerts: cs = key_store.numSerialToKeyId(co.serial) with open('{}.crt'.format(cs), 'w') as f: f.write(utils.addPEMCertHeaders(utils.exportCertToPEM(co)))
keyStore = KeyStore.readStore(config) aesKey = None with open(sys.argv[3]) as f: aesKey = f.read().strip() data = keyStore.writeStoreToJson(aesKey) print(json.dumps(data, sort_keys=False, indent=2)) elif sys.argv[2] == 'fromJson': if len(sys.argv) != 4: usage() keyStore = None with open(sys.argv[3]) as f: keyStore = KeyStore.readStoreFromJson(utils.readJsonStream(f)) elif sys.argv[2] == 'add': if len(sys.argv) < 4: usage() config = configparser.RawConfigParser() config.optionxform = str config.read(filename) keyStore = KeyStore.readStore(config) newKey = None with open(sys.argv[3]) as f: newKey = f.read() if len(sys.argv) == 4:
def load_state(filename): with open(filename, 'r') as f: stateJson = utils.readJsonStream(f) return ClusterState.readStateFromJson(stateJson)
elif sys.argv[2] == 'copyCashRegister': if len(sys.argv) != 6: usage() state = load_state(filename) srcState = load_state(sys.argv[4]) state.cashRegisters[int(sys.argv[3])] = srcState.cashRegisters[int( sys.argv[5])] elif sys.argv[2] == 'updateCashRegister': if len(sys.argv) != 5 and len(sys.argv) != 6: usage() with open(sys.argv[4]) as f: dep = verify.parseDEPAndGroups(utils.readJsonStream(f)) key = None if len(sys.argv) == 6: with open(sys.argv[5]) as f: key = base64.b64decode(f.read().encode("utf-8")) state = load_state(filename) for recs, cert, chain in dep: state.cashRegisters[int(sys.argv[3])].updateFromDEPGroup(recs, key) else: usage() stateJson = state.writeStateToJson()
if sys.argv[1] == 'keyStore': if len(sys.argv) == 5: with open(sys.argv[4]) as f: key = base64.b64decode(f.read().encode("utf-8")) config = configparser.RawConfigParser() config.optionxform = str config.read(sys.argv[2]) keyStore = key_store.KeyStore.readStore(config) elif sys.argv[1] == 'json': if len(sys.argv) != 4: usage() with open(sys.argv[2]) as f: jsonStore = utils.readJsonStream(f) key = utils.loadKeyFromJson(jsonStore) keyStore = key_store.KeyStore.readStoreFromJson(jsonStore) else: usage() pool = None if nprocs > 1: import multiprocessing pool = multiprocessing.Pool(nprocs) dep = None with open(sys.argv[3]) as f: dep = utils.readJsonStream(f)