Jakarta ee 访问服务器上的SSL证书(私钥)

Jakarta ee 访问服务器上的SSL证书(私钥),jakarta-ee,tomcat,ssl,Jakarta Ee,Tomcat,Ssl,我想解密使用我的网站公钥在客户端加密的邮件: URL httpsURL = new URL("https://mediashuttle.com/"); HttpsURLConnection connection = (HttpsURLConnection) httpsURL.openConnection(); connection.connect(); Certificate cert = connection.getServerCertificates()[0]; PublicKey publ

我想解密使用我的网站公钥在客户端加密的邮件:

URL httpsURL = new URL("https://mediashuttle.com/");
HttpsURLConnection connection = (HttpsURLConnection) httpsURL.openConnection();
connection.connect();
Certificate cert = connection.getServerCertificates()[0];
PublicKey publicKey = cert.getPublicKey();
现在在服务器端(Tomcat),我想解密传递到Servlet中的消息。您能告诉我如何在Tomcat中检索私钥来解密消息吗


谢谢

您需要从存储服务器密钥的密钥库中获取密钥。像这样:

File keyStoreFile = new File("path/to/keystore/file.jks");
InputStream inputStream = new FileInputStream(keyStoreFile);

KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(inputStream, "password".toCharArray());
Key key = keyStore.getKey("yourKeyAlias", "changeit".toCharArray());
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] encrypted = getEncripted();
byte[] decrypted = cipher.doFinal(encrypted);