The Mozilla
Organization
At A Glance
Feedback
Get Involved
Newsgroups
License Terms
Newsbot
Developer Docs
Roadmap
Projects
Ports
Module Owners
Hacking
Get the Source
Build It
Testing
Download
Bugzilla
Bug Writing
Tools
View Source
Tree Status
New Checkins
Submit A Bug
FAQ
Search

S/MIME Toolkit

Newsgroup: netscape.public.mozilla.crypto
Technical contacts: Christian Kaiser and Lisa Repka
Yell at the manager: Bob Lord

The S/MIME code currently in NSS is designed specifically for integration into Communicator 4.x and not for integration into Mozilla. Only S/MIME version 2 functionality is currently supported. We would like the S/MIME Toolkit to address these limitations. We want to provide an easy-to-use toolkit that interfaces with a variety of MIME parsers. We do not currently plan to provide a MIME parser as part of the toolkit. For information about the Mozilla MIME parser project, see libmime.

Project Information

Possible applications for the new S/MIME Toolkit include:
  • S/MIME support in the Mozilla mail/news client
  • .
  • A Perl module that can be used to generate and process S/MIME messages using Perl scripts.
We feel that these goals require a C API. However, we are open to object-oriented design (to the extent possible in C) and to providing a C++ API eventually.

We also want to implement support for important CMS (Cryptographic Message Syntax, aka PKCS #7 v2.0) and S/MIME version 3 features. The goal is to have full S/MIME v3 compatibility in the future. A side effect of this work could be an API for CMS messages. This would be used to generate and process cryptographic messages outside of the email/MIME context.

The S/MIME Toolkit will be implemented on top of the core NSS crypto and PKI services, as suggested in this figure:

For information about ASN.1, see ASN.1.

Our current task list includes the following:

  • Define and document a first cut at an API. This would not be cast in stone. The first review and implementation will show weaknesses that might need to be corrected.
  • Review the API to determine fitness for inclusion into various MIME parsers, changing the API definition where necessary.
  • Change existing code and create new code to implement the API. We want to have something working before we start extending the functionality.
  • Create a test harness that can ideally be integrated into the build process.
  • Create a prioritized list of further tasks, such as: Implement CMS and S/MIME v3 features.

Status Summary

We are now preparing the code for posting on mozilla.org.

Copyright © 1998-2000 The Mozilla Organization.
Last modified February 11, 2000.