+
95
-

回答

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

在这个示例中,你需要提供密钥库文件路径、密钥库密码、别名和密钥密码。它会加载密钥库,然后使用别名和密码从密钥库中获取私钥和公钥。请确保替换示例中的路径和密码为实际的值,以适应你的环境和需求。

网友回复

我知道答案,我要回答