Certificados no Azure Key Vault
O Azure Key Vault pode ser visto como um HSM na nuvem. As chaves ficam armazenadas em HSMs validados no FIPS 140-2 nível 2, a um custo relativamente baixo, de cerca de 5 dólares por mês por chave. Esse serviço da Microsoft viabilizou o uso de HSMs em projetos que, de outra forma, não teriam orçamento para isso.
Este artigo trata dos passos para obter e usar certificados armazenados em cofres do Azure Key Vault para assinar digitalmente documentos, como PDFs.
Os passos abaixo pressupõem que você já tem uma assinatura do Azure e acesso ao portal do Azure.
Eles também pressupõem que você já criou um cofre de chaves. Se ainda não criou, entre no portal do Azure e siga os passos abaixo:
- Na opção Key Vaults, clique em Add
- Preencha os dados de acordo com a sua infraestrutura
- Se quiser usar chaves protegidas por HSM (recomendado para produção), escolha Premium na opção Pricing tier
- Clique em Review + create
- Clique em Create
Obtendo um certificado armazenado no Azure Key Vault
Os certificados podem ser importados para um cofre de chaves ou gerados dentro dele. Essa distinção é importante, pois a maior segurança é obtida mantendo a chave do certificado armazenada com segurança no cofre de chaves o tempo todo, desde a sua criação.
[NOTE] Se você já tem um certificado e quer importá-lo para um cofre de chaves, essa é uma tarefa simples, explicada na documentação do Azure aqui.
Esta seção trata do caso de uso de obter um certificado com uma chave gerada dentro de um cofre de chaves. Isso envolve três passos:
- Gerar uma chave no cofre de chaves
- Obter um certificado X.509 de chave pública correspondente à chave gerada
- Enviar o certificado ao cofre de chaves
Para gerar o par de chaves, siga os passos abaixo:
- No portal do Azure, clique em Key vaults
- Selecione o cofre de chaves em que você pretende armazenar o certificado
- Clique em Certificates
- Clique em Generate/Import e preencha os seguintes valores:
- Em Method of Certificate Creation, selecione Generate
- Em Certificate Name, escolha um nome para identificar este certificado
- Em Type of Certificate Authority (CA), escolha Certificate issued by a non-integrated CA
- Em Subject, preencha o nome comum (
CN=), a organização (O=) e o país (C=) que você quer no certificado, por exemplo:CN=Patorum Solutions,O=Patorum Inc.,C=US - Deixe DNS names vazio
- Não altere o campo Validity Period (ele não é usado de fato)
- Em Content Type, escolha PEM
- Preencha Lifetime Action Type e Percentage Lifetime como preferir
- Clique em Advanced Policy Configuration e mantenha os valores padrão, exceto:
- Em X.509 Key Usage Flags, marque Non-repudiation
- Em Exportable Private Key, escolha No
- Em Key Type, escolha RSA-HSM para usar uma chave protegida por HSM (recomendado para produção)
- Em Enable Certificate Transparency, escolha No
- Clique em Create
Após alguns segundos, o certificado aparece na subseção In progress, failed or cancelled da lista de certificados.
- Clique no certificado
- Clique em Certificate Operation
- Clique em Download CSR
Para obter um certificado, você precisa solicitá-lo a uma Autoridade Certificadora (AC), como a DigiCert ou a GlobalSign. Dependendo do tipo de certificado que você pretende adquirir, a AC aplica diferentes níveis de verificação de dados, como exigir que você digitalize um documento oficial de identidade ou que compareça (pessoalmente) a um representante local.