sslutils
使用SQL管理SSL证书
仓库
EnterpriseDB/sslutils
https://github.com/EnterpriseDB/sslutils
源码
sslutils-1.4.tar.gz
sslutils-1.4.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
sslutils | 1.4 | SEC | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 7410 | sslutils | 否 | 是 | 否 | 是 | 否 | 否 | - |
| 相关扩展 | sslinfo pgsodium pgsmcrypto pgcryptokey pgcrypto pg_tde passwordcheck_cracklib supautils |
|---|
no pg15,14 on el9, no pg18 on el8
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.4 | 1817161514 | sslutils | - |
| RPM | PIGSTY | 1.4 | 1817161514 | sslutils_$v | - |
| DEB | PIGSTY | 1.4 | 1817161514 | postgresql-$v-sslutils | - |
构建
您可以使用 pig build 命令构建 sslutils 扩展的 RPM / DEB 包:
pig build pkg sslutils # 构建 RPM / DEB 包
安装
您可以直接安装 sslutils 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install sslutils; # 当前活跃 PG 版本安装
pig ext install -y sslutils -v 18 # PG 18
pig ext install -y sslutils -v 17 # PG 17
pig ext install -y sslutils -v 16 # PG 16
pig ext install -y sslutils -v 15 # PG 15
pig ext install -y sslutils -v 14 # PG 14
dnf install -y sslutils_18 # PG 18
dnf install -y sslutils_17 # PG 17
dnf install -y sslutils_16 # PG 16
dnf install -y sslutils_15 # PG 15
dnf install -y sslutils_14 # PG 14
apt install -y postgresql-18-sslutils # PG 18
apt install -y postgresql-17-sslutils # PG 17
apt install -y postgresql-16-sslutils # PG 16
apt install -y postgresql-15-sslutils # PG 15
apt install -y postgresql-14-sslutils # PG 14
创建扩展:
CREATE EXTENSION sslutils;
用法
sslutils 是一个通过 SQL 命令管理 SSL 证书的 PostgreSQL 扩展。它提供直接在数据库内生成、检查和管理 SSL/TLS 证书的函数。
CREATE EXTENSION sslutils;
函数
该扩展提供以下 SSL 证书管理的 SQL 函数:
| 函数 | 描述 |
|---|---|
openssl_rsa_generate_key(bits int) | 生成 RSA 私钥 |
openssl_rsa_key_to_csr(key text, cn text, ...) | 生成证书签名请求 |
openssl_csr_to_crt(csr text, ca_key text, ca_crt text) | 签署 CSR 生成证书 |
openssl_rsa_generate_crl(ca_key text, ca_crt text) | 生成证书吊销列表 |
ssl_is_init_fn() | 检查 SSL 是否已初始化 |
ssl_get_cipher_fn() | 获取当前 SSL 密码套件 |
ssl_get_version_fn() | 获取当前 SSL 版本 |
典型工作流程
-- 生成 CA 私钥
SELECT openssl_rsa_generate_key(2048);
-- 创建自签名 CA 证书
-- 生成服务器密钥和 CSR
-- 使用 CA 签署 CSR
该扩展适用于在托管 PostgreSQL 环境中自动化 SSL 证书配置。