This module defines a format for storing S-expressions in a text file. The file contains one or more base64-encoded S-expressions. Comment lines begin with a #. The classes defined all include a human-readable description of the S-expression in a comment before the actual encoded object. Each type of database defines some specific semantics for the object.
The AbstractDatabase class is the parent of all the specific database types. It implements two general methods and requires that subclasses implement three other that describe the specific kind of S-expressions that are supported.
The constructor argument path specifies the file that contains the database.
The two general methods are:
The methods that must be implemented by subclasses are:
This method loads in an arbitrary database, but is not capable of rewriting it. It is useful for debugging a database.
This class defines a file containing pisces.spkilib.spki.Entry objects. Each Entry is written with two hints: the subject and the tag.
This class defines the following additional methods:
This class defines a file containing pisces.spkilib.spki.Cert objects, including name certs. Each cert is written with two hints: the subject and issuer.
This class defines the following additional methods:
A PrincipalDatabase stores public keys.
This class defines the following additional methods:
This class stores private keys. Unlike other database classes, it depends on the order of the objects in the database file being preserved. It stores a collection of private keys and their associated public keys. One of the keys is marked as the default key.
This class defines the following additional methods: