Step 1: Generate a Private Key
[root@esjeruk:/home/server] openssl genrsa -des3 -out server.key 1024 Generating RSA private key, 1024 bit long modulus ..++++++ .......................++++++ e is 65537 (0x10001) Enter pass phrase for server.key: Verifying - Enter pass phrase for server.key:
Step 2: Generate a CSR (Certificate Signing Request)
[root@esjeruk:/home/server] openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:ID State or Province Name (full name) [Berkshire]:Jakarta Locality Name (eg, city) [Newbury]:Jakarta Organization Name (eg, company) [My Company Ltd]:Esjeruk Organizational Unit Name (eg, section) []:Esjeruk Common Name (eg, your name or your server's hostname) []:esjeruk Email Address []:support@esjeruk.org Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:esjeruk An optional company name []:
Step 3: Remove Passphrase from Key
[root@esjeruk:/home/server] cp server.key server.key.org [root@esjeruk:/home/server] openssl rsa -in server.key.org -out server.key Enter pass phrase for server.key.org: writing RSA key
Step 4: Generating a Self-Signed Certificate
[root@esjeruk:/home/server] openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=/C=ID/ST=Jakarta/L=Jakarta/O=Esjeruk/OU=Esjeruk/CN=esjeruk/emailAddress=support@esjeruk.org Getting Private key
Step 5: Installing the Private Key and Certificate
[root@esjeruk:/home/server] cp server.crt /usr/local/apache/conf/ssl.crt [root@esjeruk:/home/server] cp server.key /usr/local/apache/conf/ssl.key
Step 6: Configuring SSL Enabled Virtual Hosts
SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
Step 7: Restart Apache and Test
[root@esjeruk:/home/server] /etc/init.d/httpd restart