public void ConstructorAsnEncodedData_BadAsn ()
		{
			AsnEncodedData aed = new AsnEncodedData ("1.2.3", new byte[0]);
			X509KeyUsageExtension ku = new X509KeyUsageExtension (aed, true);
			Assert.AreEqual (String.Empty, ku.Format (true), "Format(true)");
			Assert.AreEqual (String.Empty, ku.Format (false), "Format(false)");
			X509KeyUsageFlags kuf = ku.KeyUsages;
		}
		public void ConstructorEmpty () 
		{
			X509KeyUsageExtension ku = new X509KeyUsageExtension ();
			Assert.IsFalse (ku.Critical , "Critical");
			Assert.IsNull (ku.RawData, "RawData");
			Assert.AreEqual (oid, ku.Oid.Value, "Oid.Value");
			Assert.AreEqual (fname, ku.Oid.FriendlyName, "Oid.FriendlyName");
			Assert.AreEqual (String.Empty, ku.Format (true), "Format(true)");
			Assert.AreEqual (String.Empty, ku.Format (false), "Format(false)");
		}
		public void ConstructorAsnEncodedData ()
		{
			AsnEncodedData aed = new AsnEncodedData ("1.2.3", new byte[] { 0x03, 0x01, 0x00 });
			X509KeyUsageExtension ku = new X509KeyUsageExtension (aed, true);
			Assert.IsTrue (ku.Critical, "Critical");
			Assert.AreEqual (3, ku.RawData.Length, "RawData");	// original Oid ignored
			Assert.AreEqual (oid, ku.Oid.Value, "Oid.Value");
			Assert.AreEqual (fname, ku.Oid.FriendlyName, "Oid.FriendlyName");
			Assert.AreEqual ("Information Not Available", ku.Format (true), "Format(true)");
			Assert.AreEqual ("Information Not Available", ku.Format (false), "Format(false)");
			Assert.AreEqual (0, (int)ku.KeyUsages, "KeyUsages");
		}
		public void ConstructorEmpty () 
		{
			X509KeyUsageExtension ku = new X509KeyUsageExtension ();
			Assert.IsFalse (ku.Critical , "Critical");
			Assert.IsNull (ku.RawData, "RawData");
			Assert.AreEqual (oid, ku.Oid.Value, "Oid.Value");
			// FIXME: Don't expect that FriendlyName is English. This test fails under non-English Windows.
			//Assert.AreEqual (fname, ku.Oid.FriendlyName, "Oid.FriendlyName");
			Assert.AreEqual (String.Empty, ku.Format (true), "Format(true)");
			Assert.AreEqual (String.Empty, ku.Format (false), "Format(false)");
			Assert.AreEqual (0, (int)ku.KeyUsages, "KeyUsages");
		}
		public void ConstructorAsnEncodedData_BadAsnTag ()
		{
			AsnEncodedData aed = new AsnEncodedData ("1.2.3", new byte[] { 0x05, 0x00 });
			X509KeyUsageExtension ku = new X509KeyUsageExtension (aed, true);
			Assert.AreEqual ("0500", ku.Format (true), "Format(true)");
			Assert.AreEqual ("0500", ku.Format (false), "Format(false)");
			X509KeyUsageFlags kuf = ku.KeyUsages;
		}
		// [ExpectedException (typeof (...))]
		public void ConstructorKeyUsage_Invalid ()
		{
			X509KeyUsageFlags kuf = (X509KeyUsageFlags)Int32.MinValue;
			X509KeyUsageExtension ku = new X509KeyUsageExtension (kuf, false);
			Assert.AreEqual (0, (int)ku.KeyUsages, "KeyUsages");
			Assert.AreEqual ("03-01-00", BitConverter.ToString (ku.RawData), "RawData");
			Assert.AreEqual ("Information Not Available", ku.Format (true), "Format(true)");
			Assert.AreEqual ("Information Not Available", ku.Format (false), "Format(false)");
		}