<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Error Securing NiFi Cluster with a Single Certificate Across 3 Nodes in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389184#M246910</link>
    <description>&lt;P&gt;I have a NiFi cluster consisting of 3 nodes, and I secured the cluster using a single signed certificate for all nodes. However, I am encountering an error that I suspect might be due to using just one certificate.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-section"&gt;Error Details:&lt;/SPAN&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-bullet"&gt;-&lt;/SPAN&gt; &lt;SPAN class="hljs-strong"&gt;Logs:&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;[Replicate Request Thread-25] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET /nifi-api/flow/current-user to&lt;SPAN&gt;&amp;nbsp; nifi01:8443&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;due to javax.net.ssl.SSLPeerUnverifiedException: Hostname&lt;SPAN&gt;&amp;nbsp;nifi01&amp;nbsp;&lt;/SPAN&gt;not verified:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; certificate: sha256/*********/GessD8=&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DN: CN=nifi01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subjectAltNames: [nifi03,nifi02]&lt;/P&gt;&lt;P&gt;2024-06-13 17:34:07,555 WARN [Replicate Request Thread-25] o.a.n.c.c.h.r.ThreadPoolRequestReplicator&lt;/P&gt;&lt;P&gt;javax.net.ssl.SSLPeerUnverifiedException: Hostname nifi01&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;not verified:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; certificate: sha256/************/GessD8=&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DN: CN=nifi01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subjectAltNames:&amp;nbsp;[nifi03,nifi02]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:389)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:136)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:130)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:645)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:869)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.FutureTask.run(FutureTask.java:266)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Thread.run(Thread.java:750)&lt;/P&gt;&lt;P&gt;Could using a single certificate for all three nodes(imported in truststore of all nodes) be causing this issue? Any guidance or best practices would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-strong"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 13 Jun 2024 21:46:45 GMT</pubDate>
    <dc:creator>helk</dc:creator>
    <dc:date>2024-06-13T21:46:45Z</dc:date>
    <item>
      <title>Error Securing NiFi Cluster with a Single Certificate Across 3 Nodes</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389184#M246910</link>
      <description>&lt;P&gt;I have a NiFi cluster consisting of 3 nodes, and I secured the cluster using a single signed certificate for all nodes. However, I am encountering an error that I suspect might be due to using just one certificate.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-section"&gt;Error Details:&lt;/SPAN&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-bullet"&gt;-&lt;/SPAN&gt; &lt;SPAN class="hljs-strong"&gt;Logs:&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;[Replicate Request Thread-25] o.a.n.c.c.h.r.ThreadPoolRequestReplicator Failed to replicate request GET /nifi-api/flow/current-user to&lt;SPAN&gt;&amp;nbsp; nifi01:8443&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;due to javax.net.ssl.SSLPeerUnverifiedException: Hostname&lt;SPAN&gt;&amp;nbsp;nifi01&amp;nbsp;&lt;/SPAN&gt;not verified:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; certificate: sha256/*********/GessD8=&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DN: CN=nifi01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subjectAltNames: [nifi03,nifi02]&lt;/P&gt;&lt;P&gt;2024-06-13 17:34:07,555 WARN [Replicate Request Thread-25] o.a.n.c.c.h.r.ThreadPoolRequestReplicator&lt;/P&gt;&lt;P&gt;javax.net.ssl.SSLPeerUnverifiedException: Hostname nifi01&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;not verified:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; certificate: sha256/************/GessD8=&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DN: CN=nifi01&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; subjectAltNames:&amp;nbsp;[nifi03,nifi02]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:389)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:136)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.okhttp.OkHttpReplicationClient.replicate(OkHttpReplicationClient.java:130)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator.replicateRequest(ThreadPoolRequestReplicator.java:645)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at org.apache.nifi.cluster.coordination.http.replication.ThreadPoolRequestReplicator$NodeHttpRequest.run(ThreadPoolRequestReplicator.java:869)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.FutureTask.run(FutureTask.java:266)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Thread.run(Thread.java:750)&lt;/P&gt;&lt;P&gt;Could using a single certificate for all three nodes(imported in truststore of all nodes) be causing this issue? Any guidance or best practices would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN class="hljs-strong"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jun 2024 21:46:45 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389184#M246910</guid>
      <dc:creator>helk</dc:creator>
      <dc:date>2024-06-13T21:46:45Z</dc:date>
    </item>
    <item>
      <title>Re: Error Securing NiFi Cluster with a Single Certificate Across 3 Nodes</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389189#M246912</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/109633"&gt;@helk&lt;/a&gt;&amp;nbsp;Welcome to the Cloudera Community!&lt;BR /&gt;&lt;BR /&gt;To help you get the best possible solution, I have tagged our NiFi experts&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/80381"&gt;@SAMSAL&lt;/a&gt;&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/35454"&gt;@MattWho&lt;/a&gt;&amp;nbsp;&amp;nbsp;who may be able to assist you further.&lt;BR /&gt;&lt;BR /&gt;Please keep us updated on your post, and we hope you find a satisfactory solution to your query.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2024 00:45:42 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389189#M246912</guid>
      <dc:creator>DianaTorres</dc:creator>
      <dc:date>2024-06-14T00:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: Error Securing NiFi Cluster with a Single Certificate Across 3 Nodes</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389215#M246921</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Usually when you get this error it means the certificate is not setup correctly to work with Nifi. For example if you are using wildcard certificate for all nodes then this is not supported by Nifi :&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.cloudera.com/cfm/2.0.4/nifi-toolkit-guide/topics/nifi-wildcard_certificates.html" target="_blank" rel="noopener"&gt;https://docs.cloudera.com/cfm/2.0.4/nifi-toolkit-guide/topics/nifi-wildcard_certificates.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;For more information about nifi certificate recommendations please see:&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.cloudera.com/cfm/2.1.4/cfm-security/topics/cfm-security-tls-certificate-requirements-recommendations.html" target="_blank" rel="noopener"&gt;TLS/SSL certificate requirements and recommendations | CDP Private Cloud (cloudera.com)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;IF you find this is helpful please &lt;STRONG&gt;accept&lt;/STRONG&gt; solution.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2024 09:35:45 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389215#M246921</guid>
      <dc:creator>SAMSAL</dc:creator>
      <dc:date>2024-06-14T09:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: Error Securing NiFi Cluster with a Single Certificate Across 3 Nodes</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389227#M246930</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/109633"&gt;@helk&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;You can use a single certificate to secure all your nodes, but i would not recommend doing so for security reasons.&amp;nbsp; You risk compromising all your host if any one of them is compromised.&amp;nbsp; Additionally NiFi nodes act as clients and not just servers.&amp;nbsp; This means that all your hosts will identify themselves as the same client (based off DN).&amp;nbsp; So tracking client initiated actions back to a specific node would be more challenging.&amp;nbsp; And if auditing is needed, made very difficult.&lt;BR /&gt;&lt;BR /&gt;The SAN is meant to be used to differently.&amp;nbsp; Let's assume you host an endpoint searchengine.com which is back by 100 servers to handle client requests.&amp;nbsp; When a client tries to access searchengine.com that request may get routed to anyone of those 100 servers.&amp;nbsp; The certificate issues to each of those 100 servers is unique to each server; however, every single one of them will have the searchengine.com as an additional SAN entry in addition to their unique hostname.&amp;nbsp; This allows the host verification to still be successful since all 100 are also known as searchengine.com.&lt;BR /&gt;&lt;BR /&gt;Your specific issue based on shared output above is caused by the fact that your single certificate does not have "nifi01" in the list of Subject Alternative Names (SAN).&amp;nbsp; It appears you only added nifi02 and nifi03 as SAN entries. The current hostname verification specs no longer use DN for hostname verification.&amp;nbsp; Only the SAN entries are used for that.&amp;nbsp; So all names(hostnames, common names, IPs) that may be used when connecting to a host must be included in the SAN list.&lt;BR /&gt;&lt;BR /&gt;NiFi cluster keystore requirements:&lt;BR /&gt;1. keystore can contain only ONE privateKeyEntry.&lt;BR /&gt;2. PrivateKey can not use wildcards in the DN.&lt;BR /&gt;3. PrivateKey must contain both clientAuth and serverAuth Extended Key Usage (EKU).&lt;BR /&gt;4. Privatekey must contain at least one SAN entry matching the hostname of server on which keystore will be used.&lt;BR /&gt;&lt;BR /&gt;The NiFi truststore must contain the complete trust chain for your cluster node's PrivateKeys.&amp;nbsp; On truststore is typically copied to and used on all nodes.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please help our community thrive. If you found&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;any&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "&lt;SPAN&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;Accept as Solution&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;" on&amp;nbsp;&lt;STRONG&gt;one or more&lt;/STRONG&gt;&amp;nbsp;of them that helped.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you,&lt;BR /&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jun 2024 13:54:32 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Error-Securing-NiFi-Cluster-with-a-Single-Certificate-Across/m-p/389227#M246930</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2024-06-14T13:54:32Z</dc:date>
    </item>
  </channel>
</rss>

