---
title: "Configuração de gerenciamento de certificados em nuvem - Amplia"
description: "Configuração da seção CertificateManagement do Amplia para hospedar certificados de usuário final e suas chaves privadas (certificados em nuvem)."
canonical: "https://docs.lacunasoftware.com/articles/amplia/on-premises/configure-cert-management"
locale: "pt-BR"
product: "Amplia"
last_updated: "2026-10-08"
---

# Configuração de gerenciamento de certificados em nuvem - Amplia

O [Amplia](https://docs.lacunasoftware.com/articles/amplia) pode ser usado para hospedar certificados de usuário final com as respectivas chaves privadas, comumente chamados de certificados *em nuvem*.
Em geral, isso é feito em conjunto com o [Lacuna PSC](https://docs.lacunasoftware.com/articles/psc).

Esse recurso é configurado na seção **CertificateManagement**, que tem as seguintes configurações:

* **KeyStore**: nome do [repositório de chaves](https://docs.lacunasoftware.com/articles/amplia/on-premises/key-stores) que será usado para gerar e armazenar as chaves dos certificados
* **IssuingService**: veja [serviço de emissão](https://docs.lacunasoftware.com/articles/amplia/on-premises/configure-cert-management#serviço-de-emissão) abaixo
* **PukGenerationLength**: tamanho dos PUKs gerados automaticamente. Padrão: `8`
* **IssueSessionTimeoutMinutes**: duração máxima, em minutos, de uma sessão de emissão. Aceita valores decimais. Padrão: `15`
* **AuthenticationSessionTimeoutMinutes**: duração máxima, em minutos, de uma sessão de autenticação. Aceita valores decimais. Padrão: `15`
* **OperationSessionTimeoutMinutes**: duração máxima, em minutos, de uma sessão de operação. Aceita valores decimais. Padrão: `15`
* **PinAuth**: opções da autenticação por PIN
  * **MaxFailedAttempts**: número máximo de tentativas malsucedidas antes de a autenticação por PIN ser bloqueada. Padrão: `5`
  * **LockPermanently**: se o bloqueio do PIN deve ser permanente. Padrão: `True`
  * **InitialLockPeriodMinutes**: se o bloqueio não for permanente, define a duração do primeiro período de bloqueio, em minutos (cada bloqueio seguinte dura o dobro do anterior). Não tem valor padrão e é obrigatória quando **LockPermanently** é `False`.
* **PukAuth**: opções da autenticação por PUK
  * **MaxFailedAttempts**: número máximo de tentativas malsucedidas antes de a autenticação por PUK ser bloqueada. Padrão: `5`
  * **LockPermanently**: se o bloqueio do PUK deve ser permanente. Padrão: `True`
  * **InitialLockPeriodMinutes**: se o bloqueio não for permanente, define a duração do primeiro período de bloqueio, em minutos (cada bloqueio seguinte dura o dobro do anterior). Não tem valor padrão e é obrigatória quando **LockPermanently** é `False`.
* **OtpAuth**: opções da autenticação por OTP
  * **MaxFailedAttempts**: número máximo de tentativas malsucedidas antes de a autenticação por OTP ser bloqueada. Padrão: `5`
  * **LockPermanently**: se o bloqueio do OTP deve ser permanente. Padrão: `False`
  * **InitialLockPeriodMinutes**: se o bloqueio não for permanente, define a duração do primeiro período de bloqueio, em minutos (cada bloqueio seguinte dura o dobro do anterior). Padrão: `1`
  * **NewClientsStepSeconds**: intervalo de tempo (*step*), em segundos, dos clientes recém-gerados. Padrão: `15`
  * **VerificationWindow**: tamanho da janela de verificação (nos dois sentidos). Padrão: `1`
* **SmsAuth**: opções da autenticação por SMS
  * **MaxFailedAttempts**: número máximo de tentativas malsucedidas antes de a autenticação por SMS ser bloqueada. Padrão: `5`
  * **LockPermanently**: se o bloqueio do SMS deve ser permanente. Padrão: `False`
  * **InitialLockPeriodMinutes**: se o bloqueio não for permanente, define a duração do primeiro período de bloqueio, em minutos (cada bloqueio seguinte dura o dobro do anterior). Padrão: `1`
  * **CodeSize**: tamanho dos códigos de verificação. Padrão: `6`
* **PukPolicy**: requisitos mínimos para PUKs definidos pelo usuário
  * **MinLength**: tamanho mínimo. Padrão: `8`
  * **MinUppercaseLetters**: número mínimo de letras maiúsculas. Padrão: `0`
  * **MinLowercaseLetters**: número mínimo de letras minúsculas. Padrão: `0`
  * **MinDigits**: número mínimo de dígitos. Padrão: `0`
  * **MinSpecialCaracters**: número mínimo de caracteres especiais. Padrão: `0`

> **Observação**
>
> Independentemente do valor da configuração **LockPermanently** da subseção **PinAuth**, uma autenticação por PUK bem-sucedida sempre desbloqueia a autenticação por PIN.

A política de PIN não é configurada na seção *CertificateManagement*, e sim na subseção **PinPolicy** da configuração do repositório de chaves. Se o
repositório de chaves for um HSM, a política de PIN deve corresponder à política de senhas de usuário configurada no HSM.

> **Dica**
>
> Todas as configurações têm valores padrão adequados, exceto a configuração **KeyStore** e a subseção **PinPolicy** da configuração do repositório de chaves, que
> precisam ser preenchidas. Fora isso, preencha apenas as configurações cujo valor padrão você tenha um bom motivo para alterar.

Exemplo (arquivo de configuração *.ini* ou *.conf*):

```ini
[CertificateManagement]
KeyStore=MyHSM

[CertificateManagement:SmsAuth]
InitialLockPeriodMinutes=2.5
CodeSize=7

[CertificateManagement:PukPolicy]
MinUppercaseLetters=1
MinLowercaseLetters=1
MinDigits=1

[KeyStores:MyHSM:PinPolicy]
MinDigits=6
```

Exemplo (variáveis de ambiente):

```sh
CertificateManagement__KeyStore=MyHSM
CertificateManagement__SmsAuth__InitialLockPeriodMinutes=2.5
CertificateManagement__SmsAuth__CodeSize=7
CertificateManagement__PukPolicy__MinUppercaseLetters=1
CertificateManagement__PukPolicy__MinLowercaseLetters=1
CertificateManagement__PukPolicy__MinDigits=1
KeyStores__MyHSM__PinPolicy__MinDigits=6
```

Exemplo (arquivo de configuração *.json*):

```json
{
	...,
	"CertificateManagement": {
		"KeyStore": "MyHSM",
		"SmsAuth": {
			"InitialLockPeriodMinutes": 2.5,
			"CodeSize": 7
		},
		"PukPolicy": {
			"MinUppercaseLetters": 1,
			"MinLowercaseLetters": 1,
			"MinDigits": 1
		}
	},
	"KeyStores": {
		"MyHSM": {
			...,
			"PinPolicy": {
				"MinDigits": 6
			}
		}
	},
	...
}
```

## Serviço de emissão

A configuração **IssuingService** define qual serviço de emissão será usado para emitir os certificados hospedados no Amplia:

* `Local`: o próprio Amplia emite os certificados (padrão)
* `AmpliaReg`: uma instância do [Amplia Reg](https://docs.lacunasoftware.com/articles/amplia-reg) emite os certificados
* `PMCert`: uma instância do PMCert emite os certificados

### Serviço de emissão local

Para que o próprio Amplia emita os certificados, basta omitir a configuração **IssuingService**.

> **Aviso**
>
> O serviço de emissão local é experimental e não é adequado para ambientes de produção.

### Serviço de emissão do Amplia Reg

Para que uma instância do [Amplia Reg](https://docs.lacunasoftware.com/articles/amplia-reg) emita os certificados, crie, na sua instância do Amplia Reg, uma aplicação que
represente a instância do Amplia e gere uma chave de API para ela:

1. Entre na sua instância do Amplia Reg
1. Clique no seu nome, no canto superior direito, e depois em **Sys Admin**
1. Clique em **Aplicações** no menu lateral e depois em *Adicionar*
1. Preencha um nome
1. Marque o role **Trusted certificate issuing application**
1. Clique em *Criar*
1. Clique em **Chaves** e depois em *Adicionar*
1. Preencha uma descrição e, no campo *Expiração*, escolha "Nunca expira"
1. Clique em *Criar*
1. Copie a **chave de API** gerada (esse valor não pode ser recuperado depois)

Em seguida, defina **IssuingService** como `AmpliaReg` e preencha a seção **AmpliaReg** com o **Endpoint** e a **ApiKey**.

Exemplo (arquivo *.ini* ou *.conf*):

```ini
[CertificateManagement]
IssuingService=AmpliaReg

[AmpliaReg]
Endpoint=https://your-amplia-reg-instance.com/
ApiKey=YOUR_API_KEY
```

Exemplo (variáveis de ambiente):

```sh
CertificateManagement__IssuingService=AmpliaReg
AmpliaReg__Endpoint=https://your-amplia-reg-instance.com/
AmpliaReg__ApiKey=YOUR_API_KEY
```

Exemplo (configuração JSON):

```json
	...,
	"CertificateManagement": {
		"IssuingService": "AmpliaReg",
		...
	},
	"AmpliaReg": {
		"Endpoint": "https://your-amplia-reg-instance.com/",
		"ApiKey": "YOUR_API_KEY"
	}
	...
```

### Serviço de emissão do PMCert

Para que uma instância do **PMCert** emita os certificados, defina **IssuingService** como `PMCert` e preencha a seção **PMCert** com o **Endpoint**.

Exemplo (arquivo *.ini* ou *.conf*):

```sh
[CertificateManagement]
IssuingService=PMCert

[PMCert]
Endpoint=https://your-pm-cert-instance.com/
```

Exemplo (variáveis de ambiente):

```sh
CertificateManagement__IssuingService=PMCert
PMCert__Endpoint=https://your-pm-cert-instance.com/
```

Exemplo (configuração JSON):

```json
	...,
	"CertificateManagement": {
		"IssuingService": "PMCert",
		...
	},
	"PMCert": {
		"Endpoint": "https://your-pm-cert-instance.com/"
	}
	...
```
