mtien-apache commented on a change in pull request #4767:
URL: https://github.com/apache/nifi/pull/4767#discussion_r562242893



##########
File path: 
nifi-commons/nifi-security-utils/src/main/java/org/apache/nifi/security/util/KeyStoreUtils.java
##########
@@ -245,7 +322,7 @@ public static TrustManagerFactory 
loadTrustManagerFactory(TlsConfiguration tlsCo
      */
     public static TrustManagerFactory loadTrustManagerFactory(String 
truststorePath, String truststorePassword, String truststoreType) throws 
TlsException {
         // Legacy truststore passwords can be empty
-        final char[] truststorePasswordChars = 
StringUtils.isNotBlank(truststorePassword) ? truststorePassword.toCharArray() : 
null;
+        final char[] truststorePasswordChars = 
StringUtils.isNotBlank(truststorePassword) ? truststorePassword.toCharArray() : 
"".toCharArray();

Review comment:
       @exceptionfactory After making these changes, I found out the real issue 
was that I received an NPE when loading a PKCS12 truststore and passing a 
`null` password. For loading a JKS or BCFKS store type, a `null` password is 
allowed. 
   
   After our discussion and finding out the behavior among keystore/truststore 
types are different, we concluded to allow loading a store without a password, 
but not persisting a store without a password. These changes affect the methods 
I added to programmatically generate certificates, keystores, and truststores.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to