PublicKeyFile -- File which contains public keys and trusts
PublicKeyFile instances export the following attributes: 
  - Keys
 
  - Dictionary of PublicKey objects in this file. Each key object
    is indexed by its 128-bit public key value.
 
 
  - Owner
 
  - 128-bit public key value of the user who created this file.
 
 
  - Revoked
 
  - Dictionary of dictionaries, just like Trusted, below. Each
    PublicKey in this attribute is a trust relationship we no longer
    honor.
 
 
  - Trusted
 
  - Dictionary of dictionaries. Both the inner and outer dictionaries are
    indexed with 128-bit public key values. Each
    Trusted[Trustee][Truster] node contains a
    TrustRelationship instance where Trustee is trusting
    Truster. Each TrustRelationship instance is signed with
    the Truster's private key.
 
 
PublicKeyFile instances export the following functions: 
  - AddTrust(PubFilename, Private[,
    Transferrable])
 
  Creates a valid TrustRelationship object where the
    PublicKeyFile's Owner is the truster and the trustee is
    taken from the PublicKeyFile named by PubFilename. Call
    Write() after calling AddTrust(). If the
    PrivateKey in Private does not match the Owner's
    public key, then AddTrust() will throw a MismatchedKeys
    exception. 
    If Transferrable is set to "Y" (default is
    "N") then the truster is not only vouching for any files created
    by the trustee, but also allowing the trustee to create further trust
    relationships. Use great caution before setting Transferrable to
    "Y".  
 
  - Merge(PubFile[,
    Overwrite])
 
  - Merges all public keys and trust relationships in the
    PublicKeyFile named by PubFile into the
    PublicKeyFile object. Call Write() after calling
    Merge(). If Overwrite is set to True (it defaults
    to False) then any duplicate entries in PubFile will
    overwrite those in the PublicKeyFile.
 
 
  - MyPublicKey()
 
  - Returns the owner's PublicKey instance. Shortcut for
  Keys[Owner].
 
 
  - Read()
 
  - Reads instance from disk.
 
 
  - RevokeTrust(Relationship)
 
  - Removes the given TrustRelationship object (if present) from
    Trusted and adds it to Revoked.
 
 
  - Write()
 
  - Writes instance back out to disk.
 
 
 |