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();
}
}
}
在这个示例中,你需要提供密钥库文件路径、密钥库密码、别名和密钥密码。它会加载密钥库,然后使用别名和密码从密钥库中获取私钥和公钥。请确保替换示例中的路径和密码为实际的值,以适应你的环境和需求。
网友回复


