# PdfSignatureOptions class

> How to sign. PdfSignatureOptions class, PdfNetStack.Signing namespace.

Namespace: [PdfNetStack.Signing](https://www.jadev-corp.com/api/pdfnetstack-signing/)  
Assembly: PdfNetStack.dll  
Package: `PdfNetStack`

How to sign.

```csharp
public sealed record PdfSignatureOptions : IEquatable<PdfSignatureOptions>
```

**Inheritance**

[object](https://learn.microsoft.com/dotnet/api/system.object) ← 
[PdfSignatureOptions](https://www.jadev-corp.com/api/pdfnetstack-signing/pdfsignatureoptions/)

**Implements**

[IEquatable&lt;PdfSignatureOptions\>](https://learn.microsoft.com/dotnet/api/system.iequatable\-1)

## Properties

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Appearance"></a> Appearance

A visible signature, or null for an invisible one.

```csharp
public PdfSignatureAppearance? Appearance { get; init; }
```

#### Property Value

 [PdfSignatureAppearance](https://www.jadev-corp.com/api/pdfnetstack-signing/pdfsignatureappearance/)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Chain"></a> Chain

Intermediate certificates to embed, so validators can build the chain to a trusted root.

```csharp
public IReadOnlyList<X509Certificate2> Chain { get; init; }
```

#### Property Value

 [IReadOnlyList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ireadonlylist\-1)<[X509Certificate2](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.x509certificate2)\>

### <a id="PdfNetStack_Signing_PdfSignatureOptions_ContactInfo"></a> ContactInfo

How to reach the signer.

```csharp
public string? ContactInfo { get; init; }
```

#### Property Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Digest"></a> Digest

The hash. Default SHA-256.

```csharp
public PdfDigestAlgorithm Digest { get; init; }
```

#### Property Value

 [PdfDigestAlgorithm](https://www.jadev-corp.com/api/pdfnetstack-signing/pdfdigestalgorithm/)

### <a id="PdfNetStack_Signing_PdfSignatureOptions_FieldName"></a> FieldName

The signature field's name; null picks Signature1, Signature2 and so on.

```csharp
public string? FieldName { get; init; }
```

#### Property Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Location"></a> Location

Where it is signed.

```csharp
public string? Location { get; init; }
```

#### Property Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Reason"></a> Reason

Why the document is signed.

```csharp
public string? Reason { get; init; }
```

#### Property Value

 [string](https://learn.microsoft.com/dotnet/api/system.string)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_SigningTime"></a> SigningTime

The signing time recorded in the signature dictionary; null for now.

```csharp
public DateTimeOffset? SigningTime { get; init; }
```

#### Property Value

 [DateTimeOffset](https://learn.microsoft.com/dotnet/api/system.datetimeoffset)?

### <a id="PdfNetStack_Signing_PdfSignatureOptions_Timestamp"></a> Timestamp

A time stamp authority to timestamp the signature value (PAdES B-T); null for none (B-B).
The token goes in the CMS signature as an unsigned attribute.

```csharp
public PdfTimestampClient? Timestamp { get; init; }
```

#### Property Value

 [PdfTimestampClient](https://www.jadev-corp.com/api/pdfnetstack-signing/pdftimestampclient/)?

## Used in

- [Digitally sign PDF files in C# and .NET](https://www.jadev-corp.com/guides/signatures/)

Source: https://www.jadev-corp.com/pdfnetstack/api/pdfnetstack-signing/pdfsignatureoptions/
