PostgreSQL SSL 加密传输配置
jf wang Lv7

签名证书

快速测试证书

1
2
openssl req -new -x509 -days 365 -nodes -text -out server.crt \
-keyout server.key -subj "/CN=dbhost.yourdomain.com"

然后

1
chmod og-rwx server.key

生产环境证书

  • 创建根密钥
    1
    2
    3
    openssl req -new -nodes -text -out root.csr \
    -keyout root.key -subj "/CN=root.yourdomain.com"
    chmod og-rwx root.key
  • 创建根证书
    1
    2
    3
    openssl x509 -req -in root.csr -text -days 3650 \
    -extfile /etc/ssl/openssl.cnf -extensions v3_ca \
    -signkey root.key -out root.crt

    这里的-extensions v3_ca中的v3_ca 是在 /etc/ssl/openssl.cnf文件中的一个配置。配置要求:

    1
    2
    3
    4
    [ v3_ca ]
    basicConstraints = critical,CA:TRUE
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid:always,issuer:always
  • 创建服务器密钥并签名
    1
    2
    3
    4
    5
    6
    7
    openssl req -new -nodes -text -out server.csr \
    -keyout server.key -subj "/CN=dbhost.yourdomain.com"
    chmod og-rwx server.key

    openssl x509 -req -in server.csr -text -days 365 \
    -CA root.crt -CAkey root.key -CAcreateserial \
    -out server.crt
  • 创建客户端密钥并签名
    1
    2
    3
    4
    5
    6
    7
    openssl req -new -nodes -text -out client.csr \
    -keyout client.key -subj "/CN=postgres"
    chmod og-rwx client.key

    openssl x509 -req -in client.csr -text -days 365 \
    -CA root.crt -CAkey root.key -CAcreateserial \
    -out client.crt
  • 使用 JDBC 连接时,key需要转换为der
    1
    openssl pkcs8 -topk8 -inform PEM -in client.key -outform DER -nocrypt -out client.key.der
  • 本文标题:PostgreSQL SSL 加密传输配置
  • 本文作者:jf wang
  • 创建时间:2019-10-26 18:59:44
  • 本文链接:https://www.wangjunfeng.com.cn/2019/10/26/postgresql-ssl/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!