postgreSQL数据库连接的过程中需要客户端和服务器的证书,用openssL制作服务器和客户端证书。
1、 生成服务器端的证书步骤:
(注意要进入安装SSL的那个文件夹下面进行)
# openssl req -new -text -out server.req
(如果报错unable什么的,后面在加 –config openssl.cnf)
输入证书内部信息(注意name的填写),Country Name (2 letter code) [AU]:TW <-- 除非你不在台灣,比如香港,就是 HK
State or Province Name (full name) [Some-State]:Taiwan <-- 跟上面一樣,如果你不在台灣就打當地州或省名
Locality Name (eg, city) []:Taipei <-- 如果你不在台北,那麼打你的地名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:XXXXXXXXXXXX <-- 公司或機構名
Organizational Unit Name (eg, section) []:<-- 組織名,我沒打,直接按 Enter
Common Name (eg, YOUR name) []:XXXXXXX <-- 輸入自己的名字,但是 PostgreSQL 手冊建議你輸入伺服器主機名稱
Email Address []:xxxxxxx@xxx.xxx.com <-- Email 帳號,可以不輸入直接按 Enter
Please enter the following 'extra' attributes <-- 以下這兩個問題是額外的,主要是給 CA 認證時多一些資訊用的,所以你可以一路按 Enter 到底
to be sent with your certificate request
A challenge password []:
An optional company name []:
接著請輸入下列命令自己產生一對金鑰(不用經過 CA),openssl 會詢問私鑰密碼:
# openssl rsa -in privkey.pem -out server.key
Enter pass phrase for privkey.pem:
writing RSA key
(手动删除 privkey.pem)
2、Client 客户端的制造证书(也是在服务器端运行),指令仿造服务器端制造证书的指令
生成的证书如下:
制作证书软件安装文件夹: