You've already forked linux-packaging-mono
Imported Upstream version 5.8.0.22
Former-commit-id: df344e34b07851d296efb3e6604c8db42b6f7aa3
This commit is contained in:
parent
5f4a27cc8a
commit
7d05485754
@ -33,11 +33,10 @@ namespace MonoTests.System.Security.Cryptography.Xml {
|
||||
{
|
||||
Assert.IsNull (reference.Uri, "Uri (null)");
|
||||
Assert.IsNotNull (reference.TransformChain, "TransformChain");
|
||||
Assert.AreEqual ("System.Security.Cryptography.Xml.Reference", reference.ToString (), "ToString()");
|
||||
// test uri constructor
|
||||
string uri = "uri";
|
||||
reference = new Reference (uri);
|
||||
Assert.AreEqual ("http://www.w3.org/2000/09/xmldsig#sha1", reference.DigestMethod, "DigestMethod");
|
||||
Assert.AreEqual (SignedXml.XmlDsigSHA256Url, reference.DigestMethod, "DigestMethod");
|
||||
Assert.IsNull (reference.DigestValue, "DigestValue");
|
||||
Assert.IsNull (reference.Id, "Id");
|
||||
Assert.IsNull (reference.Type, "Type");
|
||||
@ -158,17 +157,10 @@ namespace MonoTests.System.Security.Cryptography.Xml {
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Category ("NotDotNet")]
|
||||
// MS throws a NullReferenceException (reported as FDBK25886) but only when executed in NUnit
|
||||
// http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=3596d1e3-362b-40bd-bca9-2e8be75261ff
|
||||
public void AddAllTransforms ()
|
||||
{
|
||||
// adding an empty hash value
|
||||
byte[] hash = new byte [20];
|
||||
reference.DigestValue = hash;
|
||||
XmlElement xel = reference.GetXml ();
|
||||
// this is the minimal Reference (DigestValue)!
|
||||
Assert.IsNotNull (xel, "GetXml");
|
||||
reference.DigestMethod = SignedXml.XmlDsigSHA1Url;
|
||||
reference.DigestValue = new byte [20];
|
||||
|
||||
reference.AddTransform (new XmlDsigBase64Transform ());
|
||||
reference.AddTransform (new XmlDsigC14NTransform ());
|
||||
@ -177,13 +169,8 @@ namespace MonoTests.System.Security.Cryptography.Xml {
|
||||
reference.AddTransform (new XmlDsigXPathTransform ());
|
||||
reference.AddTransform (new XmlDsigXsltTransform ());
|
||||
|
||||
// MS's results
|
||||
string test1 = "<Reference xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\" /><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath></XPath></Transform><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</DigestValue></Reference>";
|
||||
// Mono's result (xml is equivalent but not identical)
|
||||
string test2 = test1.Replace ("<XPath></XPath>", "<XPath xmlns=\"http://www.w3.org/2000/09/xmldsig#\" />");
|
||||
string result = reference.GetXml().OuterXml;
|
||||
Assert.IsTrue (((result == test1) || (result == test2)), result);
|
||||
// however this value cannot be loaded as it's missing some transform (xslt) parameters
|
||||
const string expected = "<Reference xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><Transforms><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\" /><Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\" /><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath /></Transform><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\" /></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\" /><DigestValue>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</DigestValue></Reference>";
|
||||
Assert.That (reference.GetXml ().OuterXml, Is.EqualTo (expected), "OuterXml");
|
||||
|
||||
// can we add them again ?
|
||||
reference.AddTransform (new XmlDsigBase64Transform ());
|
||||
|
Reference in New Issue
Block a user