// (C) 2004 Novell (http://www.novell.com)
//
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
using System;
+using System.Globalization;
using System.Text;
using Mono.Security;
// note: because nothing is simple in ASN.1 bits are reversed
[Flags]
- public enum CertType {
+ public enum CertTypes {
SslClient = 0x80,
SslServer = 0x40,
Smime = 0x20,
ObjectSigning = 0x10,
- SslCa = 0x04,
- SmimeCa = 0x02,
+ SslCA = 0x04,
+ SmimeCA = 0x02,
ObjectSigningCA = 0x01
}
extnOid = "2.16.840.1.113730.1.1";
}
- public NetscapeCertTypeExtension (ASN1 asn1) : base (asn1) {}
+ public NetscapeCertTypeExtension (ASN1 asn1) : base (asn1)
+ {
+ }
- public NetscapeCertTypeExtension (X509Extension extension) : base (extension) {}
+ public NetscapeCertTypeExtension (X509Extension extension) : base (extension)
+ {
+ }
protected override void Decode ()
{
set { ctbits = value; }
}*/
- public bool Support (CertType usage)
+ public bool Support (CertTypes usage)
{
- int x = Convert.ToInt32 (usage);
+ int x = Convert.ToInt32 (usage, CultureInfo.InvariantCulture);
return ((x & ctbits) == x);
}
{
const string separator = " , ";
StringBuilder sb = new StringBuilder ();
- if (Support (CertType.SslClient))
+ if (Support (CertTypes.SslClient))
sb.Append ("SSL Client Authentication");
- if (Support (CertType.SslServer)) {
+ if (Support (CertTypes.SslServer)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("SSL Server Authentication");
}
- if (Support (CertType.Smime)) {
+ if (Support (CertTypes.Smime)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("SMIME");
}
- if (Support (CertType.ObjectSigning)) {
+ if (Support (CertTypes.ObjectSigning)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("Object Signing");
}
- if (Support (CertType.SslCa)) {
+ if (Support (CertTypes.SslCA)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("SSL CA");
}
- if (Support (CertType.SmimeCa)) {
+ if (Support (CertTypes.SmimeCA)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("SMIME CA");
}
- if (Support (CertType.ObjectSigningCA)) {
+ if (Support (CertTypes.ObjectSigningCA)) {
if (sb.Length > 0)
sb.Append (separator);
sb.Append ("Object Signing CA");
}
sb.Append ("(");
- sb.Append (ctbits.ToString ("X2"));
+ sb.Append (ctbits.ToString ("X2", CultureInfo.InvariantCulture));
sb.Append (")");
sb.Append (Environment.NewLine);
return sb.ToString ();