EJBCA拒绝生成带有错误的证书:不允许使用相同的密钥

时间:2016-03-25 09:55:37

标签: certificate x509 hsm ejbca

我们使用静态值'usernameTest'作为用户名来请求EJBCA生成X.509证书;在使用此satic用户名生成证书后,我们将其更改为唯一标识每个证书的唯一值(因为使用静态用户名被视为续订,因为所有证书(*)的用户名都相同)但现在EJBCA拒绝生成证书和stil引用旧的静态用户名'usernameTest';我们收到此错误:

用户'250320092916'不允许使用与'usernameTest'正在使用的用户相同的密钥。

我们撤销了之前为用户名'usernameTest'生成的所有证书,但我们仍然从EJBCA收到此错误消息。我们有什么方法可以删除用户名'usernameTest'吗?

每个证书都有唯一的SubjectDN和用户名。

EJBCA的版本是 ejbca-6.2.0

(*):EJBCA管理GUI中生成的所有证书都与相同的用户名相关。

提前致谢。

4 个答案:

答案 0 :(得分:2)

托马斯是对的。转到您的"证书颁发机构"在CA功能下。编辑您的CA并找到名为"强制使用唯一公钥的设置"根据"指令"部分。

取消选中强制执行,您将能够为不同的用户使用相同的公钥。

答案 1 :(得分:1)

它与HSM无关。 CA的默认策略设置是不允许用户共享相同的最终用户公钥。即,不向不同用户颁发具有相同公钥的证书。这是CA设置中的复选框设置。

答案 2 :(得分:1)

您可以将PTK-C模拟器配置为不重复使用随机种子(是的,非常烦人)。对于ejbca,我们记录了它here。 您必须设置环境变量ET_PTKC_SW_AUTOSEEDRNG = true。通过此设置,模拟器将生成真实密钥,每次都是新密钥。

答案 3 :(得分:0)

问题解决;问题不在于仍然在 EJBCA 中对usernameTest的引用,而是相同的密钥(RSA公钥)用于其他用户的请求(' 250320092916')。 / p>

当依赖Safenet ProtectServer系列中的 HSM PTK-C模拟器时,这似乎是一个已知的限制;当我们重新初始化它时,模拟器会重新启动它的随机生成器(我怀疑是我的误用),这意味着它将始终以相同的顺序生成相同的键(这会导致此类错误)。

但是消息错误也不清楚;谈论"关键"没有指定,这会导致与subjectDN或传递给EJBCA的其他属性混淆,作为错误消息,它可能是公共密钥"或" RSA密钥",...而不是密钥;)