/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to crypt.py

  • Committer: Daniel Schierbeck
  • Date: 2008-04-01 09:08:45 UTC
  • mto: (450.1.16 trunk)
  • mto: This revision was merged to the branch mainline in revision 458.
  • Revision ID: daniel.schierbeck@gmail.com-20080401090845-05jv1y8b87jcishr
Added support for key fingerprints.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
import dbus
3
3
 
4
4
BUS_NAME = 'org.gnome.seahorse'
 
5
 
5
6
CRYPTO_INTERFACE = 'org.gnome.seahorse.CryptoService'
6
7
CRYPTO_PATH = '/org/gnome/seahorse/crypto'
7
8
 
 
9
OPENPGP_INTERFACE = 'org.gnome.seahorse.Keys'
 
10
OPENPGP_PATH = '/org/gnome/seahorse/keys/openpgp'
 
11
 
8
12
KEY_TYPE_OPENPGP = 'openpgp'
9
13
KEY_TYPE_SSH = 'ssh'
10
14
 
11
15
bus = dbus.SessionBus()
12
16
crypto = dbus.Interface(bus.get_object(BUS_NAME, CRYPTO_PATH), 
13
17
                        CRYPTO_INTERFACE)
 
18
openpgp = dbus.Interface(bus.get_object(BUS_NAME, OPENPGP_PATH),
 
19
                      OPENPGP_INTERFACE)
14
20
 
15
21
def verify(crypttext):
16
22
    return crypto.VerifyText(KEY_TYPE_OPENPGP, 1, crypttext)
 
23
 
 
24
def is_valid(key):
 
25
    (v, field) = openpgp.GetKeyField(key, 'flags')
 
26
 
 
27
    return v and field & 0x0001
 
28
 
 
29
def get_fingerprint(key):
 
30
    (v, field) = openpgp.GetKeyField(key, 'fingerprint')
 
31
 
 
32
    if v:
 
33
        return field
 
34
    else:
 
35
        return None