X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/blobdiff_plain/d1c45f5c79fda35ff9f8fd7d90f345dba3de4eb8..09b8041da38be795fe3ec311b0266f3658640593:/pwsafe diff --git a/pwsafe b/pwsafe index a5d15ea..91684c7 100644 --- a/pwsafe +++ b/pwsafe @@ -105,26 +105,9 @@ def cmd_create(av): else: tag = 'pwsafe' - ## Choose a passphrase, and generate master keys. - pp = C.ppread(tag, C.PMODE_VERIFY) - if not mac: mac = hash + '-hmac' - c = C.gcciphers[cipher] - h = C.gchashes[hash] - m = C.gcmacs[mac] - ppk = PW.PPK(pp, c, h, m) - ck = C.rand.block(c.keysz.default) - mk = C.rand.block(m.keysz.default) - k = Crypto(c, h, m, ck, mk) - - ## Set up the database, storing the basic information we need. - db = G.open(file, 'n', 0600) - db['tag'] = tag - db['salt'] = ppk.salt - db['cipher'] = cipher - db['hash'] = hash - db['mac'] = mac - db['key'] = ppk.encrypt(wrapstr(ck) + wrapstr(mk)) - db['magic'] = k.encrypt(C.rand.block(h.hashsz)) + ## Set up the database. + if mac is None: mac = hash + '-hmac' + PW.create(file, C.gcciphers[cipher], C.gchashes[hash], C.gcmacs[mac], tag) def cmd_changepp(av): if len(av) != 0: