/usr/lib64/python2.6/site-packages/M2Crypto/PGP
NameSizeModeActions
constants.py3810644editdlrm
constants.pyc6080644editdlrm
constants.pyo6080644editdlrm
packet.py112290644editdlrm
packet.pyc152630644editdlrm
packet.pyo151990644editdlrm
PublicKey.py16460644editdlrm
PublicKey.pyc32870644editdlrm
PublicKey.pyo31210644editdlrm
PublicKeyRing.py21710644editdlrm
PublicKeyRing.pyc31880644editdlrm
PublicKeyRing.pyo31880644editdlrm
RSA.py8490644editdlrm
RSA.pyc15670644editdlrm
RSA.pyo15670644editdlrm
__init__.py3490644editdlrm
__init__.pyc6680644editdlrm
__init__.pyo6680644editdlrm
Edit: /usr/lib64/python2.6/site-packages/M2Crypto/PGP/PublicKeyRing.py (2171B)
"""M2Crypto PGP2. Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved.""" from constants import * from packet import * from PublicKey import * class PublicKeyRing: def __init__(self, keyring): import warnings warnings.warn('Deprecated. No maintainer for PGP. If you use this, please inform M2Crypto maintainer.', DeprecationWarning) self._keyring = keyring self._userid = {} self._keyid = {} self._spurious = [] self._pubkey = [] def load(self): curr_pub = None curr_index = -1 ps = packet_stream(self._keyring) while 1: pkt = ps.read() if pkt is None: break elif isinstance(pkt, public_key_packet): curr_index = curr_index + 1 curr_pub = PublicKey(pkt) self._pubkey.append(curr_pub) #self._keyid[curr_pub.keyid()] = (curr_pub, curr_index) elif isinstance(pkt, userid_packet): if curr_pub is None: self._spurious.append(pkt) else: curr_pub.add_userid(pkt) self._userid[pkt.userid()] = (curr_pub, curr_index) elif isinstance(pkt, signature_packet): if curr_pub is None: self._spurious.append(pkt) else: curr_pub.add_signature(pkt) else: self._spurious.append(pkt) ps.close() def __getitem__(self, id): return self._userid[id][0] def __setitem__(self, *args): raise NotImplementedError def __delitem__(self, id): pkt, idx = self._userid[id] del self._pubkey[idx] del self._userid[idx] pkt, idx = self._keyid[id] del self._keyid[idx] def spurious(self): return tuple(self._spurious) def save(self, keyring): for p in self._pubkey: pp = p.pack() keyring.write(pp) def load_pubring(filename='pubring.pgp'): pkr = PublicKeyRing(open(filename, 'rb')) pkr.load() return pkr