-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HPCC-30131 Cloud: Support HPCC Remote Trust via shared cert authority #17690
Conversation
Signed-off-by: Anthony Fishbeck <[email protected]>
https://track.hpccsystems.com/browse/HPCC-30131 |
@ghalliday this is the PR for the new model for establishing trust between two HPCC cloud environments. A draft for the moment. Will try and get Milind or Godji to test. |
Note that to make a SOAPCALL/HTTPCALL from one environment to another (when they have trust set up the new way), the URL would look something like this: "remote-mtls:https://roxie1.abcprod.example.com:9876" Which means "use the remote trust client certificates to establish an https connection to the roxie in abcprod at the domain example.com". Similarly combining remote trust with a connection secret: "remote-mtls:secret:abc_prod_connect" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@afishbeck I didn't see any obvious flaws. I am not sure I have enough knowledge to catch. Is this ready to become a full PR?
system/jlib/jsmartsock.ipp
Outdated
@@ -104,6 +105,7 @@ public: | |||
virtual StringBuffer & getUrlStr(StringBuffer &str, bool useHostName); | |||
virtual bool isTlsService() const override { return tlsService; } | |||
virtual const IPropertyTree *queryTlsConfig() const { return tlsConfig; }; | |||
const char *queryTlsIssuer(){return issuer.str();} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
trivial: could be const and missing spaces compared with above and normal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
@@ -1868,6 +1868,7 @@ SECURESOCKET_API ISecureSocketContext* createSecureSocketContextEx2(const IPrope | |||
if (config == NULL) | |||
return createSecureSocketContext(sockettype); | |||
|
|||
dbglogXML(config); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debugging left in?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oops.
system/jlib/jsecrets.cpp
Outdated
verify->setPropBool("@address_match", false); | ||
verify->setPropBool("@accept_selfsigned", false); | ||
verify->setProp("trusted_peers", "anyone"); | ||
} | ||
return info; | ||
} | ||
|
||
IPropertyTree *getIssuerTlsServerConfigWithTrustedPeers(const char *issuer, const char *trusted_peers) | ||
{ | ||
IPropertyTree *issuerConfig = queryIssuerTlsServerConfig(issuer); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If items are ever evicted from the mtlsInfoCache then this would cause problems because it may not be valid any longer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point. Changed to getIssuerTlsServerConfig() to return a linked instance.
Signed-off-by: Anthony Fishbeck <[email protected]>
Type of change:
Checklist:
Smoketest:
Testing: