繁体   English   中英

java keystore文件限制

[英]java keystore file limitations

我为我的PFX证书( PKCS#12 )创建了密钥库文件,但是我需要知道密钥库文件(JKS)中可以存储多少个密钥。

我目前正在按以下方式加载证书:

KeyStore oStore = KeyStore.getInstance("PKCS12");
oStore.load(new FileInputStream(AppConfig.get(AppConfig.SRC_KEY)), 
    "SECRET".toCharArray());
...
oStore.setKeyEntry(idAlias, privateKey, pwd.toCharArray(), chain);
oStore.store(new FileOutputStream(AppConfig.get(AppConfig.SRC_KEY)),  
    "SECRET".toCharArray());

我可以在此密钥库中存储的密钥和证书的数量是否有限制?

AFAIK密钥库可以容纳的证书没有限制。

我假设您是指SunJSSE提供程序提供的PKCS12密钥库类型 这是PKCS#12标准的实现 ,因此您可以将其与任何PKCS#12文件一样​​查看。

因此,我建议这样做的目的是让每个文件都包含一个私钥和证书。

如果您想使用证书存储许多密钥,建议您考虑使用普通的密钥库(而不是PKCS#12变体)。

我可以在此密钥库中存储的密钥和证书的数量是否有限制?

老实说,我不知道您是否可以在PKCS12实际存储多于1个的私钥,但是即使可以,这也是一种非常不寻常的用法,因此不建议使用。
这些密钥库用作私有凭据的容器,并不意味着要共享,如果您添加一个以上的私有密钥及其对应的公共密钥和链,则基本上就是您要做的。
这些容器通常具有用于访问它的加密密码,并且相同的密码用于私钥输入。 因此,将多个私钥保存在同一容器中不是一个好选择,因为它们都将共享相同的密码。
可能有一个提供程序(例如Bouncy Castle) 可能允许您设置不同的密码,但是如果您打算使该容器可移植,则该容器将完全不可用,即由任何应用程序使用,因为它不希望内容出现如您所描述。

更新:
您的问题与您链接到的帖子完全无关。 这种情况下,问题在于有太多的http连接器线程访问了密钥库文件。 这是一个线程问题。 与您的问题无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM