Skip to content

Commit

Permalink
feat: add TLS perm crenditails
Browse files Browse the repository at this point in the history
  • Loading branch information
kelein committed Dec 8, 2023
1 parent be7747b commit ff13e7a
Show file tree
Hide file tree
Showing 7 changed files with 212 additions and 0 deletions.
7 changes: 7 additions & 0 deletions devto-grpc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,10 @@ server:

client:
go run cmd/client/main.go --address 0.0.0.0:8000


cert:
cd cert; sh gen.sh; cd ..


.PHONY: gen clean server client test cert
35 changes: 35 additions & 0 deletions devto-grpc/cert/ca-cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
-----BEGIN CERTIFICATE-----
MIIGKzCCBBOgAwIBAgIUI/ozVXZ1fKf0VIILYnr02z51OhMwDQYJKoZIhvcNAQEL
BQAwgaQxCzAJBgNVBAYTAkZSMRIwEAYDVQQIDAlPY2NpdGFuaWUxETAPBgNVBAcM
CFRvdWxvdXNlMRQwEgYDVQQKDAtUZWNoIFNjaG9vbDESMBAGA1UECwwJRWR1Y2F0
aW9uMRowGAYDVQQDDBEqLnRlY2hzY2hvb2wuZ3VydTEoMCYGCSqGSIb3DQEJARYZ
dGVjaHNjaG9vbC5ndXJ1QGdtYWlsLmNvbTAeFw0yMzEyMDgxNDMzNDVaFw0yNDEy
MDcxNDMzNDVaMIGkMQswCQYDVQQGEwJGUjESMBAGA1UECAwJT2NjaXRhbmllMREw
DwYDVQQHDAhUb3Vsb3VzZTEUMBIGA1UECgwLVGVjaCBTY2hvb2wxEjAQBgNVBAsM
CUVkdWNhdGlvbjEaMBgGA1UEAwwRKi50ZWNoc2Nob29sLmd1cnUxKDAmBgkqhkiG
9w0BCQEWGXRlY2hzY2hvb2wuZ3VydUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEB
AQUAA4ICDwAwggIKAoICAQCxHxsY3ODq3APknmITdDwBuENP/aSVk4cOuCQI6Mn1
9w7BzxTUn6IEKuCHs6b0/v2malMMrygQcx1cJ2fXENhgDn8xtm971Z7r8gV+/3P3
/gX91ypJNBT5pEhJQGaztZwMU+MprwOBiSLjPJpwB8y+4gyQPoi7HNoibSxxmwAN
l74F0vP7eslK6Haq2MPH9CxBum1isdNHGnFWEqVz9bMBfwItQ/UlKpMod4Rm48X9
lfdqYPSPO3DZwEhjm/wMkh7BN+rxtm77pIGkVpdcX6GJQmZnEcF/7QJKQ5orLhJU
eJ07YdEA6n+pMWdh5Rrd7oBpgzL4fB1CZTKF2Fas+UZZ5ChVGged8deKr7MZyUnM
YIUqlb0EmZQtBi46n4eWz/MbMcX8pGmPapDFhkrPn5/XeIGERNxEJKDtF3t+3kKn
eeQxQWdp0w6oXEQpyvtd+UbYKUqBP15SDE8ruMnk38hzlgGUxmiBY5iPYuWsPahB
kAAcP6x66G+lOP/JqJFrMur2+GR4T1L+YtTZ73Nt6z+dK/9cy5RH5v9N0HcAEicZ
V+tRnkyP2L1CjnyOkfHAjjzh42AmKpbQsOlbQtifn+xptQRJxI7FaOcOw31ABfSQ
2zPIwdG1kt8lMJdD1mJmQTAnUQ8ToEIkc4M3thGghPUC/EvleubWJSe2rgFIxVwM
fwIDAQABo1MwUTAdBgNVHQ4EFgQU27JAOPQp1gZ/sv5SeiAnscRf4UwwHwYDVR0j
BBgwFoAU27JAOPQp1gZ/sv5SeiAnscRf4UwwDwYDVR0TAQH/BAUwAwEB/zANBgkq
hkiG9w0BAQsFAAOCAgEAH+hIv5DUUduzVPLnlsiogEp7eZQvk3tfdE5OWul8dQ6Z
DVklAriw0STgn6IS3n+y0+XG11hMFdfGNoD548fGzgozlr4gwTQxqzrA3ppRxboz
zn0TSDIWr0J143JZsgxYpVLn7kuNPhXBgicYe+hZoCTnHCAmfc9hwj9vrRJRgIh9
HmdSialrwgLdoc2q1JzrC9aL2dbPfdeIUhv7BpgVf5GFj605o1BLJacZvMPeVb6H
nLofsxVHAGINwM/dtxG5TWySQCopOJOF3hlpeNyR4Vkc2YL9ukxqg/PMQdbpJv9H
0FnpTxDGFsyF/03Hxn4NxH3UP8yiGhCEzBtYqfuWq4ipRb7fai9Q/rmXpgZfEpZc
5TWuqzZiH7x6c/TmavMkN4Xh/Twt0XIS/DmXxWhMffRMFU/cs9d17KtJnFTzEr7c
XWi8Hu8RSBxFflY8CHxYN7U25PlN6Yj66fKW8JRWpaMX9NJfnUjpxjfgs2BwsSF1
obaaV4uAwQVvoOmlbbsWMG2J0YxSi5VCI84NBqUNzVJ+X5IOuC9VWn7OAgwygLL4
Ogv10XNR+yxWJkMAxdV/cLwDmZ0V40AV36eWSOWUqi5FXx/9eM7y5JU0JMaaccGg
FZDmo0yjk2sgZICKkADttmnj5BkBNduirOOumnGOb+b0/0tcRypvOoeQrOdPGkc=
-----END CERTIFICATE-----
52 changes: 52 additions & 0 deletions devto-grpc/cert/ca-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
v/zFaDRb0lc7aIIMnJ4kS0yqhprVVA==
-----END PRIVATE KEY-----
17 changes: 17 additions & 0 deletions devto-grpc/cert/gen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 0. Clean old pem files
rm *.pem

# 1. Generate CA's private key and self-signed certificate
openssl req -x509 -newkey rsa:4096 -days 365 -nodes -keyout ca-key.pem -out ca-cert.pem -subj "/C=FR/ST=Occitanie/L=Toulouse/O=Tech School/OU=Education/CN=*.techschool.guru/emailAddress=techschool.guru@gmail.com"

echo "CA's self-signed certificate"
openssl x509 -in ca-cert.pem -noout -text

# 2. Generate web server's private key and certificate signing request (CSR)
openssl req -newkey rsa:4096 -nodes -keyout server-key.pem -out server-req.pem -subj "/C=FR/ST=Ile de France/L=Paris/O=PC Book/OU=Computer/CN=*.pcbook.com/emailAddress=pcbook@gmail.com"

# 3. Use CA's private key to sign web server's CSR and get back the signed certificate
openssl x509 -req -in server-req.pem -days 60 -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile server-ext.cnf

echo "Server's signed certificate"
openssl x509 -in server-cert.pem -noout -text
52 changes: 52 additions & 0 deletions devto-grpc/cert/server-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
+aAgNZEa/YuSkYipPWuX3f66Kk/jFQ==
-----END PRIVATE KEY-----
28 changes: 28 additions & 0 deletions devto-grpc/cert/server-req.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIE2DCCAsACAQAwgZIxCzAJBgNVBAYTAkZSMRYwFAYDVQQIDA1JbGUgZGUgRnJh
bmNlMQ4wDAYDVQQHDAVQYXJpczEQMA4GA1UECgwHUEMgQm9vazERMA8GA1UECwwI
Q29tcHV0ZXIxFTATBgNVBAMMDCoucGNib29rLmNvbTEfMB0GCSqGSIb3DQEJARYQ
cGNib29rQGdtYWlsLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
ALxewZCc2O334/3tbk6/bEOXGokRxdNTOmJUgNSzPVkCK5V7QBSXmK41UcIBi5Jv
GKH+PI83mJGBBHj4MdxZcOleoQ6xIT+MsO9b119c+hrnYEJmdVU9B4qS8TIoJn1R
0WgbWvyYRpsZwH+0GQB3IyhKTi8CXKRgwpx0k6Q9ViEf7M0qtPxal0dA5ltfLNCu
cpIqshe/xceD4NhRJ6O9FW4YVPtov13iuKh44GKgEfyevqATBJ4Mf8VIR6f9C98Y
WDMGWbN1d7xw5YAiiBqryUiqo2OZ2Cm0mXEWMO04hSPJ6+RgotYGauexzQkNcpbk
SIgjbGWNuYXIfE7TLBOqoyG/PBipLVVyzc3TOw+FAi1jIwo5CU1lcTq/EMEg3owx
K+u89eAd4a3R4GeNMT03TuxSfE9u5gLsw1ljN2698LCX9b5RDAXWFkOVgVIb6PgM
OpAv7umoXHPQxTBenRlmpKx9n3hN21UTAkBlz/ZESdQ3IAUs1qIWNkC9sY2yUodg
2LBjSne41zEuYmbq02Kc1EMclcZ1G8CFoyGA43GYm7vkAeQ06Qwy37hgJlfKImXf
aBvOMzG4K/RuS8SCDItOo2oMiKGKSUKs1DyJpqDjvbA/YAyDwpWi268yMpxKyBOq
J6N07CtPs+ANSW1q0xrJmXs4Ix0qXa9sn1puHlAy3DLnAgMBAAGgADANBgkqhkiG
9w0BAQsFAAOCAgEABkQmMx4MMyT/nAD/J4auyiu8h4zClprNzeO1b02P0M9U0Wke
h4tMPhs0+zcRYsjvTVi7iMAeUxFWssp6/IcpFqnQcXSgbDz/cJcB5r37s6Me96tg
QGA3T94hG1xdt03FlL0xVIt6GoY9pWHglXhJfedRVEGvWyotWgfwWGoyWmR19BwB
2ccxnDvd2d363W9ap7fOIvXuiKYpQdJIp+xUs9qRfk7QKqrguAa0fzf+OiNDkRGm
y/rWPaUdxBbABk4w4dUo+yFbr8UtVBm9YUq2BemB9rUxXoNfqXOV2+UT3jRVRc0c
DXGtzMf3v++C1759L5Tj0fe2v8+biw/ICIGxDxm6suksT+6a97cjdbI//JHTKpx3
wggTPQeJ6nlwHAIClqvJWxvWhk7nxRfddXn9EME1D4q4PwtIYqYkzFsd93qKYJO2
U6CtRjByr9bJTlTcapyFRpako6kB14XumA2cJJCsqMzGHlVpGna+i7u7ULdW+Iah
FU+v24mAmWxYGFw7UdCVZUhdlnTQlR1535retuKPRZrHI2DDdX4q6E87wYRMRcya
2Ak0hVzk2WAht+kLcMk6rqRLAkoE2Edm+OjGd0B5Q/k1NfiNUeWHOe2qCYQi2zfS
aC26k0PmKVq9IzREH0zHSdbbgi+AZw5HcJy6ii43Hwhjqh9gNjj/tNSCEr8=
-----END CERTIFICATE REQUEST-----
21 changes: 21 additions & 0 deletions devto-grpc/cmd/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ package main

import (
"context"
"crypto/tls"
"flag"
"fmt"
"log"
"net"
"time"

"google.golang.org/grpc"
"google.golang.org/grpc/credentials"

"cookbook/devto-grpc/model"
"cookbook/devto-grpc/repo"
Expand All @@ -28,9 +30,15 @@ var imgdir = flag.String("imgdir", "./../tests/imgs", "the image store dir")
func main() {
flag.Parse()

tlsCredentials, err := loadTLSCredentials()
if err != nil {
log.Fatalf("load TLS credentials failed: %v", err)
}

server := grpc.NewServer(
grpc.UnaryInterceptor(unaryInterceptor),
grpc.StreamInterceptor(streamInterceptor),
grpc.Creds(tlsCredentials),
)

// interceptor := service.NewAuthInterceptor()
Expand Down Expand Up @@ -95,3 +103,16 @@ func getAllowRoles() map[string][]string {
laptopServicePath + "RateLaptop": {"admin", "user"},
}
}

func loadTLSCredentials() (credentials.TransportCredentials, error) {
cert, err := tls.LoadX509KeyPair("cert/server-cert.pem", "cert/server-key.pem")
if err != nil {
return nil, err
}

config := &tls.Config{
Certificates: []tls.Certificate{cert},
ClientAuth: tls.NoClientCert,
}
return credentials.NewTLS(config), nil
}

0 comments on commit ff13e7a

Please sign in to comment.