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 getPort() {
  14. return 443;
  15. }
  16. @Override
  17. public SSLContext getSSLContext() {
  18. String keyStoreName = "https_cert.bks";
  19. char keyStorePassword[] = "password".toCharArray();
  20. KeyStore keyStore;
  21. KeyManagerFactory keyManagerFactory = null;
  22. try {
  23. keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
  24. keyStore.load(
  25. HoneyService.getContext().getAssets().open(keyStoreName),
  26. keyStorePassword);
  27. keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory
  28. .getDefaultAlgorithm());
  29. keyManagerFactory.init(keyStore, keyStorePassword);
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. SSLContext sslContext = null;
  34. try {
  35. sslContext = SSLContext.getInstance("SSLv3");
  36. sslContext.init(keyManagerFactory.getKeyManagers(), null, null);
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. }
  40. return sslContext;
  41. }
  42. @Override
  43. public boolean isSecure() {
  44. return true;
  45. }
  46. @Override
  47. public String toString() {
  48. return "HTTPS";
  49. }
  50. }