Skip to content

Commit 16aca89

Browse files
committed
Documentation of SSL support for RexsterHttpServer.
1 parent b37e9df commit 16aca89

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed

doc/Rexster-Configuration.textile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ The XML configuration file has a basic structure as follows:
2626
<web-root>public</web-root>
2727
<character-set>UTF-8</character-set>
2828
<enable-jmx>false</enable-jmx>
29+
<enable-ssl>false</enable-ssl>
2930
<enable-doghouse>true</enable-doghouse>
3031
<max-post-size>2097152</max-post-size>
3132
<max-header-size>8192</max-header-size>
@@ -86,6 +87,23 @@ The XML configuration file has a basic structure as follows:
8687
</configuration>
8788
</authentication>
8889
</security>
90+
<ssl>
91+
<protocol>TLS</protocol>
92+
<trust-store-provider>JKS</trust-store-provider>
93+
<key-store-provider>JKS</key-store-provider>
94+
<trust-store></trust-store>
95+
<key-store>config/ssl/serverKeyStore.jks</key-store>
96+
<trust-store-password></trust-store-password>
97+
<key-store-password></key-store-password>
98+
<key-manager-factory>
99+
<algorithm>SunX509</algorithm>
100+
</key-manager-factory>
101+
<trust-manager-factory>
102+
<algorithm>SunX509</algorithm>
103+
</trust-manager-factory>
104+
<need-client-auth>false</need-client-auth>
105+
<want-client-auth>false</want-client-auth>
106+
</ssl>
89107
<metrics>
90108
<reporter>
91109
<type>jmx</type>
@@ -204,6 +222,8 @@ When configured in this fashion, Rexster accepts all incoming requests. The oth
204222

205223
The @<users>@ element allows specification of one or more @<user>@ child elements which each must contain a @<username>@ and @<password>@ combination. These @<user>@ elements represent the list of users that will have access to Rexster.
206224

225+
The @<ssl>@ section can be used to configure SSL. See the [[Rexster SSL]] page for more information.
226+
207227
The @<metrics>@ section configured the various realt-time monitoring options for Rexster. See the [[Monitoring]] page for more information.
208228

209229
h2. graphs Section

doc/Rexster-SSL.textile

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
Rexster communication can be secured with SSL by [[configuration|Rexster Configuration]] through @rexster.xml@. Server and client authentication are currently supported on [[REST|Basic REST API]] and [[Dog House|the Dog House]].
2+
3+
A typical Rexster-SSL configuration might be as follows:
4+
5+
```xml
6+
<rexster>
7+
...
8+
<ssl>
9+
<protocol>TLS</protocol>
10+
<trust-store-provider>JKS</trust-store-provider>
11+
<key-store-provider>JKS</key-store-provider>
12+
<trust-store></trust-store>
13+
<key-store>config/ssl/serverKeyStore.jks</key-store>
14+
<trust-store-password></trust-store-password>
15+
<key-store-password>keyStorePassword</key-store-password>
16+
<key-manager-factory>
17+
<algorithm>SunX509</algorithm>
18+
</key-manager-factory>
19+
<trust-manager-factory>
20+
<algorithm>SunX509</algorithm>
21+
</trust-manager-factory>
22+
<need-client-auth>false</need-client-auth>
23+
<want-client-auth>false</want-client-auth>
24+
</ssl>
25+
...
26+
</rexster>
27+
```
28+
29+
Once SSL has been enabled for a server (see how below), no further action is necessary for its' communications to be secured by SSL. Clients communicating with SSL secured servers will also require appropriately configured SSL and valid certificates (if client authorization is turned on).
30+
31+
h1. Enable SSL for HTTP Web Service
32+
33+
After configuring SSL in the @<ssl>@ section of @rexster.xml@, enable it for HTTP calls by setting @http.enable-ssl@ to true and changing @http@ to @https@ in the @http.base-uri@ property.
34+
35+
```xml
36+
<rexster>
37+
<http>
38+
...
39+
<base-uri>https://your-hostname</base-uri>
40+
...
41+
<enable-ssl>true</enable-ssl>
42+
...
43+
</http>
44+
...
45+
</rexster>
46+
```
47+

0 commit comments

Comments
 (0)