Some users and organizations would like to provide different certificates for identification of the same NiFi instance when acting in different roles (for example, one certificate to identify the server for the API / UI interaction, and another to identify the server in cluster communications and/or site-to-site communications). A preliminary list of roles is:
- API / UI host
- remote authorization / authentication repositories (communicating with Ranger, LDAP, KDC, etc.)
- cluster (node/NCM/Zookeeper)
- client when connecting to remote services during data flow (InvokeHTTP, PutSQL, etc.)
This should be implemented in a manner that does not break the default operation (i.e. a keystore with a single certificate value) but allows easy overriding for one or more of the roles listed above.