Skip to content

Commit 21f44fd

Browse files
committed
refactor (MD5): Remove custom MD5, use inbuilt framework version.
Since conditionals were removed for silverlight, can leverage framework MD5 now.
1 parent 6d61573 commit 21f44fd

File tree

3 files changed

+40
-410
lines changed

3 files changed

+40
-410
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System.IO;
2+
using FluentAssertions;
3+
using PdfSharpCore.Drawing;
4+
using PdfSharpCore.Pdf;
5+
using PdfSharpCore.Pdf.IO;
6+
using PdfSharpCore.Pdf.Security;
7+
using Xunit;
8+
9+
namespace PdfSharpCore.Test.Security
10+
{
11+
public class PdfSecurity
12+
{
13+
[Theory]
14+
[InlineData(PdfDocumentSecurityLevel.Encrypted40Bit, "hunter1")]
15+
[InlineData(PdfDocumentSecurityLevel.Encrypted128Bit, "hunter1")]
16+
public void CreateAndReadPasswordProtectedPdf(PdfDocumentSecurityLevel securityLevel, string password)
17+
{
18+
var document = new PdfDocument();
19+
var pageNewRenderer = document.AddPage();
20+
var renderer = XGraphics.FromPdfPage(pageNewRenderer);
21+
renderer.DrawString("Test Test Test", new XFont("Arial", 12), XBrushes.Black, new XPoint(12, 12));
22+
document.SecuritySettings.DocumentSecurityLevel = securityLevel;
23+
document.SecuritySettings.UserPassword = password;
24+
25+
using var ms = new MemoryStream();
26+
document.Save(ms);
27+
ms.Position = 0;
28+
29+
var loadDocument = Pdf.IO.PdfReader.Open(ms, PdfDocumentOpenMode.Modify,
30+
delegate(PdfPasswordProviderArgs args) { args.Password = password; });
31+
32+
loadDocument.PageCount.Should().Be(1);
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)