KeyStore API throws error : java.security.KeyStoreException: BCFIPS JKS store is read-only and only supports certificate entries
KeyStore API throws error : java.security.KeyStoreException: BCFIPS JKS store is read-only and only supports certificate entries
我已经为应用程序创建了一个 JKS 信任库。 (生产服务器中的 OpenJDK 尚不支持 PKCS12)
我正在尝试使用密钥库向信任库添加证书 API:
public addToTrustStore(List<String> certChain) {
String alias;
try {
KeyStore keyStore = loadTruststore();
for (String cert : certChain) {
alias = UUID.randomUUID().toString();
X509Certificate certificate = decodePEMCertificate(cert); // converts PEM format to X509Certificate
keyStore.setCertificateEntry(alias, certificate);
logger.debug("Added the certificate with DN: {0} to the "
+ "truststore with the alias: {1}", certificate.getSubjectDN());
}
} catch (KeyStoreException a) {
//process execption
}
}
任何人都可以帮助我克服这个 JKS 的红色特性吗?
提前致谢。
解决方法:
摘要:Bouncycastle 不允许写入 JKS 密钥库。所以我们需要使用BCFKS格式的keystore。
您可以使用供应商:
- org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider,符合 FIPS
- org.bouncycastle.jce.provider.BouncyCastleProvider
对我有用的 keytool 命令:
创建密钥库:
keytool -import -file pem.cert -alias "vmware" -storepass changeit -keystore truststore.bks -deststoretype BCFKS -noprompt -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath bc-fips-1.0.2.jar
删除条目:
keytool -delete -alias boguscert -storepass changeit -keystore truststore.bks -storetype BCFKS -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath bc-fips-1.0.2.jar
我已经为应用程序创建了一个 JKS 信任库。 (生产服务器中的 OpenJDK 尚不支持 PKCS12)
我正在尝试使用密钥库向信任库添加证书 API:
public addToTrustStore(List<String> certChain) {
String alias;
try {
KeyStore keyStore = loadTruststore();
for (String cert : certChain) {
alias = UUID.randomUUID().toString();
X509Certificate certificate = decodePEMCertificate(cert); // converts PEM format to X509Certificate
keyStore.setCertificateEntry(alias, certificate);
logger.debug("Added the certificate with DN: {0} to the "
+ "truststore with the alias: {1}", certificate.getSubjectDN());
}
} catch (KeyStoreException a) {
//process execption
}
}
任何人都可以帮助我克服这个 JKS 的红色特性吗?
提前致谢。
解决方法: 摘要:Bouncycastle 不允许写入 JKS 密钥库。所以我们需要使用BCFKS格式的keystore。
您可以使用供应商:
- org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider,符合 FIPS
- org.bouncycastle.jce.provider.BouncyCastleProvider
对我有用的 keytool 命令:
创建密钥库:
keytool -import -file pem.cert -alias "vmware" -storepass changeit -keystore truststore.bks -deststoretype BCFKS -noprompt -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath bc-fips-1.0.2.jar
删除条目:
keytool -delete -alias boguscert -storepass changeit -keystore truststore.bks -storetype BCFKS -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath bc-fips-1.0.2.jar