New test.
[mono.git] / mcs / class / Mono.Security / Mono.Security.X509.Extensions / NetscapeCertTypeExtension.cs
old mode 100755 (executable)
new mode 100644 (file)
index 4278ca9..c097bd0
@@ -7,7 +7,29 @@
 // (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;
@@ -38,13 +60,13 @@ namespace Mono.Security.X509.Extensions {
 
                // 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
                }
 
@@ -55,9 +77,13 @@ namespace Mono.Security.X509.Extensions {
                        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 () 
                {
@@ -78,9 +104,9 @@ namespace Mono.Security.X509.Extensions {
                        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);
                }
 
@@ -88,40 +114,40 @@ namespace Mono.Security.X509.Extensions {
                {
                        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 ();