从jck密钥库导出密钥

时间:2016-08-03 12:49:31

标签: security keystore keytool secret-key

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

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

我们需要与其他应用程序共享它们,它们似乎在使用jck store时有局限性。他们要求将钥匙出口并提供给他们。

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

2 个答案:

答案 0 :(得分:4)

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())));

答案 1 :(得分:1)

如果您双击它,

KeyStore Explorer会将该键显示为十六进制字符串:

enter image description here