---
title: "PadesPolicySpec"
description: "Namespace: Lacuna.Pki.Pades"
canonical: "https://docs.lacunasoftware.com/api/Lacuna.Pki.Pades/PadesPolicySpec"
locale: "pt-BR"
product: "PKI SDK"
last_updated: "2026-06-02"
---

# PadesPolicySpec

**Namespace:** `Lacuna.Pki.Pades`  
**Assembly:** `Lacuna.Pki`  
_Class_

```csharp
public class PadesPolicySpec : ITrustArbitrator
```

**Hierarquia:** [`object`](https://learn.microsoft.com/dotnet/api/system.object) → `PadesPolicySpec`

## Construtores

### `PadesPolicySpec()`

```csharp
public PadesPolicySpec()
```

---

## Propriedades

### `DigestAlgorithms`

```csharp
public List<DigestAlgorithm> DigestAlgorithms { get; set; }
```

**Retorno**

[`List<DigestAlgorithm>`](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)

---

### `SignatureAlgorithms`

```csharp
public List<SignatureAlgorithm> SignatureAlgorithms { get; set; }
```

**Retorno**

[`List<SignatureAlgorithm>`](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)

---

### `SignerSpecs`

Policies for PadesSigner signature creation or validation

```csharp
public SignerSpecs SignerSpecs { get; set; }
```

**Retorno**

[`SignerSpecs`](https://docs.lacunasoftware.com/api/Lacuna.Pki.Pades/SignerSpecs)

---

### `SigningPeriodEnd`

```csharp
public DateTimeOffset SigningPeriodEnd { get; set; }
```

**Retorno**

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

---

### `SigningPeriodStart`

```csharp
public DateTimeOffset SigningPeriodStart { get; set; }
```

**Retorno**

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

---

### `StamperSpecs`

Policies for timestamp creation and validation through PadesTimestamper

```csharp
public StamperSpecs StamperSpecs { get; set; }
```

**Retorno**

[`StamperSpecs`](https://docs.lacunasoftware.com/api/Lacuna.Pki.Pades/StamperSpecs)

---

## Métodos

### `AddTrustArbitrator(IEnumerable<ITrustArbitrator>)`

```csharp
public void AddTrustArbitrator(IEnumerable<ITrustArbitrator> arbitrators)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `arbitrators` | [`IEnumerable<ITrustArbitrator>`](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1) |  |

---

### `AddTrustArbitrator(ITrustArbitrator, bool)`

```csharp
public void AddTrustArbitrator(ITrustArbitrator arbitrator, bool propagateToTimestampPolicies = false)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `arbitrator` | [`ITrustArbitrator`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ITrustArbitrator) |  |
| `propagateToTimestampPolicies` | [`bool`](https://learn.microsoft.com/dotnet/api/system.boolean) |  |

---

### `ClearTrustArbitrators(bool)`

```csharp
public void ClearTrustArbitrators(bool propagateToTimestampPolicies = false)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `propagateToTimestampPolicies` | [`bool`](https://learn.microsoft.com/dotnet/api/system.boolean) |  |

---

### `GetBasic(ITrustArbitrator)`

Returns PAdES-BES signature policy

```csharp
public static PadesPolicySpec GetBasic(ITrustArbitrator arbitrator = null)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `arbitrator` | [`ITrustArbitrator`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ITrustArbitrator) | The TrustArbitrator for certificates validation. If omitted, Windows roots are used. |

**Retorno**

[`PadesPolicySpec`](https://docs.lacunasoftware.com/api/Lacuna.Pki.Pades/PadesPolicySpec)

---

### `GetCertificateStore()`

Returns a certificate store based on the arbitrator root certificates

```csharp
public ICertificateStore GetCertificateStore()
```

**Retorno**

[`ICertificateStore`](https://docs.lacunasoftware.com/api/Lacuna.Pki.Stores/ICertificateStore) — Certificate store based on the arbitrator root certificates. Can be null.

**Comentários**

If that method does not make sense for your implementation or there is
            no certificate in your arbitrator logic, it can return null.

---

### `GetFailureLevel(ValidationItemTypes)`

```csharp
public ValidationFailureLevels GetFailureLevel(ValidationItemTypes failureType)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `failureType` | [`ValidationItemTypes`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ValidationItemTypes) |  |

**Retorno**

[`ValidationFailureLevels`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ValidationFailureLevels)

---

### `GetPadesT(ITrustArbitrator)`

```csharp
public static PadesPolicySpec GetPadesT(ITrustArbitrator arbitrator = null)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `arbitrator` | [`ITrustArbitrator`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ITrustArbitrator) |  |

**Retorno**

[`PadesPolicySpec`](https://docs.lacunasoftware.com/api/Lacuna.Pki.Pades/PadesPolicySpec)

---

### `IsRootTrusted(PKCertificate, DateTimeOffset?, out ValidationResults)`

Determines whether a given PKCertificate is trusted, optionally outputting a ValidationResults object
that represents validations done while asserting the trust status.

```csharp
public bool IsRootTrusted(PKCertificate root, DateTimeOffset? dateReference, out ValidationResults vr)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `root` | [`PKCertificate`](https://docs.lacunasoftware.com/api/Lacuna.Pki/PKCertificate) | The certificate for which the trust status must be determined. |
| `dateReference` | [`DateTimeOffset?`](https://learn.microsoft.com/dotnet/api/system.datetimeoffset) | An optional date reference on which the trust is to be asserted. If null, validation is done considering the present moment (now). |
| `vr` | [`ValidationResults`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ValidationResults) | The retults of the validations necessary to assertain the trust status. Implementors of this interface should set this parameter to null             if no validations where required. |

**Retorno**

[`bool`](https://learn.microsoft.com/dotnet/api/system.boolean) — Whether the given certificate is to be trusted or not.

---

### `SetFailureLevel(ValidationItemTypes, ValidationFailureLevels)`

```csharp
public void SetFailureLevel(ValidationItemTypes failureType, ValidationFailureLevels level)
```

**Parâmetros**

| Nome | Tipo | Descrição |
|---|---|---|
| `failureType` | [`ValidationItemTypes`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ValidationItemTypes) |  |
| `level` | [`ValidationFailureLevels`](https://docs.lacunasoftware.com/api/Lacuna.Pki/ValidationFailureLevels) |  |

---

## Membros herdados

[`ToString()`](https://learn.microsoft.com/dotnet/api/system.object.tostring), [`Equals(object)`](<https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)>), [`Equals(object, object)`](<https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)>), [`ReferenceEquals(object, object)`](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [`GetHashCode()`](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [`GetType()`](https://learn.microsoft.com/dotnet/api/system.object.gettype), [`MemberwiseClone()`](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone)
