Servidor Linux
Apenas SCEPman Enterprise Edition
Enquanto os outros casos de uso do SCEPman fornecem a capacidade de autenticar interativamente um usuário para então permitir apenas que ele registre certificados de usuário para sua conta ou seus dispositivos, você pode querer ser capaz de registrar certificados não interativamente para sujeitos arbitrários.
Para realizar isso, podemos autenticar um principal de serviço e permitir que ele aproveite a API REST de Registro (Enrollment) do SCEPman.
Pré-requisitos
Consulte o artigo da API Enrollment sobre como criar um principal de serviço que pode ser usado para autenticação:
Inscrição via APIMódulo PowerShell SCEPmanClient
Solicitações Iniciais
Você pode usar o módulo PowerShell SCEPmanClient para solicitar certificados no seu servidor Linux:
$Parameters = @{
'Url' = 'scepman.contoso.com'
'ClientId' = '569fbf51-aa63-4b5c-8b26-ebbcfcde2715'
'TenantId' = '8aa3123d-e76c-42e2-ba3c-190cabbec531'
'ClientSecret' = 'csa8Q~aVaWCLZTzswIBGvhxUiEvhptuqEyJugb70'
'Subject' = 'CN=LinuxServer'
'IP' = '10.22.11.8'
'ExtendedKeyUsage' = 'ServerAuth'
'SaveToFolder' = '/etc/ssl/scepman'
'IncludeRootCA' = $true
}
New-SCEPmanCertificate @ParametersRenovação de Certificado
Você também pode usar o módulo PowerShell para renovar certificados já existentes. Isso também evita a necessidade de usar um principal de serviço para autenticação:
Script de Inscrição e Renovação
Se o módulo PowerShell não for uma opção para você, o enrollrenewcertificate.sh script pode ser usado para receber inicialmente um certificado, bem como para verificá-lo e tentar uma renovação caso esteja prestes a expirar.
Pré-requisitos do Cliente
Os seguintes pré-requisitos devem estar presentes no cliente/host que executa para poder usar a API REST de Registro.
Azure CLI (versão 2.61 e superior)
O Azure CLI é usado para autenticar o usuário que está registrando, verificar sua elegibilidade e recuperar o token de acesso.
cURL
Usado para enviar o CSR criado ao Endpoint da API de Registro do SCEPman e receber o certificado.
OpenSSL
O OpenSSL é usado para gerar uma chave privada e criar um CSR para registrar ou renovar um certificado.
Exemplo:
1. Comando
Define o comportamento do script
Para este caso de uso podemos usar as seguintes opções:
-s para certificado de servidor com auto-detecção se é um registro inicial ou renovação
-y para registro inicial de um certificado de servidor
-c para enviar uma requisição de assinatura de certificado (CSR) apresentada
Para casos de uso de Autenticação de Cliente, veja:
Cliente Linux Não Gerenciado2. URL do App Service
A URL do serviço de aplicativo SCEPman.
Exemplo: "https://scepman.contoso.net/"
3. Escopo da API
Isto é o URI de ID da Aplicação do SCEPman-api registro do aplicativo em seu ambiente.
Exemplo: "api://a7a1d6c8-51b9-48ec-9ca0-a363dc2c8436"

4. Nome do Arquivo do Certificado
O nome do arquivo (sem extensão) do certificado que será criado ou lido para renovação.
Exemplo: "myCertificate"
5. Diretório do Certificado
O diretório onde o certificado será criado ou tentado ser renovado.
Exemplo: ~/certs/
8. Limiar de Renovação
A quantidade de dias para o certificado expirar para que o script comece o processo de renovação.
Exemplo: 30
Parâmetros adicionais para Certificados de Servidor:
9. Id do Cliente do Principal de Serviço
O Id da Aplicação (Cliente) do registro de aplicativo que queremos autenticar.
10. Segredo do Cliente do Principal de Serviço
O segredo de cliente criado do registro de aplicativo que queremos autenticar.
11. Id do Locatário do Principal de Serviço
O id do locatário do nosso registro de aplicativo.
12. Sujeito do Certificado
O sujeito com o qual você deseja registrar o certificado.
Formato: /CN=SubjectName,O=Organization
13. Extensão do Certificado
Isto será adicionado como nome alternativo de sujeito (subject alternative name)
Exemplo: DNS:webserver.contoso.com
Exemplo de uso para assinatura de CSR (-c comando)
Considerações
Este script não criptografa as chaves geradas (isso requer entrada de frase de segurança, então a criptografia foi omitida para permitir renovação automática).
Se você estiver renovando certificados protegidos por frase de segurança do Certificate Master, precisará inserir essa frase de segurança para renová-los.
Configurar renovação automática
Quando o script bash acima for executado e detectar que um certificado já foi inscrito, ele renovará o certificado (se estiver próximo da expiração) usando mTLS. Se o script for executado regularmente, isso garantirá que o certificado seja renovado quando estiver próximo da expiração. Você pode configurar um cronjob para conseguir isso. O comando abaixo é um exemplo de como isso pode ser feito. Ele configurará um cronjob para executar o comando diariamente (se o sistema estiver ligado) e um cronjob para executar o comando na reinicialização.
Como os comandos executados pelo Cron nem sempre serão executados a partir do diretório em que o script/certificados estão, é importante fornecer os caminhos absolutos para o script/certificados.
Last updated
Was this helpful?