将 pem 证书保存在 SQL 服务器数据库中
Saving a pem certificate in a SQL Server database
我需要将 *.PEM
证书的内容保存在 SQL 服务器数据库中。我打算将它保存在 nvarchar()
列中,但我不确定应该使用多长的长度。
如有任何建议,我将不胜感激。如果您有将 pem 文件保存到关系数据库的经验,那就更好了。
X.509 证书文件的大小没有上限
DER。 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)
应该足够安全。
没有最大 certificate/key/signature 大小,证书可以有扩展名。
老实说,我会遵循知名公司定义的这些限制之一:
- Cisco StarOS 版本 21.3(2017,source)定义:
The new supported size of certificate configured in DER is 6144 bytes and PEM is 8192 bytes".
- AWS Identity and Access Management API (source) 允许上传具有以下长度限制的 PEM 编码格式的证书:
Minimum length of 1. Maximum length of 16384.
- AWS Certificate Manager API (source) 允许以具有以下长度限制的 PEM 编码格式导出证书:
Minimum length of 1. Maximum length of 32768.
我需要将 *.PEM
证书的内容保存在 SQL 服务器数据库中。我打算将它保存在 nvarchar()
列中,但我不确定应该使用多长的长度。
如有任何建议,我将不胜感激。如果您有将 pem 文件保存到关系数据库的经验,那就更好了。
X.509 证书文件的大小没有上限 DER。 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)
应该足够安全。
没有最大 certificate/key/signature 大小,证书可以有扩展名。
老实说,我会遵循知名公司定义的这些限制之一:
- Cisco StarOS 版本 21.3(2017,source)定义:
The new supported size of certificate configured in DER is 6144 bytes and PEM is 8192 bytes".
- AWS Identity and Access Management API (source) 允许上传具有以下长度限制的 PEM 编码格式的证书:
Minimum length of 1. Maximum length of 16384.
- AWS Certificate Manager API (source) 允许以具有以下长度限制的 PEM 编码格式导出证书:
Minimum length of 1. Maximum length of 32768.