You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: https.md
+15-7Lines changed: 15 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
4
4
## The problem
5
-
The problem with HTTP without any S is that it sends and receives data in plain text.
5
+
HTTP is the protocol that the browsers use to communicate with the server. The problem with HTTP without any S is that it sends and receives data in plain text.
6
6
7
7
#### Well, who can see my data in plain text?
8
8
9
-
Well, anyone in your local network, your co-workers for example or people sitting around in your favourite cåfe.
9
+
Well, anyone in your local network, your co-workers for example or people sitting around you in your favourite cafe.
10
10
11
11
#### How will they do it?
12
12
@@ -33,10 +33,18 @@ There is still one problem with the above process, that is, any [man in the midd
33
33
34
34
To solve that problem browser like Chrome, Firefox, Safari etc. come embedded with information to find out which certificates are genuine. Browsers look for signature in the certificate, the signature on the certificate needs to be from one of the trusted [certificate authorities](https://en.wikipedia.org/wiki/Certificate_authority). In simple terms, certificate authorities are certain well-known organisations which everyone knows to be trust worthy (it all boils down to trust). If there is no such signature in the certificate then the browser will display a warning to the user that this connection is not really HTTPS. The server on the other hand need to get the signed certificate from one of the certificate authority by physically verifying their identity(by sending docs etc.).
35
35
36
+
So, `https` servers two main purpose
37
+
38
+
* It tells you that the website domain shown in the browser is the one you are actually talking to.
39
+
* It encrypts all the communication between the domain in the browser and the browser itself.
40
+
36
41
### How to get HTTPS for my website?
37
42
#### There are two ways to get HTTPS to your website
38
43
1. Paid
39
-
* TODO
44
+
* You need to buy a SSL certificate from some CAs
45
+
* Then you need to generate a certificate signing request from your server
46
+
* Then they ask you to verify that you really own the domain.
47
+
* Then they let you download the signed certificate which you can use in your server's configuration.
40
48
2. Free:
41
49
* Use [LetsEncrypt](https://letsencrypt.org/). Letsencrypt is free because the whole process is totally automated hence getting rid of the manual cost of configuration, creation, validation, expiration etc.
42
50
* To setup, follow the steps mentioned here depending on your server: [Setup steps](https://certbot.eff.org/#ubuntuxenial-nginx)
* When you visit a website in your browser, make sure it displays the padlock like this (will be gray in safari)
98
-

99
-
* If you see striked out padlock and a warning page, then do not proceed, someone might be snooping on your traffic.
105
+
* When you visit a website in your browser, make sure it displays the padlock like this  (will be gray in safari)
106
+
* If you are using an untrusted or public internet(wifi/wired) and you see striked out padlock and a warning page, then do not proceed, someone might be snooping on your traffic.
100
107
* iOS and Android apps have no way to tell if they are encrypting the traffic. Bad luck.
101
-
* If you use a mobile phone or laptop provided by the company then they may install certain certificates to be trusted by the device and can easily snoop on all your browsing. You should check if any ca cert is installed in your phone. Steps to check: todo
108
+
* Do not hand over your unloked mobile phones to any untrusted person. He/she might install certain untrusted `CAs` (certificate authorities) and can see all your traffic.
109
+
* If you use a mobile phone or laptop provided by the company then they might have installed certain `CAs` (certificates authorities) to be trusted by the device and can easily snoop on all your browsing. You should check if any `CA` is installed in your phone. Steps to check: In iOS, go to `Settings` -> `General` -> `Profiles`. If there is anything installed there then someone might be sniffing your traffic. In Android, go to `Settings`, under "Personal," tap `Security`, under "Credential storage," tap `Trusted credentials`. Check the certificates installed by user and system.
0 commit comments