在 SQL Server 数据库中保存 pem 证书

eli*_*-bd 3 sql sql-server byte certificate pem

我需要将*.PEM证书的内容保存在 SQL Server 数据库中。我打算将它保存在一个nvarchar()列中,但我不确定应该使用多长的长度。

我将不胜感激任何建议。如果您有将 pem 文件保存到关系数据库的经验,那就更好了。

Kob*_*uek 5

DER 中 X.509 证书文件的大小没有上限。PEM 采用 DER 并将其大小增加 4/3。所以不,PEM 格式证书的大小没有上限。

  • 您的私钥是 512 字节。
  • 对应的是另外 512 个字节。
  • 填充(每个部分 1 个字节)。
  • 指数(通常为 3 个字节)。
  • 将其标识为PrivateKeyInfo结构所需的标记大约是另外 6 个字节。

所以,这大约是 1.1k。

PEM 将其大小增加 4/3,这意味着它将是大约 1380 个编码字节。

添加-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----页眉和页脚,这是另外 50 个字节,总共 1420 个字节。(如果是加密的私钥,它会大一点。)本身没有上限,但是如果使用任何合理的密钥大小,包含私钥的文件不应大于大约2048 字节

因此,作为结论,将字段定义为varchar(2048)应该足够安全。