HTTPS.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package de.tudarmstadt.informatik.hostage.protocol;
  2. import java.security.KeyStore;
  3. import javax.net.ssl.KeyManagerFactory;
  4. import javax.net.ssl.SSLContext;
  5. import de.tudarmstadt.informatik.hostage.HoneyService;
  6. /**
  7. * HTTPS protocol. Extends HTTP.
  8. *
  9. * @author Wulf Pfeiffer
  10. */
  11. public class HTTPS extends HTTP implements SSLProtocol {
  12. @Override
  13. public int getDefaultPort() {
  14. return 443;
  15. }
  16. @Override
  17. public boolean isSecure() {
  18. return true;
  19. }
  20. @Override
  21. public String toString() {
  22. return "HTTPS";
  23. }
  24. @Override
  25. public SSLContext getSSLContext() {
  26. String keyStoreName = "https_cert.bks";
  27. char keyStorePassword[] = "password".toCharArray();
  28. KeyStore keyStore;
  29. KeyManagerFactory keyManagerFactory = null;
  30. try {
  31. keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
  32. keyStore.load(
  33. HoneyService.getContext().getAssets().open(keyStoreName),
  34. keyStorePassword);
  35. keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory
  36. .getDefaultAlgorithm());
  37. keyManagerFactory.init(keyStore, keyStorePassword);
  38. } catch (Exception e) {
  39. e.printStackTrace();
  40. }
  41. SSLContext sslContext = null;
  42. try {
  43. sslContext = SSLContext.getInstance("SSLv3");
  44. sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
  45. } catch (Exception e) {
  46. e.printStackTrace();
  47. }
  48. return sslContext;
  49. }
  50. }