Contents
About
Seahorse is a GNOME application for managing encryption keys. It also integrates with nautilus, gedit and other places for encryption, decryption and other operations.
With seahorse you can...
- Encrypt/decrypt/sign files and text.
- Manage your keys and keyring
- Synchronize your keys and your keyring with key servers
- Sign keys and publish
- Cache your passphrase so you don't have to keep typing it
- Backup your keys and keyring
- Add an image in any GDK supported format as a OpenGPG photo ID
- Create SSH keys, configure them, cache them
- more...
NEWS: This Just In!
Who Are We?
Nate Nielsen - Maintainer
Adam Schreiber - Maintainer
Jim Pharis - Usability and Interfaces
Download Seahorse
Visit our download page.
Installing Seahorse
For distro maintainers, and astute users:
Integrating seahorse properly into the login session.
Getting Started Developing
Pick a simple bug from Bugzilla and grab the code from CVS. Join the developer mailing list and start asking questions. We attempt to keep our bug list well serviced. There's usually someone hanging out in #Seahorse on irc.freenode.net (irc://irc.freenode.net/#Seahorse). In general, we target the last two major GNOME releases that are stable and try not to break compatibility with either by adding new dependencies. For example, if 2.14.x is the latest stable GNOME release, you cannot depend on anything that is not in 2.12.x as well. Some exceptions can be made, but will require discussion on the mailing list first.
To receive bug and enhancement updates by email set your email settings in Bugzilla by adding the user seahorse-maint@gnome.bugs to your watch list.
There is now a --enable-debug option at compile time to give more detailed debugging information. This will make all GTK messages WARNING and above fatal.
Documentation on GConf keys that are used by Seahorse but not exposed to the user can be found on Seahorse/SpecialGconfKeys.
Documentation on the trust model supported by Seahorse can be found on Seahorse/TrustModel.
Code Structure
agent/ |
Code related to providing passphrase caching |
daemon/ |
Code that wraps the agent and provides DNS-SD keyserver and DBUS functionality |
help/C/ |
Files related to the Seahorse manual |
A simple API for key selection |
|
libseahorse |
Code that provides common functionality to all parts of seahorse |
pixmaps |
Where all seahorse specific graphics are stored |
plugins/applet |
Contains Encryption Applet Code |
plugins/epiphany |
Contains code for an Epiphany plugin |
plugins/gedit |
Contains Gedit plugin code |
plugins/nautilus |
Contains code for seahorse-tool and seahorse-preferences |
plugins/nautilus-ext |
Contains code for calling seahorse-tool from Nautilus |
src |
Code for the seahorse key manager |
Libseahorse Object Hierarchy
GObject
+--GtkTreeStore
+--SeahorseKeyModel Allows associating a key with
row in a tree.
+--SeahorseKeyManagerStore Displays a list of keys for the main
seahorse key manager and search results.
+--GtkObject
+--SeahorseContext Singleton. Manages the list of loaded keys
+--SeahorseKey Base class for all keys.
+--SeahorsePGPKey An OpenPGP key (from GPGME)
+--SeahorseSSHKey An SSH key
+--SeahorseUnknownKey A key we have no information about, but
which exists somewhere.
+--SeahorseKeyset Allows one to query and track a certain
subset of keys in the SeahorseContext.
+--SeahorseKeySource Base class. A key source adds keys to
the SeahorseContext
+--SeahorsePGPSource Retrieves OpenPGP keys from the local
keyring (uses GPGME).
+--SeahorseServerSource Base class for key sources that retrieve
keys from servers.
+--SeahorseHKPSource Retrieve/searches for keys on HKP servers.
+--SeahorseLDAPSource Retrieve/searches for keys on LDAP servers.
+--SeahorseSSHSource Retrieves SSH keys from ~/.ssh
+--SeahorseUnknownSource A source of SeahorseUnknownKey type keys
+--SeahorseOperation Base class for an asynchronous operation.
+--SeahorsePGPOperation An operation on a GPGME context
+--SeahorseSSHOperation An SSH related operation
+--SeahorseTransferOperation An operation which copies keys from one
keysource to another
+--SeahorseServiceDiscovery Adds/removes key sources for DNS-SD key
shares
+--SeahorseWidget Allows loading and displaying of windows
based on glade files
+--SeahorseKeyWidget Associate a SeahorseKey with a
SeahorseWidget window
New features in the development version
- DNS-SD HKP Key server
- seahorse-daemon succeeds seahorse-agent
- Themable Icon Support
- Tangofied Icons: 22x22, 48x48, scalable
- Photo ID support
- Scrollwheeling through photo IDs
- Drag and Drop adding of photo IDs
- Basic photo editing
- SSH Key Support
- Generate SSH keys
- Upload SSH keys
SSH Key Agent (gnome-keyring integration)
- Encryption Applet - panel applet to encrypt/decrypt/sign/verify/import the clipboard
- GNOME keyring integration
Epiphany plugin
To Do (Grand Plans and Quackery)
General
- Support X.509 certificates
- Allow searching for and importing keys from the 'choose recipients' dialog.
Photo ID Support
- Integrate photo IDs with About Me capplet and Evolution contacts.
Plugins
E-plugin to make Evolution GPG encryption use seahorse
Gaim plugin - Development Discussion
seahorse-applet
Global Key Bindings: Borrow from Tomboy - http://cvs.gnome.org/viewcvs/tomboy/libtomboy/
