public void Can_sign_using_keycontainer() { // ARRANGE var keyContainerName = Guid.NewGuid().ToString(); _keyContainerNameList.Add(keyContainerName); CspContainerUtils.ImportBlob(true, keyContainerName, KeyNumber.Signature, File.ReadAllBytes(TestSnk)); var outputFile = Path.Combine(TestContext.DeploymentDirectory, Path.ChangeExtension(Path.GetRandomFileName(), Extension)); var ilMerge = new ILMerge { KeyContainer = keyContainerName, OutputFile = outputFile }; ilMerge.SetUpInputAssemblyForTest(Assembly.GetExecutingAssembly()); // ACT ilMerge.Merge(); // ASSERT var expectedKeyBytes = new StrongNameKeyPair(File.ReadAllBytes(TestSnk)).PublicKey; var outputFileKeyBytes = AssemblyName.GetAssemblyName(outputFile).GetPublicKey(); CollectionAssert.AreEqual(expectedKeyBytes, outputFileKeyBytes, "Expected PublicKey bytes do not match-up to the generated assembly PublicKey bytes"); }
public void Can_sign_using_keycontainer() { var keyContainerName = Guid.NewGuid().ToString(); CspContainerUtils.ImportBlob(true, keyContainerName, KeyNumber.Signature, File.ReadAllBytes(TestFiles.TestSnk)); try { using (var outputFile = TempFile.WithExtension(".dll")) { var ilMerge = new ILMerge { KeyContainer = keyContainerName, OutputFile = outputFile }; ilMerge.SetUpInputAssemblyForTest(Assembly.GetExecutingAssembly()); ilMerge.Merge(); Assert.That( AssemblyName.GetAssemblyName(outputFile).GetPublicKey(), Is.EqualTo(new StrongNameKeyPair(File.ReadAllBytes(TestFiles.TestSnk)).PublicKey)); } } finally { CspContainerUtils.Delete(true, keyContainerName, KeyNumber.Signature); } }
public static void ClassCleanup() { _keyContainerNameList.ForEach(containerName => CspContainerUtils.Delete(true, containerName, KeyNumber.Signature)); }