lablup / raftify

Experimental High level Raft framework
https://docs.rs/raftify/latest/raftify
Apache License 2.0
36 stars 14 forks source link

feat: Support TLS config #139

Closed jopemachine closed 1 month ago

jopemachine commented 1 month ago

Resolves #18.

How to test

After executing the following command, enable the TLS feature in the example code's cargo.toml and bootstrap the cluster.

openssl genrsa -out server.key 2048 ; \
echo "[ req ]
default_bits       = 2048
default_md         = sha256
default_keyfile    = server.key
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_req
prompt             = no

[ req_distinguished_name ]
C  = KR
ST = Seoul
L  = Seoul
O  = MyOrganization
OU = MyUnit
CN = localhost

[ req_ext ]
subjectAltName = @alt_names

[ v3_req ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = localhost
IP.1  = 127.0.0.1" > openssl.cnf ; \
openssl req -new -key server.key -out server.csr -config openssl.cnf ; \
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt -extensions v3_req -extfile openssl.cnf ; \
cp server.crt ca_cert.pem