[Mono-dev] System.Security vs Mono.Security

Sebastien Pouliot sebastien.pouliot at gmail.com
Thu Jan 15 09:37:29 EST 2009

On Thu, 2009-01-15 at 15:01 +0100, APS wrote:
> First of all thanks for the quick and complete answer.
> I'm trying to understand what part of my MS Framework-based can work 
> in Mono and what not, expecially for PKCS libraries used for signing 
> documents, and what classes I can use in future development to avoid 
> breaking compatibility.

PKCS support in System.Security.dll is very limited. It may (or not)
work for you (lots of different cases are possible and only a few are
supported). The biggest advantage is that it provide an high-level API.

PKCS support is Mono.Security.dll is more complete but it is a *very*
low-level API. If you don't know what ASN.1 is (and how it works) then
you'll find this very painful.

> Unfortunately links inside http://www.mono-project.com/Class_Status 
> relative to FX 1.1 and FX 2.0 points to missing pages.

Oops, I thought that was fixed.

> I had a look to 
> http://mono.ximian.com/class-status/2.0-vs-3.5/System.Security.xml.html 
> just to have an idea of what missing links contains and it's not 
> clear to me what 100% means. It means that all classes and method 
> exists, but they can return NotImplemented Exceptions or it means 
> that all methods are fully functional?

You should see:
* missing (not present) API with a red X
* API decorated with [MonoTODO] which means its not complete (or could
be totally unimplemented)

>  If I simply search for a class 
> inside http://www.go-mono.com/docs/ and I find it I can assume that 
> is implemented?

No. Many implemented classes are not documented.

> Maybe using MoMA will solve my doubt on current compatibility but it 
> would be useful to find out what I can use and what not for future 
> implementations.

Yes. MoMA should be useful for any existing code.

However some API (like the PKCS classes) are a bit difficult to express
clearly since they'll work (or not) based on how they are used together,
so YMMV.


> At 14.12 15/01/2009, Sebastien Pouliot wrote:
> >On Thu, 2009-01-15 at 13:27 +0100, APS wrote:
> > > Hi,
> > >
> > > I'm writing because I've not clear the difference between the two
> > > namespace System.Security and Mono.Security.
> >
> >Just like the rest of the Mono class libraries.
> >
> >- System.Security* are classes that are API compatible with MS
> >framework;
> >
> >- Mono.Security* are classes that are provided by Mono as extraneous
> >features (generally because Mono itself needed the feature and the FX
> >did not expose or provide them).
> >
> > > Reading this page http://www.mono-project.com/Cryptography I noticed
> > > for example that System.Security.Cryptography.X509Certificates is not
> > > yet implemented in Mono 1.1.x
> >
> >This namespace exists inside 3 different assemblies. The only part that
> >is NOT implemented resides inside the System.Security.dll assembly and
> >is related to two UI (user interface) classes.
> >
> > > but there is Mono.Security.X509 that seems to implement what is
> > > missing in System.Security
> >
> >Yes. Mono.Security was more complete than FX 1.x API. FX 2.0 has a more
> >elaborate API, in some respect it provides more than Mono.Security, in
> >other it provides less. Selection between them really depends on what
> >you want to do.
> >
> > > That doc is relative to mono 1.1 maybe is outdates?
> >
> >It's a bit old but not much out of date (not many recent changes were
> >made in them).
> >
> > > Where I can find the implementation status on Mono 2.x?
> >
> >http://www.mono-project.com/Class_Status
> >
> >Sebastien
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

More information about the Mono-devel-list mailing list