# PdfSignatureInfo class

> What Verify found about one signature or document timestamp.

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

What [Verify](https://www.jadev-corp.com/api/pdfnetstack-signing/pdfsigner/#PdfNetStack_Signing_PdfSigner_Verify_System_Byte___) found about one signature or document timestamp.

```csharp
public sealed class PdfSignatureInfo
```

**Inheritance**

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

## Properties

### <a id="PdfNetStack_Signing_PdfSignatureInfo_Certificate"></a> Certificate

The signing certificate, for the caller's trust decision; the authority's for a document timestamp.

```csharp
public X509Certificate2? Certificate { get; }
```

#### Property Value

 [X509Certificate2](https://learn.microsoft.com/dotnet/api/system.security.cryptography.x509certificates.x509certificate2)?

### <a id="PdfNetStack_Signing_PdfSignatureInfo_CoversWholeDocument"></a> CoversWholeDocument

True when the signature covers the whole file: nothing was appended after it.

```csharp
public bool CoversWholeDocument { get; }
```

#### Property Value

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="PdfNetStack_Signing_PdfSignatureInfo_DigestMatches"></a> DigestMatches

True when the signed bytes still hash to the value the signature covers.

```csharp
public bool DigestMatches { get; }
```

#### Property Value

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

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

The signature field's fully qualified name.

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

#### Property Value

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

### <a id="PdfNetStack_Signing_PdfSignatureInfo_IsDocumentTimestamp"></a> IsDocumentTimestamp

True for a document timestamp (/DocTimeStamp): an RFC 3161 token over the document, with no signer.

```csharp
public bool IsDocumentTimestamp { get; }
```

#### Property Value

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="PdfNetStack_Signing_PdfSignatureInfo_IsIntact"></a> IsIntact

The signed content is intact and the signature is cryptographically valid. Trust in the certificate is a separate decision.

```csharp
public bool IsIntact { get; }
```

#### Property Value

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

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

The location given.

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

#### Property Value

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

### <a id="PdfNetStack_Signing_PdfSignatureInfo_Problem"></a> Problem

Why verification failed, or null.

```csharp
public string? Problem { get; }
```

#### Property Value

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

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

The reason given.

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

#### Property Value

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

### <a id="PdfNetStack_Signing_PdfSignatureInfo_SignatureValid"></a> SignatureValid

True when the signature verifies with the certificate's public key.

```csharp
public bool SignatureValid { get; }
```

#### Property Value

 [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="PdfNetStack_Signing_PdfSignatureInfo_SignerName"></a> SignerName

The signer's common name, from the certificate; the authority's for a document timestamp.

```csharp
public string? SignerName { get; }
```

#### Property Value

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

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

The time the signer's software recorded (/M), not a trusted timestamp.

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

#### Property Value

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

### <a id="PdfNetStack_Signing_PdfSignatureInfo_SubFilter"></a> SubFilter

The signature format, such as ETSI.CAdES.detached, adbe.pkcs7.detached, or ETSI.RFC3161 for a document timestamp.

```csharp
public string? SubFilter { get; }
```

#### Property Value

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

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

The signature timestamp (PAdES B-T), or the token of a document timestamp; null when there is none.

```csharp
public PdfTimestampInfo? Timestamp { get; }
```

#### Property Value

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

### <a id="PdfNetStack_Signing_PdfSignatureInfo_Validation"></a> Validation

The signer's certificate checks: chain, validity, usage, name constraints, revocation,
certificate policies and the qualified status the certificate claims. Null unless
[Verify](https://www.jadev-corp.com/api/pdfnetstack-signing/pdfsigner/#PdfNetStack_Signing_PdfSigner_Verify_System_Byte___PdfNetStack_Signing_PdfValidationOptions_) was given options. For a
document timestamp, the authority's checks.

```csharp
public PdfCertificateValidation? Validation { get; }
```

#### Property Value

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

## Used in

- [Work with large PDF files in C#](https://www.jadev-corp.com/guides/large-files/)
- [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/pdfsignatureinfo/
