技术解析

以字符串形式存储证书,密码还有用吗?
0
2021-06-09 15:34:27
idczone

有些证书的私钥是有密码保护的,使用时需要输入密码。

现在我要把证书以字符串的形式存到数据库里,那么我是必须存储解密后的证书文本,还是可以直接原样存储证书的文本,保持密码呢?

对这一块不太懂,求指点,大带宽服务器谢谢


要 binary 不能是 string, 保持密码,完结。

不好意思,没看懂。
我知道无密码的证书就是纯文本的,你的意思是有密码的证书是二进制吗?所以我如果存储字符串,就肯定是解密后的了?

都可以。反正都能储存成文本编码的形式。

der,pfx 证书就是二进制的,不要烦,一把梭,设计一开始你就要考虑兼容性,万一输入 pfx 难道整个系统推倒重来么

文本型字段是件确定了的事,如果非要存储二进制,那就转成 base64 编码存储。
我不是证书的使用人,所以我也不太懂,我只负责存储。我就是想知道是不是必须要保存密码。

存储解密后的证书就不需要存密码了,但是为了安全要考虑使用信封加密,被脱裤少一点风险

存密码你是存 hash 后的还是原密码呢,证书密钥同理

跟密码可完全不一样,证书你给 hash 了还怎么用

字符串只是证书二进制的展示形式,方便传输和复制粘贴

安全考虑,不要存密码了。
至于字符串和二进制,怎么方便怎么来,反正都能搞定。
如果有密码就在使用的时候再输入,这样玩意数据泄漏后多少还能安全点。

只是类比,没让你存哈希后的证书,而是存加密后的证书,用的时候用密钥解密一下不就行了?

直接存证书本身。
如果不是字符串,转换一下进制不就可以了吗?取出来的时候再转回去,然后解密。

跟你们码农沟通真他么累,MySQL blob 类型管你什么类型,直接存进去就得了,不需要转换,你是 string 就 varchar,随便你吧

我可没说我是用数据库存储的。
我已经反复说必须是字符串了,而你从一开始就坚持跑题,我不跟着你跑你还烦躁,你吃枪药了吗?

加密码的证书应该是用密码再次加密了吧,导入时候根据密码解密,单独保存要么两个字段一个存证书一个存密码,要么只存解密后的证书


考虑兼容性问题就一把梭可还行,追求兼容性不追求通用性了?
@Rocketer
按照道理,证书和私钥分开保存。无论是 PFX 还是 DER 的 FORMAT 的证书都直接转成 PEM 的容器类型保存,读入的时候 d2i 或者 i2d 的转换一下就成。
私钥就需要单独加密存储了。
你们在做秘钥管理吗?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服