Deliveries published as Web Service can be accessed through the different Web Services Endpoints exposed by the Runtime.
These endpoints can be accessed by default through HTTP using the URLs indicated on the console at Runtime's startup.
This default behavior can be modified easily in the Runtime configuration file to enable the use of HTTPS, as explained in this article.
Prerequisites:
- Stambia DI Runtime S17.4.3 or higher
Note:
You can find more information about Web Service Publication in the getting started article if required
Runtime configuration
The configuration of the HTTPS security is done directly in the engineParameters.xml
file that can be found under:
stambiaRuntime/properties/engineParameters.xml
Open this file and lead to the "Web Service HTTPS security" part that is commented by default:
<parameters> <...> <engineParameters> <...> <parameter name="webServiceSecureProtocol" value="TLSv1.1"/> <parameter name="webServiceKeyStoreFile" value="D:/keystore/mykeystore.jks"/> <parameter name="webServiceKeyStoreType" value="JKS"/> <parameter name="webServiceKeyStorePassword" value="password"/> <parameter name="webServiceKeyPassword" value="password"/> <...> </engineParameters> <...> </parameters>
Uncomment the parameters and define their values accordingly to your needs:
Parameter | Description |
webServiceSecureProtocol | Protocol to be used for securing the endpoints, like TLSv1.1 for instance. |
webServiceKeyStoreFile | Path to the Java keystore containing the certificate to use for securing the endpoints |
webServiceKeyStoreType | Java keystore type, such as 'JKS' |
webServiceKeyStorePassword | Password of the keystore file |
webServiceKeyPassword | Password of the certificate key |
Please refer to the Java documentation for more information about Java keystores and how to create them.
An example can be found in our article about FTPS here.
That's all, the Runtime is now ready to expose Endpoints secured with HTTPS.
Restart the Runtime, and check that there is no error at startup and that the URLs are correct.
Here is an example of correct startup logs:
19/07/2017 10:31:42,102 - Runtime version: s17.4.3_20170727
19/07/2017 10:31:42,181 - Java version: 1.8.0_121 vendor: Oracle Corporation home: D:\Apps\Java\1.8.0_121_jdk_64\jre 19/07/2017 10:31:42,996 - Internal Database is started: stambia:42100 19/07/2017 10:31:43,017 - Internal Database Web Server is started: http://stambia:42101 19/07/2017 10:31:46,000 - RMI server is started: rmi://stambia:42000 19/07/2017 10:31:48,714 - Scheduler is started 19/07/2017 10:31:49,683 - SOAP Endpoint: https://stambia:42200/wsi/DeliverableService?WSDL 19/07/2017 10:31:49,684 - SOAP Legacy "Non WSI-Compliant" Endpoint: https://stambia:42200/StambiaDeliveryService?WSDL 19/07/2017 10:31:49,684 - HTTP Rest Endpoint v2: https://stambia:42200/rest/StambiaDeliveryService/2/<deliveryName> 19/07/2017 10:31:49,684 - HTTP Rest Endpoint v1: https://stambia:42200/rest/StambiaDeliveryService/1/<deliveryName>
You can notice that the URLs are well using HTTPS.
Make sure now to use these when invoking Stambia Published Web Services.
Comments
"Please refer to the Java documentation for more information about Java keystores and how to create them.
A small example can be found in our article about FTPS here."