* Cryptography In the .NET framework cryptography can be found under a number of namespaces in several assemblies. Mono also has it's own assemblies to provide missing security functionalities from the .NET framework. ** Assembly: corlib *** Namespace: System.Security.Cryptography Thanks to the work of many people this namespace is almost complete. **** Status *** Namespace: System.Security.Cryptography.X509Certificates **** Status **** Notes
** Assembly: System.Security *** Namespace: System.Security.Cryptography.Xml This namespace implements the XML Digital Signature specification from W3C. **** Status
** Assembly: Mono.Security Rational: This assembly provides the missing pieces to .NET security. On Windows CryptoAPI is often used to provide much needed functionalities (like some cryptographic algorithms, code signing, X.509 certificates). Mono, for platform independance, implements these functionalities in 100% managed code. *** Namespace: Mono.Security *** Namespace: Mono.Security.Authenticode *** Namespace: Mono.Security.Cryptography *** Namespace: Mono.Security.Protocol.* *** Namespace: Mono.Security.X509.* **** Status
** Assembly: Mono.Security.Win32 Rational: 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 (e.g. referecing the assembly from a project). 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). See the file /mcs/class/Mono.Security.Win32/README for complete instructions. *** Namespace: Mono.Security.Cryptography **** Status **** TODO **** Ideas
** 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 X.509 certificates classes. Note: WSE is distributed as an add-on because some specifications, like WS-Security, aren't yet completed by OASIS or other committees. *** Namespace: Microsoft.Web.Services.Security **** Status **** TODO *** Namespace: Microsoft.Web.Services.Timestamp **** Status *** Namespace: Microsoft.Web.Services.Security.X509 **** Status **** TODO *** Notes
** Tools There are many tools in the .NET framework that indirectly interacts with some cryptographic classes. Unless noted the tools should work on any CLR (tested with both Mono and Microsoft). **** Status The following tools are complete (or mostly complete): Somewhat usable, somewhat incomplete: **** TODO The following tools are still missing or largely incomplete: Note that many of the tools requires the class library and/or the runtime to be ready for them. E.g. StrongName and Authenticode signatures tools are of limited use until supported by the runtime.
** References
** How to Help
Last reviewed: June 26, 2004 (mono release candidate 1)