-
Notifications
You must be signed in to change notification settings - Fork 123
Description
I am looking for guidance around SSL certificates for talking to Splunk for an app (data input) implemented using your Java SDK. Currently, the Script gets access to "server_host", "session_key" which are great because they allow the app to know how talk to Splunk and be authorized to do things, EXCEPT there's no truststore that could be used to make sure this communication can be done securely.
It might be that I'm misunderstanding something, so I would appreciate some context around this:
- Is server_host ALWAYS guaranteed to be "localhost" or loopback address?
- If not, how is my application supposed to figure out which certificate to trust? If I want to deploy to splunk marketplace, I cannot really ship a trust store, because wherever my app is installed is going to have a different certificate to trust.
- As I understand it, the current sdk implementation would probably load the truststore using the standard "javax.net.ssl.trustStore" property; who is supposed to set that? Should I tell my users to extract the certificate from their splunk server and add it to my truststore somehow? This feels like an unnecessary extra step. Can I somehow find out the location of the certificate on disk and load it from there?
My gut feeling is that along with "server_host" etc. variables, the app should be given the certificate it should trust, but I'm not sure if that fits your deployment model.
Any help would be appreciated, I couldn't find any guidance in available documentation.