从 jck 密钥库导出密钥

Export secret key from jck key store

我们有一个包含密钥的 jck 密钥库 (jceks) 格式。它是使用 keytool 命令生成的

keytool -genseckey -alias mykey -keyalg AES -keysize 256 -storetype jceks -keystore mykeystore.jks

我们需要与另一个应用程序共享这个,他们似乎在使用 jck 商店方面有限制。他们要求将密钥导出并提供给他们。

我们尝试了一些工具,但无法导出密钥。是否有实现此目的的命令或解决方法?

keytool 不支持导出密钥。您可以使用 KeyStore api 来执行此操作。

KeyStore ks = KeyStore.getInstance("JCEKS");
ks.load(new FileInputStream(new File("KEYSTORE_PATH")), "PASSWORD".toCharArray());

SecretKey key = (SecretKey) ks.getKey("ALIAS", "PASSWORD".toCharArray());

System.out.println(new String(Base64.encode(key.getEncoded())));
如果双击它,

KeyStore Explorer 会将密钥显示为十六进制字符串: