{"id":837,"date":"2013-07-17T01:13:45","date_gmt":"2013-07-17T01:13:45","guid":{"rendered":"http:\/\/codebangers.com\/?p=837"},"modified":"2013-07-17T03:08:28","modified_gmt":"2013-07-17T03:08:28","slug":"generate-ssl-certificate-for-linux","status":"publish","type":"post","link":"https:\/\/codebangers.com\/generate-ssl-certificate-for-linux\/","title":{"rendered":"Generate SSL Certificate for Linux"},"content":{"rendered":"<p>If you want to test SSL on your web server, you probably want to generate a self-signed certificate before ordering up the real one.<br \/>\nThere are three steps:<br \/>\n&#8211; generate SSL key w\/o passphrase<br \/>\n&#8211; generate certificate request<br \/>\n&#8211; generate self-signed certificate<\/p>\n<pre># cd \/etc\/httpd\/conf\r\n# mkdir ssl.key ssl.csr ssl.crt\r\n# openssl genrsa -out \/etc\/httpd\/conf\/ssl.key\/myserver.net.key 1024\r\n# openssl req -new -key \/etc\/httpd\/conf\/ssl.key\/myserver.net.key -out \/etc\/httpd\/conf\/ssl.csr\/myserver.net.key.csr\r\n# openssl req -new -key \/etc\/httpd\/conf\/ssl.key\/myserver.net.key -x509 -out \/etc\/httpd\/conf\/ssl.crt\/myserver.net.crt -days 999\r\n# ln -s ssl.crt\/myserver.net.crt server.crt\r\n# ln -s ssl.key\/myserver.net.key server.key<\/pre>\n<p>and add the following to the bottom of your\u00a0<em>\/etc\/httpd\/conf\/httpd.conf<\/em>\u00a0file, remembering to substitute your own IPs and hostnames:<\/p>\n<pre>NameVirtualHost 192.168.1.19:80\r\nNameVirtualHost 192.168.1.19:443\r\n\r\n&lt;VirtualHost foo.myserver.net:80&gt;\r\n    ServerName foo.myserver.net\r\n    ServerAdmin webmaster@myserver.net\r\n    DocumentRoot \/var\/www\/html\r\n&lt;\/VirtualHost&gt;\r\n\r\n&lt;VirtualHost foo.myserver.net:443&gt;\r\n    ServerName foo.myserver.net\r\n    ServerAdmin webmaster@myserver.net\r\n    DocumentRoot \/var\/www\/html\r\n    SSLEngine on\r\n    SSLCertificateFile conf\/server.crt\r\n    SSLCertificateKeyFile conf\/server.key\r\n&lt;\/VirtualHost&gt;<\/pre>\n<p>and restart the web server:<\/p>\n<pre># service httpd restart<\/pre>\n<p>Now navigate to your https URL in a browser. You will have to add a security exception in your browser for the unvalidated self-signed certificate.<\/p>\n<p><a title=\"View Source\" href=\"http:\/\/idolinux.blogspot.com\/2009\/02\/apache-self-signed-cert.html\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you want to test SSL on your web server, you probably want to generate a self-signed certificate before ordering up the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":100,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,15,31],"tags":[],"class_list":["post-837","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apache2","category-linux-1","category-programming"],"_links":{"self":[{"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/posts\/837","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/comments?post=837"}],"version-history":[{"count":5,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/posts\/837\/revisions"}],"predecessor-version":[{"id":842,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/posts\/837\/revisions\/842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/media\/100"}],"wp:attachment":[{"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/media?parent=837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/categories?post=837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codebangers.com\/wp-json\/wp\/v2\/tags?post=837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}