Skip to content

Commit 3debed5

Browse files
committed
add 4-https
1 parent 5188837 commit 3debed5

File tree

6 files changed

+110
-0
lines changed

6 files changed

+110
-0
lines changed

gohttps/4-https/README

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
$ openssl genrsa -out server.key 2048 // private key
2+
$ openssl req -new -x509 -key server.key -out server.crt -days 365 //self-signed certificate

gohttps/4-https/client1.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"io/ioutil"
6+
"net/http"
7+
)
8+
9+
func main() {
10+
resp, err := http.Get("https://localhost:8081")
11+
if err != nil {
12+
fmt.Println("error:", err)
13+
return
14+
}
15+
defer resp.Body.Close()
16+
body, err := ioutil.ReadAll(resp.Body)
17+
fmt.Println(string(body))
18+
}

gohttps/4-https/client2.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package main
2+
3+
import (
4+
"crypto/tls"
5+
"fmt"
6+
"io/ioutil"
7+
"net/http"
8+
)
9+
10+
func main() {
11+
tr := &http.Transport{
12+
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
13+
}
14+
client := &http.Client{Transport: tr}
15+
resp, err := client.Get("https://localhost:8081")
16+
17+
if err != nil {
18+
fmt.Println("error:", err)
19+
return
20+
}
21+
defer resp.Body.Close()
22+
body, err := ioutil.ReadAll(resp.Body)
23+
fmt.Println(string(body))
24+
}

gohttps/4-https/server.crt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIID9DCCAtygAwIBAgIJAK4NBkQ4ykJEMA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV
3+
BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
4+
aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xNTA0MzAwNjQ1
5+
MTRaFw0xNjA0MjkwNjQ1MTRaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21l
6+
LVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV
7+
BAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxF
8+
xlW8qD4/2qLQNSIwBzUz0QkM/SbE/FwL4H6dRu3Cfgzc9Mo+iVFtIFLpL75Y2Qkp
9+
FZf0EFDz2YhHhUxwKeK5soCHb8rLNBMgvCfBJ0DOLHWbWy8nUmHbs8TfP2EoxSHr
10+
+8NmAW9VqPwv4EnX3rjj5bFRITD0fsLL8/J1V17nVHyZeNIDroDSPviBwikcV/ue
11+
DFvzszR08HSxqLNeJfAq/nBsTGhLqmCBsC41P3qSMgNMiU8VWx7myOoyKoPXcr2O
12+
Kv3TQ75ZvpvmW7OayPdPu656I1aya7QFxXpuAsHAuGXxhWfF85yq7Rz7RInm5qDw
13+
ESJ6ppQBd9HaK5UniusCAwEAAaOBvjCBuzAdBgNVHQ4EFgQULycg0YGji4qEJu3x
14+
+PKC7AH6dO4wgYsGA1UdIwSBgzCBgIAULycg0YGji4qEJu3x+PKC7AH6dO6hXaRb
15+
MFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJ
16+
bnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxvY2FsaG9zdIIJAK4N
17+
BkQ4ykJEMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAMBrcikf80fj
18+
dHVxxlzd5Z4SbjIGd/NP7Y7075EF380WaK1GXWdOVbbQ971eCqUm4h7GVDmOY1WZ
19+
QXVWBzWdFGE0WFW61Xl024wIHli7y88RQiCz/hCTJ6WPDOjhPyozhuJ7UG466GVi
20+
stoBmsjRtHrkdN10z6hLwh3j/vM/aXi1WM2fp4/n1MlAUdOOuZulIPf4LKzDhsXU
21+
sOr+2A44j2oIcVjyp4G2rfPH5Zj4gIQhpm2MV7FiqYZQSq/oU+4ZTqnpXVjdDZDY
22+
U4wz/S3coduQEnfp/1hr4ZarVnvpVpe+/RNtz7ITQhDtjxE8MT/bDGkHYhibnHw1
23+
RKeNyyCzVsU=
24+
-----END CERTIFICATE-----

gohttps/4-https/server.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"net/http"
6+
)
7+
8+
func handler(w http.ResponseWriter, r *http.Request) {
9+
fmt.Fprintf(w, "Hi, This is an example of http service in golang!")
10+
}
11+
12+
func main() {
13+
http.HandleFunc("/", handler)
14+
http.ListenAndServeTLS(":8081", "server.crt", "server.key", nil)
15+
}

gohttps/4-https/server.key

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEpAIBAAKCAQEA3EXGVbyoPj/aotA1IjAHNTPRCQz9JsT8XAvgfp1G7cJ+DNz0
3+
yj6JUW0gUukvvljZCSkVl/QQUPPZiEeFTHAp4rmygIdvyss0EyC8J8EnQM4sdZtb
4+
LydSYduzxN8/YSjFIev7w2YBb1Wo/C/gSdfeuOPlsVEhMPR+wsvz8nVXXudUfJl4
5+
0gOugNI++IHCKRxX+54MW/OzNHTwdLGos14l8Cr+cGxMaEuqYIGwLjU/epIyA0yJ
6+
TxVbHubI6jIqg9dyvY4q/dNDvlm+m+Zbs5rI90+7rnojVrJrtAXFem4CwcC4ZfGF
7+
Z8XznKrtHPtEiebmoPARInqmlAF30dorlSeK6wIDAQABAoIBAQDZgaTJQJM5dMAm
8+
CUaOTbKwXExLjaHkSJuRIME7BX7mhCkH9p9ZncrmtsU2WcClSwJ1QzZpZ7080q25
9+
HjaINjGGCiwzMom3TFRNlwN0lgx2t5+7Of8eXsvAibvH6VKiVCnkxytB1VYRZBqL
10+
e5MUF698Dr3fC+ekeak6HT7z6d6ufBXWNBhqyd7Mb7a4HXwQARXJNa74gwHArvec
11+
QVdiIYVQWAhPsqlFee8wOTPc2sCQU8uf4LeTwsozQ28e5dq3Orlaeir9+IFbztEf
12+
2F/1eTTn0p5iGFVkFHv0B0fybvCm5QFGegGAznNXbzYtp85JcCN34HfQTdxcswDM
13+
9d4qF/ZhAoGBAPeLouAPxri8qJMjdcZAkOJrdhO2SVOjs+ENTCfpMZgYcnyX3SgK
14+
uEOkD4DJfmJrikbCjkZMPNFZpuQcGpIdBA7jrnd5b3039N0Dx5O0+JhEXPQM+cpb
15+
HseMCoRb8bDDj9HMSYiPLh0ciYBifiH2uVxe3E/HoRXHCwawS7mRRoS5AoGBAOPL
16+
rvYfIva04BJaZ/0nDQPEeHr58waVWRdFb4FEO5KfM66y2RTPfflEy5psUq30tQkr
17+
IIMH7oBU43mrwmEqYd7DVc9Jauwk35Kd3btSFv9hj+4GEIh3ohqPqOzJ/iG5XkIR
18+
4LsQj5fhLHiVsP8oNaVhJZTnWQViwAjvBYM1HwLDAoGAUGW8l3LoQrWbNnaM2L+9
19+
jpwCNHK+q/h+AnjUJB47qj8+Z7LW9BtPL0DIfDZ04rg0p7imhrRaCFBKwMlT4+Ki
20+
n8dYsZryF8QlteZ1WkareqCxY94W/p7Lh1m3TLej7poFSslDlKOUAYZ0LgtPFe7Q
21+
0uxIN20Jp04HCbwWTAWf1pkCgYBFM0oqYJkZgycSzD4M7IEKpPPIwAew90vCQwi1
22+
p0nFp/FmX9SMeuAVCm4jskaHq/AXIe/VfmJYv/D+tEvvgpWKu6JkvzPpGuaEPsru
23+
LejomfXEZDk/i8BF+2Bg1pgKHKrivVWc3lIQ3InK9AZ57PgnDlUBYCpt9WrLC/mL
24+
u2Z5SwKBgQCipw4H9Ej5d3OYJQM6+NzwoGtQAhdTcIkH6+Mo23ptd/QXrbr9rgCV
25+
+0MtQCuHh92b/QKgJZb4wvrfFzUzmW9mpWu3JMZylQ7pPY/GY55dyN+xzM3XkyCQ
26+
Pu4tmRR2j54tjgQPfvQvNLC1oE15QHXxBRNErshzL3dGdAGCaYycOQ==
27+
-----END RSA PRIVATE KEY-----

0 commit comments

Comments
 (0)