【问题标题】:java bouncycastle PKCS12 keystore "max password length"java bouncycastle PKCS12 密钥库“最大密码长度”
【发布时间】:2021-02-18 17:11:24
【问题描述】:

对于看似简单的 Google 搜索,我一无所获...

在深入研究代码之前,有没有人知道 PKCS12 类型 Java KeyStore 的 Bouncy Castle 实现的最大密码 char[] 长度是多少(如果有的话)?

我正在开发一个 GUI 以从文件中加载 KeyStore 对象,我只需要知道密码字段长度的上限。

谢谢!

【问题讨论】:

    标签: java bouncycastle keystore


    【解决方案1】:

    PKCS12 使用各种密钥派生函数(例如PBKDF2)将密码转换为固定长度的对称密钥。密码长度没有限制,BouncyCastle 实现不加一个。

    【讨论】:

    • 澄清一下,我说的不是别名条目(key/cert/entry),只是 KeyStore.load 函数本身。同样的答案是否也严格适用于该函数?
    • 整个商店的密码通常用于对数据进行身份验证,而不是对其进行加密。否则,同样的答案适用:没有字符限制。
    • 对不起,我不明白您对身份验证和加密的区别,所以我只是想澄清一下我的理解:KeyStore 对象可以有整个 KeyStore 对象的密码,并且单独存储在该对象中的每个别名条目(密钥/证书/条目)的密码。这些密码不是身份验证和加密的组合吗?如果通过 KeyStore.store(password) 存储的原始数据没有加密,那么为什么要使用 KeyStore 对象,而不是仅仅序列化到文件?
    • 通常您可以在不知道密码的情况下列出 PKCS12 文件的内容。您将无法验证密钥库的完整性。但是,要检索私钥,您需要提供密码(它们是加密的)。
    • 明白了,感谢您的解释。无论如何,在任何一种情况下指定密码,该密码都没有大小限制?
    猜你喜欢
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    相关资源
    最近更新 更多