public void Sign_CertificatePassed_Success(string sourcePath, string destPath) { using MemoryStream stream = FileCloner.CopyFileStreamToMemoryStream(sourcePath); using (OpenXmlPackage openXmlPackage = Open(stream, true, sourcePath)) { X509Certificate2 certificate = DigitalSignatureManager .GetSigningCertificates() .OfType <X509Certificate2>() .First(); PackageDigitalSignature signature = OpenXmlDigitalSignatureManager.Sign(openXmlPackage, certificate); VerifyResult verifyResult = signature.Verify(); Assert.Equal(VerifyResult.Success, verifyResult); } File.WriteAllBytes(destPath, stream.ToArray()); }
public void Sign_CertificatePassed_ExcelWorkbookSigned() { const string path = "Resources\\UnsignedWorkbook.xlsx"; using MemoryStream stream = FileCloner.CopyFileStreamToMemoryStream(path); using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(stream, true)) { X509Certificate2 certificate = DigitalSignatureManager .GetSigningCertificates() .OfType<X509Certificate2>() .First(); DigitalSignatureManager.Sign(spreadsheetDocument.Package, certificate); } using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(stream, false)) { VerifyResult verifyResult = DigitalSignatureManager.VerifySignature(spreadsheetDocument.Package); Assert.Equal(VerifyResult.Success, verifyResult); } File.WriteAllBytes("SignedWorkbook.xlsx", stream.ToArray()); }