Member since
07-30-2019
3406
Posts
1622
Kudos Received
1008
Solutions
My Accepted Solutions
| Title | Views | Posted |
|---|---|---|
| 151 | 12-17-2025 05:55 AM | |
| 212 | 12-15-2025 01:29 PM | |
| 146 | 12-15-2025 06:50 AM | |
| 264 | 12-05-2025 08:25 AM | |
| 431 | 12-03-2025 10:21 AM |
02-06-2020
07:41 AM
@Kielbik You can stop version control on your Process Group in NiFi and then start version control again to recreate the flow in nifi-registry. NiFi and NiFi-registry do not offer an undo action when you inadvertently delete an item. Hope this helps, Matt
... View more
02-06-2020
07:28 AM
@nishank_paras Without an example input and desired output file, It is difficult to provide an exact solution. However, you may want to consider using the ReplaceText processor in NiFi. This processor can be configured with a java regular expression that uses java capture groups to parse your csv file line by line and then use the capture group to replace that lien with only the desired column value. Just make sure you configure the processor to use "Line-by-Line" instead of the default "Entire text". Hope this helps you get to a solution that works for you, Matt
... View more
02-06-2020
07:21 AM
@Pr1 While I am not an IMAP expert, the exception you are seeing here: PKIX path building failed. unable to find valid certification path This is a TLS handshake exception telling you that the complete certificate trust chain does not exist in the keystore. On the NiFi side the complete trust chain would found in the NiFi truststore.jks. Note: If NiFi is not secured you may need to add the trust chain certs to the NiFI java's default cacerts keystore. You can use openssl to get the complete trust chain for the IMAP server you are trying to consume from: openssl s_client -connect <IMAP server>:<IMAP port> -showcerts In the server hello response returned from the IMAP server using above command, you will see multiple certificates. First certificate is the imap server's public certificate (you do not need this one). You will need all the public certificates that follow that server certificate. These will be your Signing CAs (there may be one or more in order of signing until you reach the rootCA). The rootCa is last and you will notice the owner and issuer DN is the same. Each certificate begins with: -----BEGIN CERTIFICATE----- and ends with: -----END CERTIFICATE----- So you want to copy each certificate including the above lines to separate files: Eaxamples: intermediate.pem, intermediate2.pem, rootCA.pem You can then use keytool to import these CAs in to your NiFi truststore. keytool -importcert -alias <alias usually based off CN name for certiifcate> -file <certificate.pem> -keystore <truststore.jks or java cacerts> -trustcacerts Note: each certificate imported must use a unique alias. I recommend importing your certificates in the same order as they were listed in openssl response (importing the rootCA last). Restart your NiFi so it loads the modified keystore. Hope this helps resolve your trust chain issue, Matt
... View more
02-05-2020
08:00 AM
Want to add some clarity to this last comment: ListenHTTP requires 2-way TLS when enabled if a SSLContextService has been configured with a truststore. The truststore is used to trust the client certificate presented by the client, for the purpose of authentication, connecting to this secured ListenHTTP processor. If only a keystore and no truststore is configured in the SSLContext service, the ListenHTTP will not require that clients present a client certificate. The server certificate from the keystore will be presented to the client so the client can verify that it trusts the server (NiFI listenHTTP jetty server) that it is connecting with.
... View more
02-05-2020
05:43 AM
2 Kudos
@chhaya_vishwaka NiFi keystore requirements: 1. NiFi Keystore must contain only ONE PrivateKeyEntry 2. NiFi does not support using wildcards in certificate DNs 3. PrivateKeyEntry must support both clientAuth and serverAuth Extended Key Usage (EKU) 4. PrivateKeyEntry must contain at least one Subject Alternative Name (SAN) entry that matches the hostname on which the keystore is being used. You can obtain a verbose output of your keystore using the keytool command to verify all of the above criteria are met: keytool -v -list -keystore <your keystore file> Once above is verified, you need to make sure the truststore being used by all your NiFi nodes contains the complete certificate trust chain for your server certificates. This means if your server certificate was signed by an intermediate CA, your truststore must contain the public certificate for that intermediate CA as well as the public certificate for the signer of the intermediate CA. Yo u may have several intermediate CAs in-line before you finally reach the rootCA (owner and issuer are the same). Once above is verified, now it should be just a matter of authenticated and authorized access to your secured NiFi. By default when you enable TLS in NiFi, all clients/users are expected to authenticate with NiFi using a user certificate which they load in their browser. NiFi does not have local user for purpose of authentication. NiFi can be configured to support additional forms of user authentication such as Spnego, LDAP, kerberos, OpenID connect, etc. Refer to the admin guide and user guide for more detail. Your browser screenshot indicates that you do not have a client/user certificates loaded in your browser which your secured NiFi can trust and since NiFi did not redirect you to login page, you do not have a login provider configured in your login-identity-providers.xml (or nifi.properties file is not configured to use it if you do). Hope this detail helps you on the path to resolving your issue, Matt
... View more
02-04-2020
12:46 PM
@stevenmatison Sorry, i do not off the top of my head. Matt
... View more
02-04-2020
12:43 PM
@Rohitravi The Path Filter is applied against all subdirectories of the configured "Input Directory". Any files found in the base "Input Directory" are still going to be listed. If you had files in "dir4", they should not have been listed. Is dir2 empty? If so can you change your "Input Directory" to /dir1/dir2 instead of /dir1/dir2/dir3. I cannot think of a reason why when filtering based on subdir path that you would still expect to returns from the base directory, so I filed an Apache jira ( https://issues.apache.org/jira/browse/NIFI-7104 ). Another option is to add a RouteOnAttribute processor after your listFile processor to route on only FlowFile where the absolute.path FlowFile attribute included "dir5". Then auto-terminate the unmatched relationship and route the "dir5" relationship on to the next component in your dataflow. Hope this helps, Matt If you found this solution resolves your query, please take a moment to click accept.
... View more
02-04-2020
09:52 AM
@lueenavarro Using a key that has no password protection is bad security. This is why the processor requires a password to protect that key. Adding a password to the key you were provided does not alter the key nor does it require you to obtain a new key in order to add a password. Only other option i can suggest is to use an ExecuteStreamCommand or ExecuteScript processor to to execute the SFTP command with your password-less key to put content to your SFTP server. Hope this helps, Matt
... View more
02-04-2020
06:47 AM
@DivyaKaki Since all your certificates have been signed by the same CA, the truststore used by all nodes only needs to contain the public cert for that one CA. Thanks, Matt
... View more
02-03-2020
02:34 PM
@lueenavarro Why would you want to have an unprotected key. If someone get a hold of it they can use it easily steal from your SFTP server. You don't need to get a new key. Instead simply set a password on your existing key for use in NiFi. ssh-keygen -p -f <existing key file> above will prompt you for current password (just hit enter) and then for new password twice. Now you have a protected key to use for connecting to your SFTP server. Hope this helps you, Matt
... View more