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.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.