Convert JKS to BKS using keytool

  Pi Ke        2016-07-14 03:49:52       20,105        3          English  简体中文  繁体中文  ภาษาไทย  Tiếng Việt 

有很多问题(问题 1问题 2)在Stack Overflow上关于如何使用Java keytool将JKS密钥库转换为BKS密钥库(BouncyCastle提供的密钥库格式)。

这种转换之所以有很多问题,是因为BKS不是Java SE支持的密钥库格式,它是一个第三方密钥库格式。要将JSK转换为BKS,必须先下载BKS提供程序。运行keytool命令时,还需要添加一些选项。

将JKS密钥库转换为BKS密钥库的典型命令如下所示:

keytool -importkeystore -srckeystore testkeys -srcstoretype JKS -srcstorepass passphrase -destkeystore testkeys.bks -deststoretype BKS -deststorepass password -provider org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath [PARENT_DIRECTORY_PATH]\bouncycastle\bcprov-jdk15on-152.jar

两个重要的选项是-provider-providerpath。 -provider选项告诉JVM BKS密钥库服务注册在哪里,-providerpath选项告诉JVM可以在哪里找到提供程序。

这样,将JKS密钥库转换为BKS密钥库应该没有问题。下面显示一个示例。

转换前,JKS密钥库包含以下条目:

转换后,BKS密钥库包含以下条目:

如果您想在不同的密钥库格式之间进行转换,则命令应该类似。

JAVA  SECURITY  JKS  KEYTOOL  BKS 

       

  RELATED


  3 COMMENTS


Anonymous [Reply]@ 2017-06-02 06:37:14

Problem importing entry for alias capistore: java.security.KeyStoreException: java.io.IOException: Error initialising store of key store: java.security.InvalidKeyException: Illegal key size.

 

I keep getting the above error, any help would be appriciated 

Ke Pi [Reply]@ 2017-06-03 04:00:06

It may relate to the limited policy strength files located in jre\lib\security. Can you try to put the unlimited strength policy files there?

Anonymous [Reply]@ 2024-02-04 05:10:02

There are any ways to convert it using java methods? For example add dependency "implementation 'org.bouncycastle:bcprov-jdk18on:1.77'" and use it for transformation?



  RANDOM FUN

Blue Apple

The image is attributed to Sina Weibo user 淑媛bella.