Class PdfSignature
A class that represents a PDF signing certificate (.PFX or .p12) format which can be used to digitally sign a PDF. This protecting it from alteration, Also PKCS11 converted to 12.
Inheritance
Namespace: IronPdf.Signing
Assembly: IronPdf.dll
Syntax
public class PdfSignature : Object
PdfSignature is the object IronPDF C# code works with for PDF signing. It represents that represents a PDF signing certificate (.PFX or .p12) format which can be used to digitally sign a PDF.
PdfSignature matters when an application needs to configure or invoke PDF signing from C# code. The class encapsulates the related options and behavior in a single object that is set up once and reused across render or processing calls. Typical scenarios include batch generation pipelines, templated document workflows, and integration with existing C# document services.
To use PdfSignature, instantiate or obtain it from the relevant entry point in the IronPDF C# API. Key methods include FromBase64, LoadSignatureImageFromFile, LoadSignatureImageFromStream. Assign options or invoke methods on the instance to configure or perform the operation. The signing covers typical usage in C# end to end.
using IronPdf;
// Obtain PdfSignature from the relevant entry point in the IronPDF API
void Configure(PdfSignature instance)
{
instance.FromBase64();
}For the broader workflow, see the signing PDF with hsm guide in the IronPDF C# documentation. For broader context, the PDF signing portion of the IronPDF C# API contains related types that work with PdfSignature directly. PdfSignature exposes additional members beyond those highlighted above; the reference tables on this page list the full set. In application code, treat PdfSignature as a configured object that is constructed once and reused across operations rather than instantiated per call. Configuration is generally idempotent: assigning the same property value twice has the same effect as assigning it once. For diagnostic purposes, inspect the relevant PdfSignature property after each operation to confirm the configured state. See the constructors, properties, and methods tables below for the complete API surface of PdfSignature.
Constructors
PdfSignature(Byte[], String, String)
Initializes a new instance of the PdfSignature class.
Declaration
public PdfSignature(byte[] CertificateRawData, string Password, string TimeStampUrl = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Byte[] | CertificateRawData | The certificate as a binary data (byte array). |
| System.String | Password | The certificate's password. |
| System.String | TimeStampUrl | Url used for time-stamping the signature. |
PdfSignature(X509Certificate2)
Initializes a new instance of the PdfSignature class. Not working in docker mode (Installation.UseIronPdfEngineDocker)
Declaration
public PdfSignature(X509Certificate2 exportableNativeCertificate)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Security.Cryptography.X509Certificates.X509Certificate2 | exportableNativeCertificate | The exportable native certificate as a System.Security.Cryptography.X509Certificates.X509Certificate2. |
PdfSignature(String, String, String)
Initializes a new instance of the PdfSignature class using a .pfx or .p12 digital signature file.
Declaration
public PdfSignature(string FilePathToCertificate, string Password, string TimeStampUrl = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | FilePathToCertificate | The file path to certificate. |
| System.String | Password | The certificate's password. |
| System.String | TimeStampUrl | Url used for time-stamping the signature. |
Fields
ContactInformation
The contact phone number or email address for signing related inquiries (optional).
Declaration
public string ContactInformation
Field Value
| Type | Description |
|---|---|
| System.String |
SignatureDate
The date and time of the digital signature. If left null, the signature will be timestamped at the millisecond that the PdfDocument is saved to Disk or Stream.
Declaration
public Nullable<DateTime> SignatureDate
Field Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |
SignatureImage
A visual image for the sign, often a PNG of a human signature or company stamp (optional).
This appends a visual signature in addition to cryptographic signing.
LoadSignatureImageFromFile(String, Int32, Rectangle)LoadSignatureImageFromStream(Stream, Int32, Rectangle)Declaration
public PdfSignatureImage SignatureImage
Field Value
| Type | Description |
|---|---|
| PdfSignatureImage |
SigningContact
The contact person (optional).
Declaration
public string SigningContact
Field Value
| Type | Description |
|---|---|
| System.String |
SigningLocation
The physical location the PDF was signed (optional).
Declaration
public string SigningLocation
Field Value
| Type | Description |
|---|---|
| System.String |
SigningReason
The reason the PDF was signed (optional).
Declaration
public string SigningReason
Field Value
| Type | Description |
|---|---|
| System.String |
TimestampHashAlgorithm
Algorithm requested to be used by the time-stamping server
Declaration
public TimestampHashAlgorithms TimestampHashAlgorithm
Field Value
| Type | Description |
|---|---|
| TimestampHashAlgorithms |
TimeStampUrl
Url to be used when time-stamping the signature
Declaration
public string TimeStampUrl
Field Value
| Type | Description |
|---|---|
| System.String |
Methods
FromBase64(String, String, String)
Create a new PDF signature from the specified base64 string
Declaration
public static PdfSignature FromBase64(string Base64, string Password = null, string TimeStampUrl = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | Base64 | Base-64 string which represents a certificate |
| System.String | Password | Certificate password |
| System.String | TimeStampUrl | Optional Time-stamping URL |
Returns
| Type | Description |
|---|---|
| PdfSignature | PDF signature |
LoadSignatureImageFromFile(String, Int32, Rectangle)
Loads a signature image from an image file. This appends a visual signature in addition to cryptographic signing.
Declaration
public void LoadSignatureImageFromFile(string FilePath, int PageIndex, Rectangle Rectangle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | FilePath | Image path |
| System.Int32 | PageIndex | Page index to display image |
| IronSoftware.Drawing.Rectangle | Rectangle | Rectangle to display image |
LoadSignatureImageFromStream(Stream, Int32, Rectangle)
Loads a signature image from a stream. This appends visual signature in addition to cryptographic signing.
Declaration
public void LoadSignatureImageFromStream(Stream Stream, int PageIndex, Rectangle Rectangle)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.Stream | Stream | The image file as a stream. |
| System.Int32 | PageIndex | Page index to display image |
| IronSoftware.Drawing.Rectangle | Rectangle | Rectangle to display image |