Imported Upstream version 6.6.0.89

Former-commit-id: b39a328747c2f3414dc52e009fb6f0aa80ca2492
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-09-24 08:53:40 +00:00
parent cf815e07e0
commit 95fdb59ea6
2556 changed files with 138145 additions and 47453 deletions

View File

@ -720,5 +720,34 @@ namespace MonoTests.Mono.Security.Authenticode {
Assert.IsNull (ad.Certificates, "Certificates");
Assert.IsNull (ad.SigningCertificate, "SigningCertificate");
}
[Test]
public void VerifySignedAssemblyInMemory ()
{
AuthenticodeDeformatter ad = new AuthenticodeDeformatter (helloworld_signed);
// note: it's a valid signed PE file - but it doesn't
// mean it's root is trusted on the current system
Assert.IsTrue (((ad.Reason == 0) || (ad.Reason == 6)), "Reason");
Assert.AreEqual ("35-A5-21-3B-FC-FE-FA-40-97-AA-BB-DE-3B-52-15-6F", BitConverter.ToString (ad.Hash), "Hash");
Assert.AreEqual (632011370700000000, ad.Timestamp.ToUniversalTime ().Ticks, "Timestamp");
Assert.AreEqual (4, ad.Certificates.Count, "#Certificates");
Assert.AreEqual ("C=ZA, S=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA, E=server-certs@thawte.com", ad.SigningCertificate.IssuerName, "IssuerName");
Assert.AreEqual ("C=CA, S=Quebec, L=Quebec, O=Motus Technologies Inc., OU=Secure Application Development, CN=Motus Technologies Inc.", ad.SigningCertificate.SubjectName, "SubjectName");
}
[Test]
public void VerifyUnsignedAssemblyInMemory ()
{
string filename = Assembly.GetExecutingAssembly ().Location;
byte[] data = File.ReadAllBytes (filename);
AuthenticodeDeformatter ad = new AuthenticodeDeformatter (data);
// no digital signature
Assert.AreEqual (1, ad.Reason, "Reason");
Assert.IsNull (ad.Hash, "Hash");
Assert.AreEqual (DateTime.MinValue, ad.Timestamp, "Timestamp");
Assert.IsNull (ad.Certificates, "Certificates");
Assert.IsNull (ad.SigningCertificate, "SigningCertificate");
}
}
}