2 // ExtendedKeyUsageExtensionTest.cs - NUnit Test Cases for
3 // Mono.Security.X509.Extensions.ExtendedKeyUsageExtension
6 // Sebastien Pouliot <sebastien@ximian.com>
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
15 using Mono.Security.X509;
16 using Mono.Security.X509.Extensions;
18 using NUnit.Framework;
20 namespace MonoTests.Mono.Security.X509.Extensions {
23 public class ExtendedKeyUsageExtensionTest {
25 static string[] CommonKeyPurposes = {
40 private void Empty (ExtendedKeyUsageExtension eku)
42 Assert.IsFalse (eku.Critical, "Critical");
43 Assert.AreEqual ("2.5.29.37", eku.Oid, "Oid");
44 Assert.IsNotNull (eku.Name, "Name");
45 Assert.IsFalse (eku.Name == eku.Oid, "Name!=Oid");
46 Assert.AreEqual (0, eku.KeyPurpose.Count, "KeyPurpose");
50 public void Constructor_Empty ()
52 ExtendedKeyUsageExtension eku = new ExtendedKeyUsageExtension ();
57 public void Constructor_Extension ()
59 ExtendedKeyUsageExtension ext = new ExtendedKeyUsageExtension ();
60 ExtendedKeyUsageExtension eku = new ExtendedKeyUsageExtension (ext);
65 public void Constructor_ASN1 ()
67 ExtendedKeyUsageExtension ext = new ExtendedKeyUsageExtension ();
68 ExtendedKeyUsageExtension eku = new ExtendedKeyUsageExtension (ext.ASN1);
73 public void KeyPurpose_NotCritical ()
75 ExtendedKeyUsageExtension eku = new ExtendedKeyUsageExtension ();
76 foreach (string oid in CommonKeyPurposes) {
77 eku.KeyPurpose.Clear ();
78 eku.KeyPurpose.Add (oid);
79 Assert.AreEqual ("30-13-06-03-55-1D-25-04-0C-30-0A-06-08-2B-06-01-05-05-07-03-0"
80 + oid [oid.Length - 1].ToString (), BitConverter.ToString (eku.GetBytes ()), oid);
85 public void KeyPurpose_Critical ()
87 ExtendedKeyUsageExtension eku = new ExtendedKeyUsageExtension ();
89 foreach (string oid in CommonKeyPurposes) {
90 eku.KeyPurpose.Clear ();
91 eku.KeyPurpose.Add (oid);
92 Assert.AreEqual ("30-16-06-03-55-1D-25-01-01-FF-04-0C-30-0A-06-08-2B-06-01-05-05-07-03-0"
93 + oid[oid.Length - 1].ToString (), BitConverter.ToString (eku.GetBytes ()), oid);