从jck密钥库中导出密钥
问题描述:
我们有一个包含密钥的jck密钥库(jceks)格式。它是用keytool命令生成从jck密钥库中导出密钥
密钥工具-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())));