<?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>topic Re: Ticket API authentication getting 403 Forbidden in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150543#M5525</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help. I indeed was confused by what certificate to use to create the connection. I managed to go past the first error, but now get another error:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;The request was aborted: Could not create SSL/TLS secure channel.&lt;/P&gt;

&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It's probably still linked to that certificate issue. Here's what I did to create and configure the certificate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I went to the QMC and in the certificate tab&lt;/LI&gt;&lt;LI&gt;Clicked on the "Add machine name" and added the IP Address of my "client" server (should it be the public or private IP? Is it important? Should I put something else? Both machines are not on the same network / domain)&lt;/LI&gt;&lt;LI&gt;Added a certificate password, did not include the secret key and exported it to the Windows format&lt;/LI&gt;&lt;LI&gt;Clicked on export certificates&lt;/LI&gt;&lt;LI&gt;Took the root and client certificates from the Qlik folder and copied them to my "client" server&lt;/LI&gt;&lt;LI&gt;Installed both the root and client certificates on the server's "local machine" certificate directory&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm then using this open source project &lt;A href="https://github.com/braathen/qlik-auth-net" title="https://github.com/braathen/qlik-auth-net"&gt;GitHub - braathen/qlik-auth-net: ASP.NET module for simplifying custom authentication with Qlik Sense.&lt;/A&gt; to test. It seem to correctly sign the request using the client certificate, so I'm not really sure why I get the error message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could it be a configuration issue on Qlik's side?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Aug 2016 15:20:35 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-08-24T15:20:35Z</dc:date>
    <item>
      <title>Ticket API authentication getting 403 Forbidden</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150541#M5523</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We're trying to authenticate users through the ticket API and we're getting a 403 Forbidden error. I'm really not sure where exactly might be the issue, if it's caused by Qlik not finding the user or something else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where can I find more information on how to fix this issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the POST we're sending (redacted the private information).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14718785450765749" jivemacro_uid="_14718785450765749" modifiedtitle="true"&gt;
&lt;P&gt;&lt;SPAN&gt;POST &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://***:4243/qps/tst/ticket?Xrfkey=0123456789abcdef" rel="nofollow" target="_blank"&gt;https://***:4243/qps/tst/ticket?Xrfkey=0123456789abcdef&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;HEADERS:&lt;/P&gt;
&lt;P&gt;X-Qlik-Xrfkey: 0123456789abcdef&lt;/P&gt;
&lt;P&gt;Content-Type: application/json&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;BODY:&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "UserDirectory": "MyDirectory",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "UserId": "myUser",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "CertificateLocation": 2,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "CertificateName": "***",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "TargetId": "6ee5fc59-8a92-481a-8108-0a4748a281a8",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "Attributes": []&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's the response we're getting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The remote server returned an error: (403) Forbidden.&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Aug 2016 15:18:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150541#M5523</guid>
      <dc:creator />
      <dc:date>2016-08-22T15:18:16Z</dc:date>
    </item>
    <item>
      <title>Re: Ticket API authentication getting 403 Forbidden</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150542#M5524</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;CertificateLocation and CertificateName in the body is not needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you signing your request with the exported certificates from Qlik Sense?&lt;/P&gt;&lt;P&gt;The 403 indicates that your request is not allowed, the user does not have to exist in Sense. Since you sign the request with the export certificates from Qlik Sense we will trust you and create whatever user you send in.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Aug 2016 19:09:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150542#M5524</guid>
      <dc:creator>Alexander_Thor</dc:creator>
      <dc:date>2016-08-23T19:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: Ticket API authentication getting 403 Forbidden</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150543#M5525</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alexander,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help. I indeed was confused by what certificate to use to create the connection. I managed to go past the first error, but now get another error:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;
&lt;P&gt;The request was aborted: Could not create SSL/TLS secure channel.&lt;/P&gt;

&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;It's probably still linked to that certificate issue. Here's what I did to create and configure the certificate:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I went to the QMC and in the certificate tab&lt;/LI&gt;&lt;LI&gt;Clicked on the "Add machine name" and added the IP Address of my "client" server (should it be the public or private IP? Is it important? Should I put something else? Both machines are not on the same network / domain)&lt;/LI&gt;&lt;LI&gt;Added a certificate password, did not include the secret key and exported it to the Windows format&lt;/LI&gt;&lt;LI&gt;Clicked on export certificates&lt;/LI&gt;&lt;LI&gt;Took the root and client certificates from the Qlik folder and copied them to my "client" server&lt;/LI&gt;&lt;LI&gt;Installed both the root and client certificates on the server's "local machine" certificate directory&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm then using this open source project &lt;A href="https://github.com/braathen/qlik-auth-net" title="https://github.com/braathen/qlik-auth-net"&gt;GitHub - braathen/qlik-auth-net: ASP.NET module for simplifying custom authentication with Qlik Sense.&lt;/A&gt; to test. It seem to correctly sign the request using the client certificate, so I'm not really sure why I get the error message.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could it be a configuration issue on Qlik's side?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Aug 2016 15:20:35 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150543#M5525</guid>
      <dc:creator />
      <dc:date>2016-08-24T15:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: Ticket API authentication getting 403 Forbidden</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150544#M5526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, I didn't answer to you directly, could you check my message other message in the thread?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Aug 2016 15:22:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150544#M5526</guid>
      <dc:creator />
      <dc:date>2016-08-24T15:22:15Z</dc:date>
    </item>
    <item>
      <title>Re: Ticket API authentication getting 403 Forbidden</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150545#M5527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, So I figured-out what was going on after 2 days of research. I'll give here how I managed to figure out the issue and fix it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, first thing the error was returned by the call to the HttpWebRequest's GetRequestStream() method. It was therefore not really linked to an issue with Qlik but to a ASP.net issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've activated the logging for System.Net by adding this configuration to the web.config of my web app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="xml" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14724813976074173 jive_text_macro" jivemacro_uid="_14724813976074173" modifiedtitle="true"&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;system&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;diagnostics&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;trace autoflush&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"true"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;sources&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;listeners&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;listeners&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net.Sockets"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;listeners&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;listeners&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net.Cache"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;listeners&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;listeners&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;source&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;sources&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;sharedListeners&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add&lt;BR /&gt;&amp;nbsp; name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; type&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Diagnostics.TextWriterTraceListener"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; initializeData&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net.trace.log"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;sharedListeners&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="str"&gt;&amp;lt;switches&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; value&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"Verbose"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net.Sockets"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; value&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"Verbose"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;add name&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"System.Net.Cache"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; value&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;=&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"Verbose"&lt;/SPAN&gt;&lt;SPAN class="pln"&gt; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;switches&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN class="pun"&gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;system&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;.&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;diagnostics&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="pln"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;


&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class="pln"&gt;This allowed me to get the &lt;EM&gt;real&lt;/EM&gt; underlying issue which was : &lt;STRONG&gt;AcquireCredentialsHandle() failed with error 0X8009030D&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pln"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pln"&gt;After a little bit of Googling, I figured out that the issue was linked to the application pool in which my web app was running didn't have access to the private key of the QlikClient certificate. This is quite easy to fix.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="pln"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;First, you need to get to the certificate store&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Open the certificates MMC.&lt;UL&gt;&lt;LI&gt;Open MMC&lt;/LI&gt;&lt;LI&gt;Click File –&amp;gt; Add/Remove Snap-in…&lt;/LI&gt;&lt;LI&gt;Choose Certificates and click Add&lt;/LI&gt;&lt;LI&gt;Select Computer Account and click Finish&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then, right-click the QlikClient certificate in the certificate store and choose "All tasks -&amp;gt; Manage private keys.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should have a "Windows" permission showing, you need to add the user that is running your application pool. So if your application pool is called "TestAppPool", you should add the user "IIS AppPool\TestAppPool". You can give this user only "Read" permissions and it should work.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Aug 2016 14:51:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Ticket-API-authentication-getting-403-Forbidden/m-p/1150545#M5527</guid>
      <dc:creator />
      <dc:date>2016-08-29T14:51:04Z</dc:date>
    </item>
  </channel>
</rss>

