package
0.0.0-20240711123734-c091ff3b1106
Repository: https://github.com/khigashiguchi/go-snippets.git
Documentation: pkg.go.dev
# README
https-client-server
HTTPS client app and server app.
Getting Started
Prepare certification
- create secret key
openssl genrsa -out ca.key 2048
- create csr
openssl req -new -sha256 -ket ca.key -out ca.csr -config openssl.cnf
- create certification file
openssl x509 -in ca.csr -days 365 -req -signkey ca.key -sha256 -out ca.crt -extfile {openssl.cnf path} -extensions CA
Prepare server certification
- create server secret key
openssl genrsa -out server.key 2048
- create client csr
openssl req -new -nodes -sha256 -key server.key -out server.csr -config {openssl.cnf path}
Notice: answer common name 'localhost'
- create server certification file
openssl x509 -req -days 365 -in server.csr -sha256 -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -extfile {openssl.cnf path} -extensions Server
Prepare client certification
- create client secret key
openssl genrsa -out client.key 2048
- create client csr file
openssl req -new -nodes -sha256 -key client.key -out client.csr -config {openssl.cnf path}
- create client certification
openssl x509 -req -days 365 -in client.csr -sha256 -out client.crt -CA ca.crt -CAkey ca.key -CAcreateserial -extfile {openssl.cnf file path} -extensions Client
Run application
- Run server
go run server.go
- Execute Client
go run client.go
Version
- basic
- server require client certification