// Sebastien Pouliot <sebastien@ximian.com>
//
// (C) 2003 Motus Technologies Inc. (http://www.motus.com)
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 Novell, Inc (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
{
Pkcs9AttributeObject a = new Pkcs9AttributeObject (defaultOid, null);
}
+
+ [Test]
+ [ExpectedException (typeof (ArgumentNullException))]
+ public void CopyFrom_Null ()
+ {
+ new Pkcs9AttributeObject ().CopyFrom (null);
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CopyFrom_SigningTime_Raw ()
+ {
+ Pkcs9SigningTime st = new Pkcs9SigningTime (DateTime.UtcNow);
+ Pkcs9AttributeObject a = new Pkcs9AttributeObject ();
+ a.CopyFrom (new AsnEncodedData (st.RawData));
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CopyFrom_SigningTime_OidRaw ()
+ {
+ Pkcs9SigningTime st = new Pkcs9SigningTime (DateTime.UtcNow);
+ Pkcs9AttributeObject a = new Pkcs9AttributeObject ();
+ a.CopyFrom (new AsnEncodedData (st.Oid, st.RawData));
+ }
+
+ [Test]
+ [ExpectedException (typeof (ArgumentException))]
+ public void CopyFrom_Self ()
+ {
+ Pkcs9AttributeObject a = new Pkcs9AttributeObject ("1.2.3.4", new byte[2] { 0x05, 0x00 } );
+ a.CopyFrom (new AsnEncodedData (a.Oid, a.RawData));
+ }
}
}
}
[Test]
+ [ExpectedException (typeof (ArgumentException))]
public void CopyFrom ()
{
/* byte[] data = ASN1Convert.FromOid ("1.2.840.113549.1.7.1").GetBytes (); */
AsnEncodedData aed = new AsnEncodedData (data);
Pkcs9ContentType ct = new Pkcs9ContentType ();
ct.CopyFrom (aed);
- Assert.AreEqual ("1.2.840.113549.1.7.1", ct.ContentType.Value, "ContentType");
- Assert.IsNull (ct.Oid, "Oid");
- Assert.AreEqual (data, ct.RawData, "RawData");
}
[Test]
- [ExpectedException (typeof (CryptographicException))]
+ [ExpectedException (typeof (ArgumentException))]
public void CopyFrom_BadData ()
{
/* Note: this is the full structure (but only the OID part is required)
AsnEncodedData aed = new AsnEncodedData (data);
Pkcs9ContentType ct = new Pkcs9ContentType ();
ct.CopyFrom (aed);
- // CopyFrom works, but the exception comes when accessing the ContentType property
- Assert.IsNull (ct.ContentType);
}
}
}
}
[Test]
+ [ExpectedException (typeof (ArgumentException))]
public void CopyFrom ()
{
byte[] data = { 0x04, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
AsnEncodedData aed = new AsnEncodedData (data);
Pkcs9MessageDigest md = new Pkcs9MessageDigest ();
md.CopyFrom (aed);
- Assert.AreEqual ("00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F", BitConverter.ToString (md.MessageDigest), "MessageDigest");
- Assert.IsNull (md.Oid, "Oid");
- // null ??? reported as FDBK25795
- // http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=15bb72f0-22dd-4911-846e-143d6038c7cf
- Assert.AreEqual (data, md.RawData, "RawData");
}
[Test]
- [ExpectedException (typeof (CryptographicException))]
+ [ExpectedException (typeof (ArgumentException))]
public void CopyFrom_BadData ()
{
byte[] data = { 0x30, 0x18, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01 };
AsnEncodedData aed = new AsnEncodedData (data);
Pkcs9MessageDigest md = new Pkcs9MessageDigest ();
md.CopyFrom (aed);
- // CopyFrom works, but the exception comes when accessing the ContentType property
- Assert.IsNull (md.MessageDigest);
- }
-
- [Test]
- public void MessageDigest_ModifyContent ()
- {
- byte[] data = { 0x04, 0x10, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
- AsnEncodedData aed = new AsnEncodedData (data);
- Pkcs9MessageDigest md = new Pkcs9MessageDigest ();
- md.CopyFrom (aed);
- Assert.AreEqual ("00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F", BitConverter.ToString (md.MessageDigest), "MessageDigest-Before");
- md.MessageDigest[0] = 0xFF;
- Assert.AreEqual ("FF-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F", BitConverter.ToString (md.MessageDigest), "MessageDigest-After");
- // this is a reference - not a copy ?!?!
- // reported as FDBK25793
- // http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=8d95cf6d-24f4-4920-b95d-19fa04994578
}
}
}