* Cryptography In the .NET framework cryptography can be found under a number of namespaces in several assemblies. ** Assembly: corlib *** Namespace: System.Security.Cryptography Thanks to the work of many people this namespace is almost complete. **** Status **** TODO **** Notes *** Namespace: System.Security.Cryptography.X509Certificates **** Status **** TODO **** Notes
** Assembly: System.Security *** Namespace: System.Security.Cryptography.Xml This namespace implements the XML Digital Signature specification from W3C. **** Status **** TODO
** Assembly: Mono.Security.Win32 This assembly goal is to provide maximum compatibility with CryptoAPI to application running with Mono's runtime on the Windows operating system. This assembly should NEVER be used directly by any application. The classes should only be used by modifying the machine.config configuration file (and then only if this increased compatibility is required by an application). *** Namespace: Mono.Security.Cryptography **** Status **** TODO
** Assembly: Microsoft.Web.Services Microsoft Web Service Enhancement (WSE), known as Web Service Development Kit (WSDK) in it's beta days, is an add-on the .NET framework that implements WS-Security (and other WS-* specifications). It also includes improved support for XML Signature (replacing and/or extending System.Security.Cryptography.Xml) and X509 certificates. Note: WSE is distributed as an add-on because the WS-Security specification isn't yet completed by OASIS. There are some licensing issues to consider before stating to implement WS-Security. All contributors must sign an agreement with Microsoft before commiting anything related to WS-Security into CVS. *** Namespace: Microsoft.Web.Services.Security **** Status *** Namespace: Microsoft.Web.Services.Security.X509 **** Status **** TODO
** Other stuff There are other, not so visible, uses of cryptography both inside and outside the class library - such as: *** Tools There are many tools in the .NET framework that indirectly interacts with some cryptographic classes. Mono will eventually need these tools. Unless noted the tools should work on any CLR (tested with both Mono and Microsoft). **** Status The following tools are complete: **** TODO The following tools are still missing or incomplete: Note that many of the tools requires the class library and/or the runtime to be ready for them.
** How to Help Complete any of the TODO (and feel good about it ;-). Add missing unit tests to classes or methods. Write some documentation on the cryptographic classes for MonkeyGuide (as I'm not a good writer, at least in English, but you must be a good reader if you got to this part). Optimization can also be done on algorithms as crypto is never fast enough. Just be sure to test every optimization (using the unit test) carefully - it's so fast to break an algorithm ;-). Contact Sebastien Pouliot (home , work) if you need additional informations about the status of the cryptographic classes.
Last reviewed: February 5, 2003 (post mono 0.19)