bg-tutorials

Como Gerar um CSR no IIS

Este guia mostra como gerar um CSR (Certificate Signing Request) no Microsoft IIS (Internet Information Services) no Windows Server. Você pode criar a solicitação de duas formas: através da interface gráfica do IIS Manager (o clássico assistente ponto-e-clique), ou com o certreq.exe e um arquivo INF a partir do PowerShell. Ambos os métodos mantêm a chave privada no servidor, no armazenamento de certificados do Windows, e produzem uma solicitação PKCS #10 que você envia à sua Autoridade Certificadora.

Um aviso importante para saber desde já: o assistente do IIS Manager não adiciona um Subject Alternative Name (SAN) à solicitação, e toda CA pública agora exige que o nome do host apareça no SAN, não apenas no Common Name. Se você precisa de um SAN (e quase sempre precisa), use o método certreq.exe mais abaixo, ou gere o CSR fora do servidor com nosso Gerador de CSR e importe o certificado emitido como um arquivo .pfx.

Faça login como Administrador no Windows Server que deseja proteger (ou em uma estação de trabalho que execute um site IIS) e siga a seção correspondente à sua versão do IIS. Os passos abaixo abrangem o IIS 10 no Windows Server 2025, 2022, 2019 e 2016 (também o IIS 10 no Windows 10 e Windows 11 cliente), além dos assistentes mais antigos do IIS 8 / 8.5 / 7 / 6 para infraestrutura legada.

Gerar um CSR no IIS 10 (Windows Server 2016 a 2025)

O IIS 10 é a versão que acompanha o Windows Server 2016, 2019, 2022 e 2025, bem como o recurso IIS no Windows 10 e Windows 11 cliente. A interface do Manager é a mesma em todas as versões.

Passo 1: Abrir o IIS Manager

  • Pressione Win + R, digite inetmgr, e pressione Enter, ou
  • Abra o menu Iniciar e procure por Internet Information Services (IIS) Manager.

Passo 2: Abrir Server Certificates

  • No painel Connections à esquerda, clique no nome do servidor.
  • No painel central (Home), clique duas vezes em Server Certificates.

Passo 3: Iniciar a solicitação de certificado

No painel Actions à direita, clique em Create Certificate Request. A caixa de diálogo Distinguished Name Properties é aberta.

Passo 4: Preencher o Distinguished Name

Insira os detalhes do assunto abaixo. Use apenas caracteres ASCII padrão; letras não latinas quebram a solicitação:

  • Common Name: o nome de domínio totalmente qualificado (FQDN) que você deseja proteger, por exemplo www.example.com. Para um certificado wildcard, coloque um asterisco antes do domínio raiz, por exemplo *.example.com.
  • Organization: o nome legal completo da sua empresa, exatamente como registrado. Obrigatório para certificados OV e EV. Para certificados de Validação de Domínio (DV), este campo é ignorado, então qualquer texto curto funciona.
  • Organizational unit: um rótulo de departamento como TI ou Web. Este atributo está obsoleto para certificados públicos (o CA/Browser Forum o eliminou gradualmente), portanto, deixe-o minimalista ou pule-o quando a caixa de diálogo permitir.
  • City/locality: a cidade onde sua organização está registrada, escrita por extenso (por exemplo Seattle, não SEA).
  • State/province: o nome completo do estado ou província (por exemplo Washington, não WA).
  • Country/region: o código de país ISO de duas letras (por exemplo US, GB, DE).

Verifique todos os campos e clique em Next.

Passo 5: Escolher o Cryptographic Service Provider e o tamanho da chave

Na caixa de diálogo Cryptographic Service Provider Properties:

  • Cryptographic service provider: selecione Microsoft RSA SChannel Cryptographic Provider. Esta é a escolha correta para um certificado RSA servido pelo IIS via HTTPS. (Escolha Microsoft DH SChannel Cryptographic Provider apenas no raro caso em que precise de uma chave Diffie-Hellman, que não é usada para TLS web normal.)
  • Bit length: selecione 2048. Este é o mínimo atual aceito por toda CA pública. Escolha 3072 ou 4096 apenas se sua política exigir uma chave maior; a contrapartida é um handshake TLS ligeiramente mais lento.

Clique em Next.

Passo 6: Salvar o arquivo CSR

Na caixa de diálogo File Name, clique no botão de navegação e escolha uma pasta que você consiga encontrar novamente, depois digite um nome de arquivo com extensão .txt, por exemplo certreq.txt. Não aceite o caminho padrão C:WindowsSystem32: essa pasta é incômoda de navegar e você pode não ter permissão de escrita, dependendo do UAC. A Área de Trabalho ou uma pasta dedicada C:certs funciona melhor.

Clique em Finish. O IIS grava o CSR no caminho escolhido e armazena a chave privada correspondente como uma solicitação pendente no armazenamento de certificados do Windows neste servidor.

Passo 7: Copiar o CSR e enviá-lo à CA

Abra o arquivo salvo no Bloco de Notas (ou qualquer editor de texto). Você verá um bloco assim:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----

Selecione o bloco inteiro, incluindo as linhas BEGIN NEW CERTIFICATE REQUEST e END NEW CERTIFICATE REQUEST, copie-o e cole-o no campo CSR do seu formulário de pedido. Quando a CA validar a solicitação e emitir seu certificado, siga como instalar um certificado SSL no IIS e use Complete Certificate Request para associar o arquivo .cer emitido com a chave pendente neste servidor.

O assistente do IIS Manager não adiciona um SAN

O assistente acima produz uma solicitação cujo único nome de host é o Common Name. Navegadores e clientes modernos (Chromium, Firefox, Safari, .NET, Java, Go) somente validam o nome do host em relação à extensão Subject Alternative Name; o Common Name é ignorado para decisões de confiança desde 2017. As CAs públicas respondem copiando o CN automaticamente para uma entrada SAN em pedidos de nome único, então uma solicitação apenas com CN ainda funciona para um único nome de host. Mas:

  • Se você precisar de múltiplos nomes de host em um único certificado (por exemplo example.com e www.example.com, ou um certificado multi-domínio), o assistente do IIS Manager não consegue codificá-los.
  • Se sua CA aceitar solicitações estritamente como enviadas, um SAN ausente pode ser rejeitado mesmo para um único nome de host.

Para qualquer coisa além de um único nome, use o método certreq.exe abaixo, ou gere o CSR com nosso Gerador de CSR e importe o certificado emitido para o IIS como um arquivo .pfx.

Gerar um CSR com certreq.exe e um arquivo INF (com suporte a SAN)

A ferramenta de linha de comando certreq.exe vem com todo Windows Server e permite especificar um SAN, o tamanho da chave, o assunto exato e o provedor. O fluxo tem três partes: escrever um arquivo INF de solicitação, executar certreq -new para gerar o CSR (e a chave correspondente no armazenamento do Windows), depois enviar o CSR à sua CA.

Passo 1: Criar o arquivo INF de solicitação

Abra o Bloco de Notas como Administrador e salve o arquivo abaixo como request.inf. Edite a linha Subject e as entradas DNS em [Extensions] para corresponder ao seu domínio:

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.example.com&"
_continue_ = "dns=example.com"

Notas sobre os valores:

  • Subject: uma única linha, campos separados por vírgulas. Use o código de país ISO de duas letras em C=.
  • KeyLength: mínimo de 2048. Defina 3072 ou 4096 se sua política exigir.
  • Exportable = TRUE: permite exportar a chave privada junto com o certificado emitido (para backup ou instalação em um segundo servidor). Defina como FALSE se quiser que a chave fique restrita a esta máquina.
  • MachineKeySet = TRUE: armazena a chave no repositório Local Computer (de onde o IIS lê). Mantenha isso ativado para o IIS.
  • 2.5.29.17: o OID para Subject Alternative Name. Adicione uma linha _continue_ por nome de host; todas as linhas, exceto a última, devem terminar com o separador &.

Passo 2: Gerar o CSR

Abra um Prompt de Comando ou PowerShell elevado na pasta que contém request.inf e execute:

certreq -new request.inf certreq.txt

O certreq gera a chave privada no repositório Local Computer e grava a solicitação PKCS #10 em certreq.txt. Abra o arquivo, copie o bloco completo de BEGIN NEW CERTIFICATE REQUEST até END NEW CERTIFICATE REQUEST, e envie-o no seu formulário de pedido, da mesma forma que no método do IIS Manager.

Quando a CA devolver o certificado emitido, complete-o com:

certreq -accept certnew.cer

Isso associa o certificado emitido com a chave privada que estava aguardando no repositório, e o certificado passa a estar disponível para vincular no IIS.

Verificar o CSR antes de enviá-lo (opcional)

Vale a pena confirmar o Common Name, as entradas SAN e o tamanho da chave antes de enviar a solicitação à sua CA. No servidor, a ferramenta integrada certutil lê a solicitação:

certutil -dump certreq.txt

Se você tiver o OpenSSL instalado (o Windows não o inclui; você pode instalá-lo separadamente a partir de uma versão como a da Shining Light Productions), este comando exibe os mesmos detalhes:

openssl req -noout -text -in certreq.txt

Prefere uma ferramenta online? Cole o conteúdo da solicitação no decodificador de CSR da SSL Dragon para ler o Common Name, as entradas SAN e o tamanho da chave. Confirme que o Common Name corresponde ao nome de host que os clientes usarão e que todo nome necessário aparece na lista Subject Alternative Name.

Gerar um CSR no IIS 8 e 8.5 (Windows Server 2012 / 2012 R2)

O assistente do IIS 8 / 8.5 é idêntico ao do IIS 10. O Windows Server 2012 e 2012 R2 atingiram o fim do suporte estendido em outubro de 2023, então planeje migrar essas cargas de trabalho para uma versão atual do Windows Server; até lá, os passos abaixo ainda funcionam.

  • Pressione Win + R, digite inetmgr, e clique em OK. (Alternativamente, abra o Internet Information Services (IIS) Manager a partir da tela Iniciar.)
  • Em Connections, selecione o servidor, depois clique duas vezes em Server Certificates no painel Home.
  • Em Actions, clique em Create Certificate Request.
  • Em Distinguished Name Properties, preencha Common Name, Organization, Organizational unit, City/locality, State/province e Country/region exatamente como descrito no IIS 10 acima (apenas caracteres ASCII padrão, nomes completos de estado e cidade, código de país de duas letras). Clique em Next.
  • Em Cryptographic Service Provider Properties, selecione Microsoft RSA SChannel Cryptographic Provider e defina o Bit length como 2048. Clique em Next.
  • Em File Name, escolha uma pasta que você consiga encontrar novamente e salve o arquivo com extensão .txt (por exemplo certreq.txt). Clique em Finish.
  • Abra o arquivo salvo no Bloco de Notas, copie o bloco completo de BEGIN NEW CERTIFICATE REQUEST até END NEW CERTIFICATE REQUEST, e cole-o no seu formulário de pedido.

A mesma limitação de SAN se aplica no IIS 8 / 8.5: se você precisar de mais de um nome de host, use o método certreq.exe acima.

Gerar um CSR no IIS 7 (Windows Server 2008 / 2008 R2)

O Windows Server 2008 e 2008 R2 estão há muito tempo fora do período de suporte, portanto, trate o assistente do IIS 7 como um procedimento legado para sistemas que você ainda não pode substituir. O fluxo é o mesmo do IIS 8 / 10:

  • Pressione Win + R, digite inetmgr, e clique em OK, ou abra Iniciar > Ferramentas Administrativas > Internet Information Services (IIS) Manager.
  • Em Connections, selecione o nome do servidor, depois clique duas vezes em Server Certificates.
  • Em Actions, clique em Create Certificate Request.
  • Em Distinguished Name Properties, informe Common Name, Organization, Organizational unit, City/locality, State/province e Country/region conforme descrito no IIS 10. Clique em Next.
  • Em Cryptographic Service Provider Properties, escolha Microsoft RSA SChannel Cryptographic Provider e 2048 bits. Clique em Next.
  • Clique no botão de navegação em Specify a file name for the certificate request, escolha uma pasta, digite um nome de arquivo terminado em .txt, e clique em Finish.
  • Abra o arquivo salvo no Bloco de Notas, copie o bloco completo da solicitação (incluindo as linhas BEGIN NEW CERTIFICATE REQUEST e END NEW CERTIFICATE REQUEST), e cole-o no seu formulário de pedido.

Gerar um CSR no IIS 5 e 6 (obsoleto)

O IIS 5 e 6 (Windows 2000 Server e Windows Server 2003) estão há muito tempo fora do período de suporte e não devem hospedar sites públicos. Use esta seção apenas se estiver mantendo infraestrutura legada que ainda não pode substituir:

  • Abra Iniciar > Painel de Controle > Ferramentas Administrativas > Internet Information Services.
  • Clique com o botão direito em Default Web Site (ou seu site) e escolha Properties.
  • Abra a aba Directory Security e clique em Server Certificate.
  • No IIS Certificate Wizard, selecione Create a new certificate e clique em Next.
  • Selecione Prepare the request now, but send it later e clique em Next.
  • Digite um nome descritivo para o certificado, defina o Bit length como 2048, deixe as outras caixas de seleção desmarcadas, e clique em Next.
  • Insira o nome legal da organização e uma Organizational unit (use um rótulo curto como TI). Clique em Next.
  • Em Common Name, insira o FQDN do seu site, por exemplo www.example.com. Clique em Next.
  • Preencha Country/region, State/province e City/locality, depois clique em Next.
  • Escolha uma pasta e um nome de arquivo (salve como .txt), clique em Next, revise o resumo, e clique em Next novamente para gravar o CSR.
  • Abra o arquivo no Bloco de Notas, copie o bloco completo da solicitação, e cole-o no seu formulário de pedido.

Depois que a CA validar seu CSR e emitir o certificado, continue com as instruções de instalação de SSL no IIS.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.