Este artigo assume que você já tenha instalado e funcionando o Apache2 em um Windows 2000/XP/2003. Neste artigo, o Apache2 está instalado em um Windows XP Professional com SP2.
Arquivos Necesários
Você vai precisar fazer o download da versão para Windows do OpenSSL (http://www.slproweb.com/download/Win32OpenSSL-v0.9.8.exe). Para instalar o OpenSSL, dê um clique duplo sobre o arquivo Win32OpenSSL-v0.9.8.exe e siga os passos abaixo:

Tela de boas vindas do programa de instalação do openSSL. clique em "Next >" para ir para a tela com a licença de uso do OpenSSL.

Licença de uso para o OpenSSL. Leia os termos e selecione uma opção para aceitar ou não os termos. Caso você não aceite os termos da licença, o programa de instalação será encerrado. Clique em "Next >".

Escolha o diretório onde vão ser instalados os arquivos do OpenSSL. Aconselho a usar o caminho padrão oferecido como sugestão pelo programa de instalação. Clique em "Next >".

Escolha o nome e o local onde os atalhos no menu iniciar devem ser criados. Aconselho a usar o caminho padrão oferecido como sugestão pelo programa de instalação. Clique em "Next >".

Revise as opções que você escolheu anteriormente. Caso estejam todas corretas, clique em "Install".

O programa de instalação irá copiar todos os arquivos para seu disco rígido.

Após concluída a cópia dos arquivos, clique em "Finish" para encerar o programa de instalação.
Você também vai precisar fazer o download do arquivo ssl.conf e colocar dentro do diretório Apache2\conf.
Criar o certificado de teste
Abra em "Prompt de comando". Navegue até o diretório "/bin" em sua instalação do OpenSSL.
Clique em "Iniciar" e depois em "Executar". Irá aparecer a seguinte tela. Em seguida execute o comando cd C:\OpenSSL\bin.
Microsoft
Windows XP [Version 5.1.2600] |
Estou logado no Windows XP com o usuário "Administrator".
Agora vamos criar o certificado de teste para colocarmos em nosso servidor. No "Prompt de comando". execute o seguinte comando "openssl req -config openssl.cnf -new -out meu-servidor.csr" e preencha as informações que o programa lhe solicita
C:\OpenSSL\bin>openssl
req -config openssl.cnf -new -out meu-servidor.csr C:\OpenSSL\bin> |
Você pode substituir "meu-servidor.csr" para o nome que você quiser, seguido da extenção ".csr". Quando você for solicitado a preencher o "Common Name", dê o nome exato de seu domínio (ex. www.lscalado.com), isso significa que o certificado pertence a esse domínio. Os browsers emitem um alerta quando esse nome não é o mesmo do domínio.
Agora execute o comando "openssl rsa -in privkey.pem -out my-server.key". Isto remove o passphrase da chave privada. Você tem que entender, isto significa que my-server.key só deve ser legível pelo servidor Apache e o Administrador. Você DEVE apagar o arquivo ." rnd" porque contém a informação de "entropy" para criar a chave e poderia ser usado para ataques criptográficos contra sua chave privada.
Agora execute o comando "openssl x509 -in meu-servidor.csr -out my-server.cert -req -signkey my-server.key -days 365". Esse comando cria um certificado assinado que você pode usar até consegur um certificado "real" de uma autoridade certificadora. (Isso é opcional: se você conhecer seus usuários você pode lhes dizer que instalem o certificado em seus browsers).
Nota: esse certificado expira em um ano você pode aumentar isso alterando o valor após o parâmetro "-days 365".
Crie um novo diretório dentro chamado "ssl" dentro do diretório "Apache2\conf" e copie os arquivos "my-server.key" e" my-server.cert" para ele.
Configurando Apache e mod_ssl
Faça o download do mod_ssl e coloque no diretório "Apache2\modules".
Abra o arquivo "httpd.conf" que você encontra em "Apache2\conf" e encontre a diretiva "LoadModule" e adicione a seguinte linha:
<IfModule mod_ssl.c>
Include conf/ssl.conf
LoadModule ssl_module modules/mod_ssl.so
</IfModule>
Após </IfModule> adicione:
SSLMutex default
SSLRandomSeed startup builtin
SSLSessionCache none
Abra o arquivo ssl.conf e configure corretamente o seu domínio e DocumentRoot(o local onde você vai servir seus documentos seguros). Por exemplo em meu servidor os arquivos protegidos com SSL ficam em:
DocumentRoot "D:/ ssl-htdocs"
Reinicie o Apache e acesse https://localhost para você ver localmente se esta tudo correto e depois acesse o domínio que você configurou como por exemplo https://www.lscalado.com.
Finalizando.
Se você tiver alguma questão, entre em contato comigo pelo e-mail leonardo@blog.lscalado.com. Eu também quero dar os créditos a:
Balázs Bárány
Por seu artigo que serviu como base para esta matéria
http://tud.at/programm/apache-ssl-win32-howto.php3
Matt Raible
Por seu artigo, que também serviu como base. http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL

Bem, gostei muito do seu artigo... Gostaria de saber se isto serve para servidores IIS? se sim como confugurar? veleu gostei muito mesmo
Responder comentário
Como fazer Isso no IIS...valeu...
Responder comentário
Leonardo, qnd tentei a seguinte linha de comando
C:\OpenSSL\bin>openssl req -config openssl.cnf -new -o
O sistema não pode executar o programa especificado.
Só da isto, e agora qnd tento rodar o apache não rola tbem.
Pasta de C:\OpenSSL\bin
06/09/2008 15:24 <DIR> .
06/09/2008 15:24 <DIR> ..
28/05/2008 01:48 5.868 CA.pl
25/06/2008 22:51 996.352 libeay32.dll
16/09/2005 05:20 9.687 openssl.cfg
25/06/2008 22:52 312.832 openssl.exe
06/09/2008 15:24 <DIR> PEM
25/06/2008 22:52 188.928 ssleay32.dll
5 arquivo(s) 1.513.667 bytes
Os textos publicados neste espaço são de responsabilidade única de seus autores (colunistas e leitores) e podem não expressar necessariamente a opinião do iMasters.
Leonardo Calado trabalha profissionalmente com tecnologias de internet desde 2000, possui experiência em servidores web (Apache, IIS, Xitami e etc), sistemas operacionais baseados em UNIX e tecnologias Microsoft. Também presta consultoria na área de desenvolvimento e gerência de projetos. Quando encontra algum tempo livre entre trabalho, esposa e filha gosta de estudar novas tecnologias, pesquisar tendências e codificar em C/C++ fazendo alterações em projetos opensource.
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.