使用docker 建立SSL 證書
阿新 • • 發佈:2020-07-30
今天在學習gRPC的安全通訊時,需要建立SSL自簽名證書,以往是在linux 虛擬機器中建立,現在學習了docker,我嘗試在docker上建立證書也非常方便。
1,啟動frapsoft/openssl 映象
docker run -it --entrypoint /bin/ash frapsoft/openssl
2,建立一個私鑰
openssl genrsa -out server.key 2048
3,根據私鑰生成csr
如果想從一個認證中心(Certificate Authority,CA)獲取一個SSL證書,我們需要生成一個證書籤名請求(Certificate Signing Reqeusts,CRSsopenssl req -new -sha256 -key server.key -out server.csr
執行上面的命令後,需要完成一些資訊的填寫,主要有:
Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name(eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
填寫完這些資訊後,就會生成一個證書籤名請求(server.csr
)
4,生成證書
如果想使用一個SSL證書來對通訊進行加密,但是不需要使用CA簽字的證書,那麼我們可以生成一個自簽名的證書。
使用前面生成的私鑰(server.key
)以及證書籤名請求(server.csr
),我們可以生成一個自簽名的證書:
openssl x509 -req -sha256 -in server.csr -signkey server.key -out server.crt -days 3650
選項-x509
指定req
來生成一個自簽名的證書。-days 3650
指定了證書的有效期是3650天。-signkey
指定了私鑰,而-in
指定了證書籤名請求。
這樣,就能生成一個自簽名的證書(server.crt
)。