The first thing needed for setting up HTTPS is a digital
certificate. Digital certificates can be obtained in any of the following
methods:
1) Self-signed certificates are recommended for testing
purposes and personal projects. Self-signed certificates are also applicable
for service providers where the client users are specific and the circle of trust is limited. Self-signed certificates do not cost money.
2) Certificates can be obtained from community-based
certificate providers such as StartSSL and CACert. These certificates do not
cost money either, but it is recommended for personal projects.
3) For commercial projects where websites are accessed globally,
it is recommended to purchase a certificate from a well-known trusted
certificate authority. These certificates cost money, but they do increase the credibility of the web service provider.
Steps to set up https on apache web server :
1) yum install mod_ssl openssl
2) generating self signed certificate
a) First, generate a private key with 2048 bit encryption.
openssl genrsa -out ca.key 2048
b) Then generate certificate signing request (CSR).
openssl req -new -key ca.key -out ca.csr
c) Finally, generate a self-signed certificate of X509 type, which remains valid for 365 keys.
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
d) After the certificate is created, the files are copied to necessary directories.
cp ca.crt /etc/pki/tls/certs/
cp ca.key /etc/pki/tls/private/
cp ca.csr /etc/pki/tls/private/
3) Configuring Apache Web Server
a) First, edit the following configuration file.
vim /etc/httpd/conf.d/ssl.conf
### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
### The following parameter does not need to be modified in case of a self-signed certificate. ###
### If you are using a real certificate, you may receive a certificate bundle. The bundle is added using the following parameters ###
SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle
b) Then the httpd service is restarted for the changes to take effect.
service httpd restart
Pankaj
Comments
Post a Comment