Pular para o conteúdo principal

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

O 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.

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

  • KeyStore: nome do repositório de chaves que será usado para gerar e armazenar as chaves dos certificados
  • IssuingService: veja 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):

[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):

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):

{
...,
"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 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 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
  2. Clique no seu nome, no canto superior direito, e depois em Sys Admin
  3. Clique em Aplicações no menu lateral e depois em Adicionar
  4. Preencha um nome
  5. Marque o role Trusted certificate issuing application
  6. Clique em Criar
  7. Clique em Chaves e depois em Adicionar
  8. Preencha uma descrição e, no campo Expiração, escolha "Nunca expira"
  9. Clique em Criar
  10. 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):

[CertificateManagement]
IssuingService=AmpliaReg

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

Exemplo (variáveis de ambiente):

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

Exemplo (configuração 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):

[CertificateManagement]
IssuingService=PMCert

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

Exemplo (variáveis de ambiente):

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

Exemplo (configuração JSON):

...,
"CertificateManagement": {
"IssuingService": "PMCert",
...
},
"PMCert": {
"Endpoint": "https://your-pm-cert-instance.com/"
}
...
Ver em Markdown