import java.io.FileInputStream; import java.security.Key; import java.security.KeyStore; import java.security.PrivateKey; import java.security.PublicKey; import java.security.cert.Certificate; public class KeyStoreExample { public static void main(String[] args) { try { String keystoreFilePath = "path/to/your/keystore.jks"; String keystorePassword = "yourKeystorePassword"; String alias = "yourAlias"; String keyPassword = "yourKeyPassword"; // 加载密钥库 FileInputStream keystoreFile = new FileInputStream(keystoreFilePath); KeyStore keystore = KeyStore.getInstance("JKS"); keystore.load(keystoreFile, keystorePassword.toCharArray()); // 获取私钥 Key key = keystore.getKey(alias, keyPassword.toCharArray()); if (key instanceof PrivateKey) { PrivateKey privateKey = (PrivateKey) key; System.out.println("Private Key: " + privateKey); } // 获取公钥 Certificate cert = keystore.getCertificate(alias); PublicKey publicKey = cert.getPublicKey(); System.out.println("Public Key: " + publicKey); } catch (Exception e) { e.printStackTrace(); } } }
在这个示例中,你需要提供密钥库文件路径、密钥库密码、别名和密钥密码。它会加载密钥库,然后使用别名和密码从密钥库中获取私钥和公钥。请确保替换示例中的路径和密码为实际的值,以适应你的环境和需求。
网友回复