Microsoft IIS
Informações Gerais
Este guia de uso integrado com o MS IIS (Microsoft Internet Information Services) foi preparado usando as versões de software e firmware abaixo:
SO: Windows Server 2019 (inglês)
IIS: 10
Firmware do HSM: 5.0.26.0 (ou superior)
Cliente do HSM: 4.7.30 (ou superior)
Utilitário hsmutil: 4.7.30 (ou superior)
Requisitos
Conectividade com o HSM (porta TCP 4433).
Software client do HSM instalado, (consulte o tópico Windows).
Utilitário
hsmutil.exe
baixado, (verificar aqui).Serviço do HSM iniciado.
Conta do Windows com permissão de administração local.
Credenciais da partição do HSM onde será criada ou importada a chave privada.
Pode ser necessário um restart do Windows (para carregar as configurações de local machine).
Chave e CSR gerados no HSM via IIS Manager
Criar uma Crypto Provider da Dinamo do Tipo RSA Channel (tipo 12) usando a seguinte entrada na registry.
Configurar os parâmetros MS CAPI com as credenciais de partição do HSM na console GUI (Dinamocon).
Configurar endereço IP, nome e senha de uma partição no HSM; e habilitar CNG. A chave privada será gerada nesta partição.
Nota: manter desmarcada a opção Local Machine Configuration.
Abrir tela de gerência do IIS (IIS Manager)
Na tela Home do IIS Manager abrir a opção de Server Certificates.
Usar a opção Create Certificate Request... para gerar um CSR (Certificate Signing Request).
Preencher as informações dos campos que irão compor o certificado.
Escolher a Crypto Provider da Dinamo e o tamanho da chave privada
Anotar o caminho e o nome do arquivo com o CSR gerado.
Será gerada uma chave privada RSA na partição do HSM. O nome (id) desta chave é definido pelo IIS Manager. Identifique e anote o nome da chave gerada, ele será utilizado mais adiante. Pode ser útil deixar a console CLI
hsmcon.exe
(linha de comando) mostrando em tempo real a atividade do HSM (opçãoLogs/Follow
) para identificar o nome/id da chave privada gerada.Levar o CSR até uma Autoridade Certificadora (AC) para a emissão do certificado.
Este passo é externo e depende completamente do procedimento da AC escolhida. Anotar o caminho e nome do certificado (arquivo *.cer) recebido da AC.
No IIS Manager use a opção Complete Certificate Request....
Informar o arquivo do certificado emitido pela AC.
No final do processo o certificado deverá estar listado no IIS Manager para ser utilizado nos
Sites
gerenciados pelo IIS.Nota: O IIS Manager vai fazer a associação entre chave privada e certificado o Provider CSP na conta do usuário. No passo esta associação será refeita para o Provider CNG e na conta da máquina local (local machine).
(Re)fazer associação da chave com o certificado no Provider CNG Dinamo na conta da máquina local utilizando o
hsmutil.exe
. Esta reassociação é necessário para que o Local Security Authority Subsystem Service do Windows possa utilizar a chave gerada no HSM.Executar o utilitário
hsmutil.exe
com os parâmetros abaixo. Os valores de<id da chave no HSM>
e<hash/fingerprint do certificado>
devem ser substituídos conforme explicado a seguir.O
<id da chave no HSM>
é nome da chave privada gerada no passo acima e identificada. Ele é mostrado também na lista de chaves da partição escolhida do HSM.O
<hash/fingerprint do certificado>
pode ser verificado diretamente no certificado emitido pela AC, usando o utilitário do Windowscertutil
(linha de comando) ou abrindo o arquivo do certificado no visualizador do Windows.Exemplo de usdo comando de associação:
Alterar a configuração da MS CAPI para a conta de máquina local.
Na console cliente (Dinamocon) do HSM habilite a opção Local Machine configuration.
Note: o teste de conexão vai deixar de funcionar pois a configuração é transferida da conta do usuário logado para a conta de máquina local.
No IIS Manager ir até o site (abaixo do ramo Sites) onde será feito o binding do protocolo HTTPS com o certificado. Por exemplo o Default Web Site.
Na opção Bindings... clique em Add para criar um novo binding
Na tela de Add Site Binding em Type selecione https e em SSL Certificate selecione o certificado emitido pela AC e importado acima.
Testar a configuração com acesso via navegador ao endereço do site configurado.
A partir de um navegador verifique se o endereço do site configurado pode ser acessado via protocolo https. Confira se o certificado utilizado foi o configurado acima.
Nesta verificação pode ser útil deixar a console CLI
hsmcon.exe
(linha de comando) mostrando em tempo real a atividade do HSM (opçãoLogs/Follow
) e verificando que a chave privada está sendo ativada para o fechamento do túnel SSL.
Chave gerada externamente (arquivo .pfx, .p12)
Configurar os parâmetros MS CAPI com as credenciais de partição do HSM na console GUI (Dinamocon).
Configurar endereço IP, nome e senha de uma partição no HSM; e habilitar CNG. A chave privada será gerada nesta partição.
Nota: manter desmarcada a opção Local Machine Configuration.
Importar o arquivo .pfx no HSM com a console
hsmcon.exe
(linha de comando).Anotar o nome da chave privada e do certificado importados no HSM.
Exportar o certificado do HSM para um arquivo (.cer) com a console
hsmcon.exe
(linha de comando).Importar o certificado (.cer) para o repositório do Computador Local usando o Snap-in para Certificates (Local Machine) do Microsoft Management Console (MMC) do Windows no computador local.
Nota: importar o arquivo .cer (certificado), não o arquivo .pfx (chave privada).
Nota: O ícone do certificado na lista não mostra uma chave, pois apenas o certificado foi importado.
(Re)fazer associação da chave com o certificado no Provider CNG Dinamo na conta da máquina local utilizando o
hsmutil.exe
. Esta reassociação é necessário para que o Local Security Authority Subsystem Service do Windows possa utilizar a chave gerada no HSM.Executar o utilitário
hsmutil.exe
com os parâmetros abaixo.O
<id da chave no HSM>
é nome da chave privada importada no passo acima e identificada.O
<hash/fingerprint do certificado>
pode ser verificado diretamente no certificado emitido pela AC, usando o utilitário do Windowscertutil
(linha de comando) ou abrindo o arquivo do certificado no visualizador do Windows.Exemplo de usdo comando de associação:
Após a associação com sucesso entre certificado e chave privada o ícone do certificado na lista do Snap-in do MMC deve exibir uma chave.
Alterar a configuração da MS CAPI para a conta de máquina local.
Na console cliente (Dinamocon) do HSM habilite a opção Local Machine configuration.
Note: o teste de conexão vai deixar de funcionar pois a configuração é transferida da conta do usuário logado para a conta de máquina local.
No IIS Manager ir até o site (abaixo do ramo Sites) onde será feito o binding do protocolo HTTPS com o certificado. Por exemplo o Default Web Site.
Na opção Bindings... clique em Add para criar um novo binding
Na tela de Add Site Binding em Type selecione https e em SSL Certificate selecione o certificado emitido pela AC e importado acima.
Testar a configuração com acesso via navegador ao endereço do site configurado.
A partir de um navegador verifique se o endereço do site configurado pode ser acessado via protocolo https. Confira se o certificado utilizado foi o configurado acima.
Nesta verificação pode ser útil deixar a console CLI
hsmcon.exe
(linha de comando) mostrando em tempo real a atividade do HSM (opçãoLogs/Follow
) e verificando que a chave privada está sendo ativada para o fechamento do túnel SSL.
Atualizado