我们有一个包含密钥的jck密钥库(jceks)格式。它是使用keytool命令生成的
keytool -genseckey -alias mykey -keyalg AES -keysize 256 -storetype jceks -keystore mykeystore.jks
我们需要与其他应用程序共享它们,它们似乎在使用jck store时有局限性。他们要求将钥匙出口并提供给他们。
我们尝试了一些工具,但无法导出密钥。是否有命令或解决方法来实现这一目标?
答案 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会将该键显示为十六进制字符串: