tinkerpop/rexster — pull request #378 by alszeb (2014-12-18 14:03:44+00:00)
Title: Feature/rexster http ssl

# Summary
This pull request provides SSL security to Rexster’s HTTP based services. There are no API change, no lines of code modified (only lines added) and behavior is not affected unless SSL is enabled. Documentation is provided via changes to the Rexster Wiki. SSL is configured via rexster.xml.

## Wiki Changes
Includes a new page for Rexster-SSL and minor changes to Rexster-Configuration.

### Rexster-SSL.textile
This document includes basic info on where to find SSL configuration for Rexster and how to enable it. It does not provide documentation on configuring SSL in general.

### Rexster-Configuration.textile
Added a line that that says Rexster supports SSL and links to Rexster-SSL.textile. Added property to configuration layout section: ‘rexster.http.enable-ssl’ with a default value of false. Added default SSL configuration to configuration layout section.

## rexster.xml
Added a section for SSL () configuration between and
Added a property ‘http.enable-ssl’ which takes a boolean value and turns SSL on and off for HttpRexsterServer

## Code

### HttpRexsterServer.java
In configureNetworkListener() a check is performed to see if the property http.enable-ssl is true. When SSL is enabled a private method is called that configures SSL on the NetworkListener and calls setSecure(true) on it.

### RexsterSslHelper.java
Contains most of the SSL setup code. Is constructed with a configuration (from rexster.xml) and provides helper methods to access SSL properties. Has a helper method for creating the SSLContext, which can be used in the future for securing RexPro with SSL.

## Limitations
Generally none, these changes should only provide new features. There is one gotcha where the http.base-uri property needs to be changed (http -> https) in order to get Dog House to work correctly; this is documented in the new Rexster-SSL wiki page.