2013-04-17 10 views
0

Я хочу, чтобы расшифровать сообщение, зашифрованную на стороне клиента, используя открытый ключ моего веб-сайта:Доступ сертификата SSL на сервере (секретный ключ)

URL httpsURL = new URL("https://mediashuttle.com/"); 
HttpsURLConnection connection = (HttpsURLConnection) httpsURL.openConnection(); 
connection.connect(); 
Certificate cert = connection.getServerCertificates()[0]; 
PublicKey publicKey = cert.getPublicKey(); 

Сейчас на сервере (Tomcat) сторона I хотел бы расшифровать сообщение, переданное в сервлет. Можете ли вы рассказать мне, как получить закрытый ключ внутри Tomcat, чтобы расшифровать сообщение?

Спасибо!

ответ

1

Вам нужно получить ключ от хранилища ключей, где хранится ключ сервера. Например:

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); 
+0

Это сработало как шарм, спасибо! – Emmanuel

Смежные вопросы