IIS 7.5 Criando certificados autoassinados com data de validação superior a um ano

15

Estou criando certificados SSL autoassinados no IIS 7.5 para uso interno. O problema que tenho é que quero criá-los para que durem 10 anos, pois é apenas um ambiente de desenvolvimento.

Não vejo uma opção no IIS 7.5 em que você pode especificar a hora em que o certificado é válido. Por padrão, ele cria certificados que expiram em 1 ano.

Existe uma maneira de mudar isso para que eles sejam criados por 10 anos?

user1153199
fonte

Respostas:

13

Você pode fazer isso usando a SelfSSL.exeferramenta que acompanha o IIS6 Resource Kit. Você pode obter o kit de recursos aqui:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275

O instalador descompacta as ferramentas em uma pasta e não interfere em nenhuma das configurações da sua máquina. A opção de instalação personalizada também permite escolher quais ferramentas você deseja instalar e em uma pasta de sua própria escolha.

Abra uma linha de comando do administrador e altere o diretório para o local em que a SelfSSLferramenta de linha de comando foi instalada.

Para gerar um novo certificado SSL autoassinado que expira em 10 anos, execute o seguinte:

selfssl /n:cn=www.meudominio.com.br / v: 3650 / s: 8 / k: 2048

Isso irá gerar um ssl onde:

  • /n:cn=www.mydomain.com- o SSL é para www.mydomain.com. O cn=(nome comum) é importante, então não perca.

  • /v:3650 - número de dias em que o certificado é válido, neste caso dez anos

  • /s:8 - instale o certificado no ID do site 8

  • /k:2048 - use um comprimento de chave de 2048 bits.

Infelizmente, não há como enviar o SSL diretamente para um arquivo, você deve instalá-lo em um site. A boa notícia, porém, é que o certificado é exportável.

Se você deseja que o aviso sobre o SSL não seja confiável ao navegar para sites que usam o SSL autoassinado, ele também pode ser corrigido:

  1. Exporte o SSL autoassinado para um .pfxarquivo (você precisa definir uma senha, lembre-se)
  2. Iniciar (na linha de comando ou Iniciar -> Executar) mmc certmgr.msc
  3. Procure Trusted Root Certificate Authorities -> Certificatese clique com o botão direito do mouse para acessar a Import...opção:

    insira a descrição da imagem aqui

  4. Siga o assistente e especifique a .pfximportar e clique em Avançar (você precisará da senha que você definiu na etapa 1):

    insira a descrição da imagem aqui

  5. Na próxima etapa do assistente, precisamos escolher qual loja usar. Clique no Browse...botão que abrirá a Select Certificate Storejanela. Precisamos ver as lojas físicas, para garantir que haja uma marca de seleção Show physical stores:

    insira a descrição da imagem aqui

    Expanda Trusted Root Certificate Authoritiese escolha Local Computerconforme a captura de tela acima, clique OKe, em seguida,Next >

  6. Clique no Finishbotão na etapa final do assistente e, se tudo estiver bom, você deverá ver:

    insira a descrição da imagem aqui

Advertências e dicas:

  • O SelfSSL pode precisar dos componentes do IIS6 Management Compatibility instalados. Não sei dizer porque minhas próprias máquinas já têm isso instalado e não têm uma VM à mão para testar essa teoria removendo-as.

  • Emita o SSL para cn=www.mydomain.come não cn=mydomain.comse você deseja poder adicionar o SSL ao repositório de autoridades de certificação raiz confiáveis.

Kev
fonte
Olá, muito obrigado pela sua ajuda. Definitivamente ajudou o que eu preciso fazer.
Não consigo encontrar um link de download que funcione para o IIS6 Resource Kit. Alguém sabe onde pode ser encontrado?
precisa saber é o seguinte
@JohnBubriski - grr, MS é realmente irritante. Se você pode esperar até sexta-feira, posso colar uma cópia em algum lugar.
Kev
Na verdade, estou bem agora, descobri uma maneira. Vou postar uma resposta ...
John Bubriski
0

Pelo que entendi, o problema com o IIS 7.x é que você não pode definir o cabeçalho do host para a ligação SSL.

Usando o utilitário de linha de comando appcmd, você poderá fazer isso. Os sites podem usar o mesmo certificado, mas terão cabeçalhos de host diferentes.

Se você executar os 2 comandos a seguir com seus dados, ele deverá configurar os cabeçalhos do host.

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']

Infelizmente, há algo mais que você precisa fazer para que isso funcione, mas não sei exatamente o que. Eu sei que fiz algumas redefinições do IIS e selecionei novamente os certificados SSL, mas não tenho certeza da ordem em que fazer isso. Mas sei que não fiz nada sofisticado como usar outra ferramenta.

John Bubriski
fonte
John, deve ser, desde que o certificado seja carregado no servidor. Pode ser necessário selecionar o certificado SSL para usar também em cada site.
Brent Pabst
Sim, acredito que já tinha um certificado autoassinado configurado para os 2 sites.
precisa saber é o seguinte