小编Mar*_*rek的帖子

在 PostgreSQL 数据库中存储 X509 证书的最佳方法是什么?

我正在开发网络身份验证系统,用户将对随机令牌进行数字签名,这将使用存储在服务器上的 X509 证书进行检查。

因此我必须在 PostgreSQL 数据库中存储几个 X509 证书(PEM 或 DER 格式)。听起来很简单,但我希望有可能使用主题、颁发者、notBefore、notAfter 和类似标准来搜索证书。

我的想法是在数据库中有以下列:X509data、notAfter、notBefore、subject、issuer 等。然后我将使用 add_new_X509()、find_X509(search criteria) 等方法创建代表 X509 证书的对象(在 SQL 炼金术中)。所以无论何时我将使用 add_new_X509() 方法添加新证书,它将自动从证书中读取所有数据并填写其余列并将原始证书放入 X509data 列。

不幸的是,这个解决方案有两个缺点:

  1. 我将两次存储相同的信息(在 X509 证书本身和单独的列中以便于搜索)
  2. 每当我想读取 X509 证书时,我的应用程序都必须交叉检查 notAfter、notBefore、subject、issuer 以及存储在原始证书中的信息(这是出于安全原因,以防有人尝试修改此字段)。

所以..有人有更好的主意或建议吗?也许有人看到此解决方案可能出现的任何其他安全问题?

postgresql python

5
推荐指数
1
解决办法
6861
查看次数

标签 统计

postgresql ×1

python ×1