-
Notifications
You must be signed in to change notification settings - Fork 1
/
ReadySignatureSigner.cs
38 lines (34 loc) · 1.25 KB
/
ReadySignatureSigner.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using iText.Kernel.Pdf;
using iText.Signatures;
using System.IO;
namespace PdfSignSamplePkcs1
{
/// <summary>
/// This implementation of IExternalSignatureContainer is used to apply the signature to the prepared pdf document
/// </summary>
internal class ReadySignatureSigner : IExternalSignatureContainer
{
private readonly byte[] cmsSignatureContents;
/// <summary>
/// ctor which sets the CMS to be applied in the sign operation
/// </summary>
/// <param name="cmsSignatureContents"></param>
internal ReadySignatureSigner(byte[] cmsSignatureContents)
{
this.cmsSignatureContents = cmsSignatureContents;
}
/// <summary>
/// This Sign method is called internally during iText SignExternalContainer() method call
/// Here we just return the pkcs7 CMS which was set in the ctor and already contains the signature
/// </summary>
/// <param name="data">the data to sign. This is not required</param>
/// <returns></returns>
public virtual byte[] Sign(Stream data)
{
return cmsSignatureContents;
}
public virtual void ModifySigningDictionary(PdfDictionary signDic)
{
}
}
}