Git Product home page Git Product logo

wotmate's Introduction

WOTMATE

This is an attempt to reimplement the defunct PGP pathfinder without needing anything other than your own keyring. This is very much a work in progress.

Prerequisite:
./make-sqlitedb.py

Currently, the following tools are available:

graph-paths.py

Draws the shortest path between each key you have personally signed and the target key. For simpler setups, it exactly mirrors the web of trust, but the resulting graph is not necessarily one-to-one (because you can assign ownertrust to a key you did not directly sign).

Example usage:

./graph-paths.py --fromkey torvalds jeyu

Example graph produced

graph-to-full.py

Very similar, but finds shortest paths to each fully-trusted key in your keyring. Handy for open-source projects where someone maintains a "web of trust."

Example usage:

./graph-to-full.py jeyu

Example graph produced

wotmate's People

Contributors

krzk avatar mricon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wotmate's Issues

crash importing keyring

wotmate's make-sqlitedb.py tool created a DB just fine from the limited set of keys on my laptop, but when I copied pubring.kbx from the normal signing box to here, it crashed.

There's nothing in the trace to identify the key which caused issues (a catch/raise X from ... might help with that?) but with it crashing after 3hrs50m it's not something I'm going to repeat immediately.

I suspect that the issue is simply a Latin1 encoding of a name: 0xf6 is ΓΆ (in both ASCII and as Unicode codepoint).

[ ... ]
Loaded 2290 pubkeys
Loading uid and signature data
Running /usr/local/bin/gpg --with-colons --list-sigs...
gpg: WARNING: unsafe permissions on homedir '/Users/pdp/src/security/openpgp/wotmate/pdp/bb'
gpg: Note: signatures using the MD5 algorithm are rejected
gpg: public key E204BE5C475470DA is 10 days newer than the signature
gpg: public key E204BE5C475470DA is 10 days newer than the signature
gpg: public key E204BE5C475470DA is 10 days newer than the signature
gpg: public key E204BE5C475470DA is 10 days newer than the signature
Traceback (most recent call last):
  File "../../make-sqlitedb.py", line 311, in <module>
    keyring_populate_uid_sig_data(cursor, kr_map)
  File "../../make-sqlitedb.py", line 127, in keyring_populate_uid_sig_data
    fields = wotmate.gpg_get_fields(line)
  File "/Users/pdp/src/security/openpgp/wotmate/wotmate/__init__.py", line 111, in gpg_get_fields
    line = bline.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 48: invalid start byte
../../make-sqlitedb.py --gpgbin==gpg --gnupghome=.  734.16s user 2411.34s system 22% cpu 3:50:32.27 total

./make-sqlitedb.py fails with 'UNIQUE constraint failed: pub.keyid'

$ git describe
v0.1-8-g4f8f24a
$ ./make-sqlitedb.py 
Initializing new sqlite3 db with metadata version 1
Loading all valid pubkeys
Traceback (most recent call last):
  File "/home/us/neal/src/wotmate/./make-sqlitedb.py", line 236, in <module>
    (pub_map, uid_map) = keyring_load_pub_uid(cursor, cmdargs.use_weak)
  File "/home/us/neal/src/wotmate/./make-sqlitedb.py", line 54, in keyring_load_pub_uid
    c.execute('INSERT INTO pub VALUES (?,?,?,?,?,?,?)', data)
sqlite3.IntegrityError: UNIQUE constraint failed: pub.keyid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.