• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Rocketer
V2EX  ›  程序员

以字符串形式存储证书,密码还有用吗?

  •  
  •   Rocketer · Mar 11, 2021 · 4109 views
    This topic created in 2075 days ago, the information mentioned may be changed or developed.

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

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

    对这一块不太懂,求指点,谢谢

    16 replies  •  2021-03-11 13:52:55 +08:00
    FucUrFrd
    FucUrFrd
    Mar 11, 2021 via Android
    1
    要 binary 不能是 string, 保持密码,完结。
    Rocketer
    Rocketer
    OP
    Mar 11, 2021
    2
    @FucUrFrd 不好意思,没看懂。

    我知道无密码的证书就是纯文本的,你的意思是有密码的证书是二进制吗?所以我如果存储字符串,就肯定是解密后的了?
    msg7086
    msg7086
    Mar 11, 2021 via Android
    3
    都可以。反正都能储存成文本编码的形式。
    FucUrFrd
    FucUrFrd
    Mar 11, 2021 via Android
    4
    @Rocketer der,pfx 证书就是二进制的,不要烦,一把梭,设计一开始你就要考虑兼容性,万一输入 pfx 难道整个系统推倒重来么
    Rocketer
    Rocketer
    OP
    Mar 11, 2021
    5
    @FucUrFrd 文本型字段是件确定了的事,如果非要存储二进制,那就转成 base64 编码存储。

    我不是证书的使用人,所以我也不太懂,我只负责存储。我就是想知道是不是必须要保存密码。
    ratazzi
    ratazzi
    PRO
    Mar 11, 2021 via iPhone
    6
    存储解密后的证书就不需要存密码了,但是为了安全要考虑使用信封加密,被脱裤少一点风险
    zhyl
    zhyl
    Mar 11, 2021 via iPhone
    7
    存密码你是存 hash 后的还是原密码呢,证书密钥同理
    ratazzi
    ratazzi
    PRO
    Mar 11, 2021 via iPhone
    8
    @zhyl 跟密码可完全不一样,证书你给 hash 了还怎么用
    jorneyr
    jorneyr
    Mar 11, 2021
    9
    字符串只是证书二进制的展示形式,方便传输和复制粘贴
    imdong
    imdong
    Mar 11, 2021
    10
    安全考虑,不要存密码了。

    至于字符串和二进制,怎么方便怎么来,反正都能搞定。

    如果有密码就在使用的时候再输入,这样玩意数据泄漏后多少还能安全点。
    zhyl
    zhyl
    Mar 11, 2021
    11
    @ratazzi 只是类比,没让你存哈希后的证书,而是存加密后的证书,用的时候用密钥解密一下不就行了?
    eason1874
    eason1874
    Mar 11, 2021
    12
    直接存证书本身。

    如果不是字符串,转换一下进制不就可以了吗?取出来的时候再转回去,然后解密。
    FucUrFrd
    FucUrFrd
    Mar 11, 2021 via Android
    13
    跟你们码农沟通真他么累,MySQL blob 类型管你什么类型,直接存进去就得了,不需要转换,你是 string 就 varchar,随便你吧
    Rocketer
    Rocketer
    OP
    Mar 11, 2021 via iPhone
    14
    @FucUrFrd 我可没说我是用数据库存储的。

    我已经反复说必须是字符串了,而你从一开始就坚持跑题,我不跟着你跑你还烦躁,你吃枪药了吗?
    annielong
    annielong
    Mar 11, 2021
    15
    加密码的证书应该是用密码再次加密了吧,导入时候根据密码解密,单独保存要么两个字段一个存证书一个存密码,要么只存解密后的证书
    hxndg
    hxndg
    Mar 11, 2021
    16
    @FucUrFrd
    考虑兼容性问题就一把梭可还行,追求兼容性不追求通用性了?

    @Rocketer
    按照道理,证书和私钥分开保存。无论是 PFX 还是 DER 的 FORMAT 的证书都直接转成 PEM 的容器类型保存,读入的时候 d2i 或者 i2d 的转换一下就成。
    私钥就需要单独加密存储了。

    你们在做秘钥管理吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1750 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 04:46 · PVG 12:46 · LAX 20:46 · JFK 23:46
    ♥ Do have faith in what you're doing.