SlideShare a Scribd company logo
Making the secure communicationMaking the secure communication
between Server and Client withbetween Server and Client with
https protocolhttps protocol
Armenian e-Science Foundation (ArmeSFo) 49 Komitas Ave, 0051
Yerevan Armenia http://www.escience.am/
Armenuhi Abramyan, Hayk Haroyan
{armabram, hharoyan}@mail.yerphi.am
Content
1.1. Secure Socket Layer (SSL)Secure Socket Layer (SSL)
2.2. How SSL worksHow SSL works
3.3. Installing theInstalling the Apache 2.2.14Apache 2.2.14 server withserver with sslssl andand rewriterewrite modulesmodules
4. Configuring Apache for enabling module ssl
5.5. Creating the private key and self-signed certificate for serverCreating the private key and self-signed certificate for server
6.6. Starting the apache serverStarting the apache server
7. Testing the secure communication
8. Configuring Apache for enabling module rewrite and making some
(b) directory of web site under https protocol
9. Restarting the apache server, and trying to open any web page
under b directory with http protocol
SSL is the transaction security protocol used by websites to protect online
communications. The most common use of SSL is to provide protection for
confidential data, such as personal details or credit card information, entered into
a website.
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
How SSL works
Installing the Apache 2.2.14 server with ssl and rewrite modulesInstalling the Apache 2.2.14 server with ssl and rewrite modules
$> tar -xvzf httpd-2.2.14.tar.gz
$> ./configure --prefix=/usr/local/httpd-2.2.14 --enable-modules='rewrite ssl‘
$> make
#> make install
1. Download the latest version of Apache server from www.apache.org
2. Install the Apache server by using the following commands:
#> vi /usr/local/httpd-2.2.14/conf/httpd.conf
Configuring Apache for enabling module ssl
1. Edit the apache config file (/usr/local/httpd-2.2.14/conf/httpd.conf)
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
2. Uncomment the line of including the ssl config file then save and Quit (ESC+:wq)
#> cd /usr/local/httpd-2.2.14/conf/
#> vi extra/httpd-ssl.conf
3. Edit the ssl config file (/usr/local/httpd-2.2.14/conf/extra/httpd-ssl.conf)
Listen 443
SSLCertificateFile "/usr/local/httpd-2.2.14/conf/server.crt"
SSLCertificateKeyFile "/usr/local/httpd-2.2.14/conf/server.key"
Step 1: Generate a Private Key
#> openssl genrsa -des3 -out server.key 1024
Enter PEM pass phrase: //Type your password
Verifying password - Enter PEM pass phrase: //Retype your password
Note: Use the following command to remove the pass-phrase from the key
#> cp server.key server.key.withpass
#> openssl rsa -in server.key.withpass -out server.key
Step 2: Generate a CSR (Certificate Signing Request)
#> openssl req -new -key server.key -out server.csr
Enter pass phrase for server.key: //Type your private key password
Country Name (2 letter code) [GB]:AM
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) []: na601.yerphi.am
Email Address []: //Press Enter
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: //Press Enter
An optional company name []: //Press Enter
Step 3: Generating a Self-Signed Certificate
#> openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=AM/CN=na601.yerphi.am
Starting the apache server
#> /usr/local/httpd-2.2.14/bin/apachectl start
Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server www.example.com:443 (RSA)
Enter pass phrase: //Type your private key password
OK: Pass Phrase Dialog successful.
Testing the Secure communication
Open the browser with following url: https://localhost
And we see that:
it works!
#> vi /usr/local/httpd-2.2.14/conf/httpd.conf
Configuring Apache for enabling module rewrite and making
some (b) directory of web site under https protocol
1. Edit the apache config file (/usr/local/httpd-2.2.14/conf/httpd.conf)
2. Add the following content, then save and Quit (ESC+:wq)
RewriteEngine On
#RewriteRule ^/a/(.*)$ /b/$1 [R]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/b/(.*)$ https://localhost/b/$1 [L,R]
Restarting the apache server, and trying to open any web page
under b directory with http protocol
#> /usr/local/httpd-2.2.14/bin/apachectl restart
Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Server www.example.com:443 (RSA)
Enter pass phrase: //Type your private key password
OK: Pass Phrase Dialog successful.
When we try to open any web page under b directory
with http protocol, it's rewrites into https protocol
Thank you

More Related Content

What's hot

How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
How To Deploy A Cloud Based Webserver in 5 minutes - LAMPHow To Deploy A Cloud Based Webserver in 5 minutes - LAMP
How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
Matt Dunlap
 
Cluster setup multinode_aws
Cluster setup multinode_awsCluster setup multinode_aws
Cluster setup multinode_aws
sparrowAnalytics.com
 
httpd — Apache Web Server
httpd — Apache Web Serverhttpd — Apache Web Server
httpd — Apache Web Serverwebhostingguy
 
Instalar MySQL CentOS
Instalar MySQL CentOSInstalar MySQL CentOS
Instalar MySQL CentOS
Moisés Elías Araya
 
Squidinstallation
SquidinstallationSquidinstallation
Squidinstallation
Chirag Gupta
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringConrad Cruz
 
Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Conrad Cruz
 
LAMP security practices
LAMP security practicesLAMP security practices
LAMP security practicesAmit Kejriwal
 
MySql Restore Script
MySql Restore ScriptMySql Restore Script
MySql Restore Script
Hızlan ERPAK
 
Hadoop presentation
Hadoop presentationHadoop presentation
Hadoop presentation
MaggieZhang61
 
Apache2 BootCamp : Getting Started With Apache
Apache2 BootCamp : Getting Started With ApacheApache2 BootCamp : Getting Started With Apache
Apache2 BootCamp : Getting Started With ApacheWildan Maulana
 
Secure Your Wordpress
Secure Your WordpressSecure Your Wordpress
Secure Your Wordpress
n|u - The Open Security Community
 
Apache installation and configurations
Apache installation and configurationsApache installation and configurations
Apache installation and configurationsNikhil Jain
 
AWS 기반 Docker, Kubernetes
AWS 기반 Docker, KubernetesAWS 기반 Docker, Kubernetes
AWS 기반 Docker, Kubernetes
정빈 권
 
Config websocket on apache
Config websocket on apacheConfig websocket on apache
Config websocket on apache
baran19901990
 
Install odoo v8 the easiest way on ubuntu debian
Install odoo v8 the easiest way on ubuntu debianInstall odoo v8 the easiest way on ubuntu debian
Install odoo v8 the easiest way on ubuntu debian
Francisco Servera
 
Cluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
Cluster Computing for $0.27/hr using Amazon EC2 and IPython NotebookCluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
Cluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
Randy Zwitch
 
Cloudera amazon-ec2
Cloudera amazon-ec2Cloudera amazon-ec2
Cloudera amazon-ec2Randy Zwitch
 
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูล
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูลบทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูล
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูลPriew Chakrit
 

What's hot (20)

How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
How To Deploy A Cloud Based Webserver in 5 minutes - LAMPHow To Deploy A Cloud Based Webserver in 5 minutes - LAMP
How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
 
Cluster setup multinode_aws
Cluster setup multinode_awsCluster setup multinode_aws
Cluster setup multinode_aws
 
httpd — Apache Web Server
httpd — Apache Web Serverhttpd — Apache Web Server
httpd — Apache Web Server
 
Instalar MySQL CentOS
Instalar MySQL CentOSInstalar MySQL CentOS
Instalar MySQL CentOS
 
Squidinstallation
SquidinstallationSquidinstallation
Squidinstallation
 
Aeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filteringAeon mike guide transparent ssl filtering
Aeon mike guide transparent ssl filtering
 
Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)Aeon mike guide transparent ssl filtering (1)
Aeon mike guide transparent ssl filtering (1)
 
LAMP security practices
LAMP security practicesLAMP security practices
LAMP security practices
 
MySql Restore Script
MySql Restore ScriptMySql Restore Script
MySql Restore Script
 
Hadoop presentation
Hadoop presentationHadoop presentation
Hadoop presentation
 
Apache2 BootCamp : Getting Started With Apache
Apache2 BootCamp : Getting Started With ApacheApache2 BootCamp : Getting Started With Apache
Apache2 BootCamp : Getting Started With Apache
 
Presentation (PPT)
Presentation (PPT)Presentation (PPT)
Presentation (PPT)
 
Secure Your Wordpress
Secure Your WordpressSecure Your Wordpress
Secure Your Wordpress
 
Apache installation and configurations
Apache installation and configurationsApache installation and configurations
Apache installation and configurations
 
AWS 기반 Docker, Kubernetes
AWS 기반 Docker, KubernetesAWS 기반 Docker, Kubernetes
AWS 기반 Docker, Kubernetes
 
Config websocket on apache
Config websocket on apacheConfig websocket on apache
Config websocket on apache
 
Install odoo v8 the easiest way on ubuntu debian
Install odoo v8 the easiest way on ubuntu debianInstall odoo v8 the easiest way on ubuntu debian
Install odoo v8 the easiest way on ubuntu debian
 
Cluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
Cluster Computing for $0.27/hr using Amazon EC2 and IPython NotebookCluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
Cluster Computing for $0.27/hr using Amazon EC2 and IPython Notebook
 
Cloudera amazon-ec2
Cloudera amazon-ec2Cloudera amazon-ec2
Cloudera amazon-ec2
 
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูล
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูลบทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูล
บทที่ 3 การเขียนโปรแกรมติดต่อฐานข้อมูล
 

Similar to Making the secure communication between Server and Client with https protocol

Rhel5
Rhel5Rhel5
NGiNX, VHOSTS & SSL (let's encrypt)
NGiNX, VHOSTS & SSL (let's encrypt)NGiNX, VHOSTS & SSL (let's encrypt)
NGiNX, VHOSTS & SSL (let's encrypt)
Marcel Cattaneo
 
Configuration of Self Signed SSL Certificate For CentOS 8
Configuration of Self Signed SSL Certificate For CentOS 8Configuration of Self Signed SSL Certificate For CentOS 8
Configuration of Self Signed SSL Certificate For CentOS 8
Kaan Aslandağ
 
How To Install and Configure Apache SSL on CentOS 7
How To Install and Configure Apache SSL on CentOS 7How To Install and Configure Apache SSL on CentOS 7
How To Install and Configure Apache SSL on CentOS 7
VCP Muthukrishna
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hostingwebhostingguy
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Niels de Bruijn
 
Enabling SSL Elasticsearch on server
Enabling SSL Elasticsearch on serverEnabling SSL Elasticsearch on server
Enabling SSL Elasticsearch on server
Omkar Rane
 
How to Install SSL Certificate in Red Hat Linux Apache Web Server
How to Install SSL Certificate in Red Hat Linux Apache Web ServerHow to Install SSL Certificate in Red Hat Linux Apache Web Server
How to Install SSL Certificate in Red Hat Linux Apache Web Server
AboutSSL
 
Ch 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet ServersCh 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet Serverswebhostingguy
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registry
Vipin Mandale
 
Server hardening
Server hardeningServer hardening
Server hardening
Teja Babu
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptwebhostingguy
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptwebhostingguy
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptwebhostingguy
 
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateIntroduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
Alex Pop
 
Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21
Max Kleiner
 
FreeBSD and Hardening Web Server
FreeBSD and Hardening Web ServerFreeBSD and Hardening Web Server
FreeBSD and Hardening Web Server
Muhammad Moinur Rahman
 

Similar to Making the secure communication between Server and Client with https protocol (20)

Rhel5
Rhel5Rhel5
Rhel5
 
NGiNX, VHOSTS & SSL (let's encrypt)
NGiNX, VHOSTS & SSL (let's encrypt)NGiNX, VHOSTS & SSL (let's encrypt)
NGiNX, VHOSTS & SSL (let's encrypt)
 
Configuration of Self Signed SSL Certificate For CentOS 8
Configuration of Self Signed SSL Certificate For CentOS 8Configuration of Self Signed SSL Certificate For CentOS 8
Configuration of Self Signed SSL Certificate For CentOS 8
 
How To Install and Configure Apache SSL on CentOS 7
How To Install and Configure Apache SSL on CentOS 7How To Install and Configure Apache SSL on CentOS 7
How To Install and Configure Apache SSL on CentOS 7
 
Apache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual HostingApache web server installation/configuration, Virtual Hosting
Apache web server installation/configuration, Virtual Hosting
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
 
Enabling SSL Elasticsearch on server
Enabling SSL Elasticsearch on serverEnabling SSL Elasticsearch on server
Enabling SSL Elasticsearch on server
 
How to Install SSL Certificate in Red Hat Linux Apache Web Server
How to Install SSL Certificate in Red Hat Linux Apache Web ServerHow to Install SSL Certificate in Red Hat Linux Apache Web Server
How to Install SSL Certificate in Red Hat Linux Apache Web Server
 
Ch 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet ServersCh 22: Web Hosting and Internet Servers
Ch 22: Web Hosting and Internet Servers
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registry
 
APACHE 2 HTTPS.ppt
APACHE 2 HTTPS.pptAPACHE 2 HTTPS.ppt
APACHE 2 HTTPS.ppt
 
Server hardening
Server hardeningServer hardening
Server hardening
 
Network Manual
Network ManualNetwork Manual
Network Manual
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.ppt
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.ppt
 
Utosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.pptUtosc2007_Apache_Configuration.ppt
Utosc2007_Apache_Configuration.ppt
 
Introduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release updateIntroduction to InSpec and 1.0 release update
Introduction to InSpec and 1.0 release update
 
Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21Open SSL and MS Crypto API EKON21
Open SSL and MS Crypto API EKON21
 
Apache Ppt
Apache PptApache Ppt
Apache Ppt
 
FreeBSD and Hardening Web Server
FreeBSD and Hardening Web ServerFreeBSD and Hardening Web Server
FreeBSD and Hardening Web Server
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Making the secure communication between Server and Client with https protocol

  • 1. Making the secure communicationMaking the secure communication between Server and Client withbetween Server and Client with https protocolhttps protocol Armenian e-Science Foundation (ArmeSFo) 49 Komitas Ave, 0051 Yerevan Armenia http://www.escience.am/ Armenuhi Abramyan, Hayk Haroyan {armabram, hharoyan}@mail.yerphi.am
  • 2. Content 1.1. Secure Socket Layer (SSL)Secure Socket Layer (SSL) 2.2. How SSL worksHow SSL works 3.3. Installing theInstalling the Apache 2.2.14Apache 2.2.14 server withserver with sslssl andand rewriterewrite modulesmodules 4. Configuring Apache for enabling module ssl 5.5. Creating the private key and self-signed certificate for serverCreating the private key and self-signed certificate for server 6.6. Starting the apache serverStarting the apache server 7. Testing the secure communication 8. Configuring Apache for enabling module rewrite and making some (b) directory of web site under https protocol 9. Restarting the apache server, and trying to open any web page under b directory with http protocol
  • 3. SSL is the transaction security protocol used by websites to protect online communications. The most common use of SSL is to provide protection for confidential data, such as personal details or credit card information, entered into a website. Secure Socket Layer (SSL)Secure Socket Layer (SSL)
  • 5. Installing the Apache 2.2.14 server with ssl and rewrite modulesInstalling the Apache 2.2.14 server with ssl and rewrite modules $> tar -xvzf httpd-2.2.14.tar.gz $> ./configure --prefix=/usr/local/httpd-2.2.14 --enable-modules='rewrite ssl‘ $> make #> make install 1. Download the latest version of Apache server from www.apache.org 2. Install the Apache server by using the following commands:
  • 6. #> vi /usr/local/httpd-2.2.14/conf/httpd.conf Configuring Apache for enabling module ssl 1. Edit the apache config file (/usr/local/httpd-2.2.14/conf/httpd.conf) # Secure (SSL/TLS) connections Include conf/extra/httpd-ssl.conf 2. Uncomment the line of including the ssl config file then save and Quit (ESC+:wq) #> cd /usr/local/httpd-2.2.14/conf/ #> vi extra/httpd-ssl.conf 3. Edit the ssl config file (/usr/local/httpd-2.2.14/conf/extra/httpd-ssl.conf) Listen 443 SSLCertificateFile "/usr/local/httpd-2.2.14/conf/server.crt" SSLCertificateKeyFile "/usr/local/httpd-2.2.14/conf/server.key"
  • 7. Step 1: Generate a Private Key #> openssl genrsa -des3 -out server.key 1024 Enter PEM pass phrase: //Type your password Verifying password - Enter PEM pass phrase: //Retype your password Note: Use the following command to remove the pass-phrase from the key #> cp server.key server.key.withpass #> openssl rsa -in server.key.withpass -out server.key
  • 8. Step 2: Generate a CSR (Certificate Signing Request) #> openssl req -new -key server.key -out server.csr Enter pass phrase for server.key: //Type your private key password Country Name (2 letter code) [GB]:AM 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) []: na601.yerphi.am Email Address []: //Press Enter Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: //Press Enter An optional company name []: //Press Enter
  • 9. Step 3: Generating a Self-Signed Certificate #> openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt Signature ok subject=/C=AM/CN=na601.yerphi.am
  • 10. Starting the apache server #> /usr/local/httpd-2.2.14/bin/apachectl start Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: //Type your private key password OK: Pass Phrase Dialog successful.
  • 11. Testing the Secure communication Open the browser with following url: https://localhost
  • 12.
  • 13.
  • 14.
  • 15. And we see that: it works!
  • 16. #> vi /usr/local/httpd-2.2.14/conf/httpd.conf Configuring Apache for enabling module rewrite and making some (b) directory of web site under https protocol 1. Edit the apache config file (/usr/local/httpd-2.2.14/conf/httpd.conf) 2. Add the following content, then save and Quit (ESC+:wq) RewriteEngine On #RewriteRule ^/a/(.*)$ /b/$1 [R] RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/b/(.*)$ https://localhost/b/$1 [L,R]
  • 17. Restarting the apache server, and trying to open any web page under b directory with http protocol #> /usr/local/httpd-2.2.14/bin/apachectl restart Apache/2.2.14 mod_ssl/2.2.14 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server www.example.com:443 (RSA) Enter pass phrase: //Type your private key password OK: Pass Phrase Dialog successful. When we try to open any web page under b directory with http protocol, it's rewrites into https protocol