Acabei de passar pelo mesmo processo que você no Windows Server 2008 R2. Eu queria que um certificado curinga funcionasse com o Gitblit e outros serviços que eu queria executar.
Primeiro de tudo, criei o CSR no IIS e instalei o certificado nele. Eu tinha feito isso antes e estava querendo usar o certificado no IIS de qualquer maneira, então isso fazia sentido usar o IIS para esta parte do processo. Siga as instruções da sua CA em relação aos certificados intermediários também.
Eu tive muitas tentativas e erros para fazer o próximo estágio funcionar, mas consegui fazer o seguinte:
- Abra o MMC
- Adicione snap-in e escolha Certificados para computador local
- Vá para Pessoal, Certificados e selecione o certificado relevante.
- Abra o certificado e clique na guia Detalhes, depois clique em Copiar para arquivo
- Clique em Avançar e, em seguida, escolha exportar a chave privada e clique em Avançar
- Certifique-se de que "Incluir todos os certificados no caminho de certificação, se possível" esteja marcado e que as outras 2 caixas não estejam. Clique em Next.
- Insira uma senha e clique em Próximo.
- Insira um nome de arquivo e clique em Próximo, em seguida, em Concluir a criação do arquivo.
Eu então usei o Portecle para abrir o Keystore existente que foi criado pelo Gitblit usando a senha do gitblit (ou o que quer que tenha sido definido quando você criou o keystore). Para importar o certificado, clique em Ferramentas, Importar par de chaves e navegue até o arquivo criado acima. Ele pedirá que você digite a senha do certificado, depois selecione um par de chaves para importar e um alias para ele.
Quando o certificado estiver no keystore, você poderá remover o certificado autoassinado, já que não é mais necessário.
Eu reiniciei o Gitblit e conectei com o nome do host correspondente ao certificado e tudo foi bom.
O principal problema que eu estava tendo resultou de não incluir toda a cadeia ao exportar o certificado do IIS.
Espero que isso ajude, já que demorei alguns dias para descobrir por mim mesmo.