<?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 Re: Signed SSL for ListenHTTP in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221879#M183753</link>
    <description>&lt;P&gt;&lt;A href="https://community.hortonworks.com/questions/212419/signed-ssl-for-listenhttp.html#" rel="nofollow noopener noreferrer" target="_blank"&gt;@amarnath reddy pappu&lt;/A&gt;, thank you for your reply. I agree that seems to be the logical path. What I see appears to differ from what the system is allowing. Attempting to perform this action fails. See the image below with verbose output. Any idea to explain this behavior?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="86518-nifitempimage.png" style="width: 1228px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/15751i309F27965E731131/image-size/medium?v=v2&amp;amp;px=400" role="button" title="86518-nifitempimage.png" alt="86518-nifitempimage.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 18 Aug 2019 02:12:43 GMT</pubDate>
    <dc:creator>zachary_atkinso</dc:creator>
    <dc:date>2019-08-18T02:12:43Z</dc:date>
    <item>
      <title>Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221877#M183751</link>
      <description>&lt;P&gt;Hey guys, &lt;/P&gt;&lt;P&gt;I am running a NiFi cluster with signed SSLs. I am trying to secure ListenHTTP processor using a secureContext service but I ran into some issues. Hopefully the community can show me the error of my ways.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ListenHTTP setup:&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin-left: 20px;"&gt;&lt;U&gt;Non-secured works. I can post data with: &lt;/U&gt;&lt;/P&gt;&lt;PRE&gt;curl -X POST --data 'Hello World!' URL:PORT/PATH&lt;/PRE&gt;&lt;P style="margin-left: 20px;"&gt;&lt;U&gt;Secured processor:&lt;/U&gt;&lt;/P&gt;&lt;P style="margin-left: 20px;"&gt;Once the processor has been secured the only way I can send data to it is to include the certificate and privatekey. Otherwise, the POST will fail. A working curl would look like this for me.&lt;/P&gt;&lt;PRE&gt;curl -X POST --data 'Hello World! SSL Worked!' 'https:HOST:PORT/PATH' --cert ./meyCert --key ./PrivateKey&lt;/PRE&gt;&lt;P style="margin-left: 20px;"&gt;This functionality was not expected. Generally speaking, I expected to be able to send data to ListenHTTP using HTTPS without needing to include a certificate or privatekey. &lt;EM&gt;Is my configuration incorrect or is this functionality expected after securing ListenHTTP?&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;NiFi Signed SSL Certificate Configuration&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="margin-left: 20px;"&gt;I am including this as I think it may be part of the issue. To secure my NiFi cluster with signed SSL certs I requested signed certs from digicert. I combined my privatekey &amp;amp; server certificate into a single file. I then imported this file into a keystore. Next, combined my intermediate &amp;amp; root certificate into a single file, in this same order. I then imported the combined intermediate &amp;amp; root file into a truststore. This method successfully secured our NiFi in a clustered configuration.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Aug 2018 23:27:34 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221877#M183751</guid>
      <dc:creator>zachary_atkinso</dc:creator>
      <dc:date>2018-08-15T23:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221878#M183752</link>
      <description>&lt;P&gt;&lt;A rel="user" href="https://community.cloudera.com/users/43177/zacharyatkinson.html" nodeid="43177"&gt;@Zack Atkinson&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Using curl to make REST API call to https you have 2 options.&lt;/P&gt;&lt;P&gt;1. Do insecure connection/call with "-k" option - this option tells to curl that simply trust the server cert and do the post.&lt;/P&gt;&lt;P&gt;Ex: curl -k -X POST --data 'Hello World! SSL Worked!''https:HOST:PORT/PATH'&lt;/P&gt;&lt;P&gt;2. You don't need to provide private key - just public cert is good enough.&lt;/P&gt;&lt;P&gt;Ex: curl -X POST --data 'Hello World! SSL Worked!''https:HOST:PORT/PATH'--cert ./meyCert&lt;/P&gt;</description>
      <pubDate>Wed, 15 Aug 2018 23:35:20 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221878#M183752</guid>
      <dc:creator>apappu</dc:creator>
      <dc:date>2018-08-15T23:35:20Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221879#M183753</link>
      <description>&lt;P&gt;&lt;A href="https://community.hortonworks.com/questions/212419/signed-ssl-for-listenhttp.html#" rel="nofollow noopener noreferrer" target="_blank"&gt;@amarnath reddy pappu&lt;/A&gt;, thank you for your reply. I agree that seems to be the logical path. What I see appears to differ from what the system is allowing. Attempting to perform this action fails. See the image below with verbose output. Any idea to explain this behavior?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="86518-nifitempimage.png" style="width: 1228px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/15751i309F27965E731131/image-size/medium?v=v2&amp;amp;px=400" role="button" title="86518-nifitempimage.png" alt="86518-nifitempimage.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 18 Aug 2019 02:12:43 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221879#M183753</guid>
      <dc:creator>zachary_atkinso</dc:creator>
      <dc:date>2019-08-18T02:12:43Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221880#M183754</link>
      <description>&lt;P&gt;&lt;A rel="user" href="https://community.cloudera.com/users/43177/zacharyatkinson.html" nodeid="43177"&gt;@Zack Atkinson&lt;/A&gt; &lt;/P&gt;&lt;P&gt;the curl call you are trying is incorrect. use cacert instead of cert&lt;/P&gt;&lt;PRE&gt;curl -X POST --data 'Hello World! SSL Worked!''https:HOST:PORT/PATH  '----cacert ./meyCert&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;My example:&lt;/P&gt;&lt;P&gt;curl  -X GET &lt;A href="https://c1111-node1.hdp.com:8443/#/login/local" target="_blank"&gt;https://c1111-node1.hdp.com:8443/#/login/local&lt;/A&gt; -&lt;STRONG&gt;-cacert&lt;/STRONG&gt; /tmp/knox.crt&lt;/P&gt;&lt;P&gt;Please mark my comment as correct answer if this solves your issue.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 01:51:05 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221880#M183754</guid>
      <dc:creator>apappu</dc:creator>
      <dc:date>2018-08-16T01:51:05Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221881#M183755</link>
      <description>&lt;P&gt;&lt;A rel="user" href="https://community.cloudera.com/users/11311/apappu.html" nodeid="11311"&gt;@amarnath reddy pappu&lt;/A&gt; &lt;/P&gt;&lt;P&gt;I kept playing with this issue and found a solution. For my SSL SecurityContext service, I was setting both truststore and keystore. For my need I only want to accept HTTPS data and deny HTTP data. Additionally, I do not care where it comes from in this context. If I leave off the truststore it will work. However, now anyone can send data to my endpoint. Definitely a plus and minus situation but now the understanding is there and I know how to proceed as the need arises.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 01:58:03 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221881#M183755</guid>
      <dc:creator>zachary_atkinso</dc:creator>
      <dc:date>2018-08-16T01:58:03Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221882#M183756</link>
      <description>&lt;P&gt;&lt;A rel="user" href="https://community.cloudera.com/users/43177/zacharyatkinson.html" nodeid="43177"&gt;@Zack Atkinson&lt;/A&gt; not sure your answer is related to the question being asked - Am i missing some thing here?&lt;/P&gt;&lt;P&gt;Please check my comment below for answer to the curl call issue.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 02:04:06 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221882#M183756</guid>
      <dc:creator>apappu</dc:creator>
      <dc:date>2018-08-16T02:04:06Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221883#M183757</link>
      <description>&lt;P&gt;
	Amarnath,&lt;/P&gt;&lt;P&gt;
	You are trying to resolve the issue of the untrusted server certificate if &lt;CODE&gt;curl&lt;/CODE&gt; is run without the &lt;CODE&gt;-k/--insecure&lt;/CODE&gt; option. That was not Zack's problem. To accept input from a client which is not identifying itself with a client certificate, the solution is to provide a &lt;CODE&gt;StandardRestrictedSSLContextService&lt;/CODE&gt; with only the &lt;STRONG&gt;keystore-related&lt;/STRONG&gt; options configured. Configuring the &lt;STRONG&gt;truststore-related&lt;/STRONG&gt; options instructs the service to require a client certificate to negotiate a TLS handshake and allow the connection. This is what Zack was trying to avoid. &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 02:30:11 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221883#M183757</guid>
      <dc:creator>alopresto</dc:creator>
      <dc:date>2018-08-16T02:30:11Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221884#M183758</link>
      <description>&lt;P&gt;Zack, glad you found a solution. I was coming to post this but wanted to verify something in my custom configuration wasn't affecting this before posting. We can probably improve the processor/controller service documentation to make this clearer and more intuitive. If you do decide you want client authentication and configure the truststore-related properties, you can also further restrict the authorized users via the &lt;STRONG&gt;Authorized DN Pattern&lt;/STRONG&gt; processor property. &lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 02:32:27 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221884#M183758</guid>
      <dc:creator>alopresto</dc:creator>
      <dc:date>2018-08-16T02:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: Signed SSL for ListenHTTP</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221885#M183759</link>
      <description>&lt;P&gt;Andy\Amarnath, &lt;/P&gt;&lt;P&gt;My question was initially why my expected outcome was not working and why this other format did work. Along the way, I believe my question was answered, assuming my understanding is correct. I did't want to dive to deep as I thought it may be outside the scope of my initial post. Since the conversation has gone that way tho, Andy is correct. &lt;BR /&gt;&lt;BR /&gt;I did not understand the difference between 1-way SSL and 2-way SSL. Using 1-way SSL (keystore only) all HTTPS connections are accepted regardless if the source is who we are expecting or not. Using 2-way SSL only HTTPS connections are accepted but now we must verify who the source is by authenticating with a private key &amp;amp; server certificate that can be authenticated by my truststore.&lt;/P&gt;&lt;P&gt;My use case for this knowledge, is we are promoting projects between our Dev &amp;amp; Prod clusters. I wanted to ensure we had the correct security in place to proceed. The developers are wanting 1-way SSL but I lacked the knowledge at the time to make it work and only had 2-way. They were upset because this required more data to be sent via REST protocol using 2-way.&lt;/P&gt;&lt;P&gt;Now that I understand each protocol, I will not allow to them proceed to Production with their architecture without 2-way SSL. Originally, I was simply ignorant of how to setup 1-way SSL, without understanding the security hole it would make.&lt;/P&gt;&lt;P&gt;Thank you both for your time and effort in reviewing this concept.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Aug 2018 04:20:37 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Signed-SSL-for-ListenHTTP/m-p/221885#M183759</guid>
      <dc:creator>zachary_atkinso</dc:creator>
      <dc:date>2018-08-16T04:20:37Z</dc:date>
    </item>
  </channel>
</rss>

