Como criar facilmente um certificado SSL e configurá-lo no Apache2 no Mac OS X?

32

Gostaria de usar meu Mac OS X com https para testes de desenvolvimento local. Como posso fazer com que o Apache2 responda facilmente ao ssl, apenas para propostas de teste - não quero um certificado real, apenas uma farsa para fazer o https local funcionar

    
por Daniel Cukier 22.11.2009 / 21:00

1 resposta

57

Para desenvolvimento local, testar um certificado autoassinado é adequado. Você pode gerar um com o kit OpenSSL da seguinte forma:

Como gerar a chave privada:

openssl genrsa -des3 -out server.key 1024

saída:

Generating RSA private key, 1024 bit long modulus
.........................................................++++++
........++++++
e is 65537 (0x10001)
Enter PEM pass phrase:
Verifying password - Enter PEM pass phrase:

insira uma frase secreta para sua chave privada.

Como gerar o CSR (solicitação de assinatura de certificado):

openssl req -new -key server.key -out server.csr

solicitará detalhes como este:

Country Name (2 letter code) [GB]:
State or Province Name (full name) [Berkshire]:
Locality Name (eg, city) [Newbury]:
Organization Name (eg, company) [My Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

é bastante simples, o nome comum é o nome do host do seu servidor, como se diz entre colchetes.

Como gerar o certificado auto-assinado:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Configurando o SSL no httpd.conf para o Apache:

SSLEngine on
SSLCertificateFile /path/to/generated/server.crt
SSLCertificateKeyFile /path/to/generated/server.key

(substitua o caminho adequadamente pelo caminho do seu certificado e chave)

Reinicie o Apache :

apachectl restart

O Apache pedirá a senha para sua chave. Se você acha que vai desligar muito o servidor, você pode querer remover a frase secreta da chave para evitar que ela seja inserida a cada vez. Se não, não se preocupe com isso. Se assim for, conclua este passo após o passo 2 ( Gerar o CSR ):

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key
    
por 22.11.2009 / 22:36