I’ve completed the XPCOM component for Firefox that implements the necessary crypto functionality for a Passel Agent. The last major piece that needs to be put into place (from a XPCOM/C++ standpoint) is to sort out how to load the encrypted portfolio. A portfolio is the file which contains the necessary credentials and metadata the agent uses to retrieve signed values from the different Signers. The C# agent currently uses a AES-256 encrypted ZIP file containing a series of N3-encoded RDF files. It makes for a nice, portable, and secure format that you can take with you – I’d like to be able to re-use this format in the native Firefox agent.
I have to commend the Mozilla people on a great platform. It’s intimidating at first, but once you get the hang of it, things move along quickly. It also helps that the people in the #developers IRC room are extremely helpful. Going from nothing to having a working crypto component in a week is a testament to the power of Mozilla.