Conversation
|
Happy to review once out of Draft status. |
Updated NOTICE with current copyright year for Jetty dependencies Updated Jetty SSLContextFactory usage, invoke setEndpointIdentificationAlgorithm(null) on server SslContextFactory instances Updated TestInvokeHttpSSL to provide a separate client keystore, rather than reusing the server's keystore Regenerated nifi-standard-processors keystore and truststore, added client keystore Updated ITestHandleHttpRequest, TestInvokeHttpSSL, TestInvokeHttpTwoWaySSL, and TestListenHTTP to use a separate client keystore instead of reusing the server's keystore. Also updated the tests to separately test one-way and two-way SSL
|
@thenatog Could you review this PR, please? |
|
I have verified the endpointIdentificationAlgorithm settings are at least checking for SANs using a clientSocket and serverSocket with certs that did and didn't contain SANs. For the moment, I recommend we set the clientSocket endpointIdenticationAlgorithm to null as well as this could be considered a breaking change that would require users to regenerate server certs for services external to NiFi. However, I think that it's generally accepted practice to expect SANs are set correctly for certificates. So, in future, we should flip this to require SAN validation in a major version change down the line. Once you set the algorithm to null for the clientSocket, +1. |
This PR should be merged after #3416 to avoid merge conflicts due to regenerated certs in nifi-standard-processor.
While reviewing code, it is important to verify that server certs are not reused as client certs. This PR updates several tests that reused server certs, but more investigation is needed for other areas of code that reuse them.
To test this PR:
Each component should be tested in the following scenarios:
To test the TlsCertificateAuthorityService, certs for secured NiFi instances should be generated by a running NiFi CA service.
Please see https://issues.apache.org/jira/browse/NIFI-6196 for the list of issues encountered and their resolutions implemented in this PR.
NOTE: Please retain the flows used to verify this PR. They can be reused for verifying functionality when NiFi supports builds on Java 11.
Thank you for submitting a contribution to Apache NiFi.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?
Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
Has your PR been rebased against the latest commit within the target branch (typically master)?
Is your initial contribution a single, squashed commit?
For code changes:
For documentation related changes:
Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.