<?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>article Qlik Sense: How to decrypt a SAML assertion or error message in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-decrypt-a-SAML-assertion-or-error-message/ta-p/1710336</link>
    <description>&lt;P&gt;How to decrypt a&lt;SPAN&gt;&amp;nbsp;heavily encoded SAML message.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;If you have set up the Identity Provider to encrypt the SAML assertion, then in order to see what it contains for troubleshooting, you will need to decrypt it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;LI-PRODUCT title="Qlik Sense Enterprise on Windows" id="qlikSenseEnterpriseWindows"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;, all versions&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;It is important to understand the 3 below concepts when using SAML.&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Inflation and base-64 encoding&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Signing&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Encryption&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A SAML AuthnRequest is:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Inflated and base-64 encoded&lt;/STRONG&gt;&lt;/SPAN&gt; (If you use a SAML browser extension, it will deflate it and decode it automatically for you. In order to do that manually,&amp;nbsp;&lt;A href="https://www.samltool.com/decode.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decode.php&lt;/A&gt; can be used.)&lt;BR /&gt;&lt;STRONG&gt;No private key&lt;/STRONG&gt; is needed to deflate/decode.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Signed&lt;/STRONG&gt;&lt;/SPAN&gt;, so that it cannot be altered. The signature does not hold any useful information for troubleshooting, it is just to make sure that the SAML request hasn't been altered. However if the certificate it has been signed with does not correspond, you won't be able to authenticate.&lt;BR /&gt;The Qlik Sense&amp;nbsp;&lt;STRONG&gt;certificate is needed&lt;/STRONG&gt; to validate the signature on the SAML assertion. (Note: Qlik Sense always signs SAML AuthnRequest, this cannot be disabled, however SAML AuthnRequest signature validation can be disabled in the Identity Provider)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;A SAML assertion (The assertion is a section in the SAML response) is:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Inflated and base-64 encoded&lt;/STRONG&gt;&lt;/SPAN&gt; (If you use a SAML browser extension, it will deflate it and decode it automatically for you. In order to do that manually,&amp;nbsp;&lt;A href="https://www.samltool.com/decode.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decode.php&lt;/A&gt; can be used.)&lt;BR /&gt;&lt;STRONG&gt;No private key&lt;/STRONG&gt; is needed to deflate/decode.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Signed&lt;/STRONG&gt;&lt;/SPAN&gt;, so that it cannot be altered. The signature does not hold any useful information for troubleshooting, it is just to make sure that the SAML request hasn't been altered. However if the certificate it has been signed with does not correspond, you won't be able to authenticate.&lt;BR /&gt;The &lt;STRONG&gt;Identity Provider&amp;nbsp;certificate is needed&lt;/STRONG&gt; to validate the signature on the SAML assertion.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Encrypted &lt;/STRONG&gt;&lt;/SPAN&gt;(Optionally). In this case, in order to see if information in the SAML assertion are correct, decrypting the SAML assertion is needed.&lt;BR /&gt;It can be decrypted with&amp;nbsp;&lt;A href="https://www.samltool.com/decrypt.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decrypt.php&lt;/A&gt;, just paste the deflated/decoded SAML request.&lt;BR /&gt;The &lt;STRONG&gt;Qlik Sense&amp;nbsp;certificate private key is needed&lt;/STRONG&gt; to see what the signature holds.&lt;BR /&gt;The SAML response is generated by the Identity Provider and the public certificate of the Service Provider (Qlik Sense) is used to encrypt. You will need the private key of Qlik Sense to decrypt it.&lt;BR /&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3 class="qlik-migrated-tkb-headings"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Resolution:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Go to&amp;nbsp;&lt;A href="https://www.samltool.com/decrypt.php" target="_self"&gt;https://www.samltool.com/decrypt.php&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;In&amp;nbsp;Encrypted XML, paste the deflated/decoded SAML response.&lt;/LI&gt;
&lt;LI&gt;In Private Key*, paste the private key of Qlik Sense.&lt;/LI&gt;
&lt;/OL&gt;
&lt;TABLE style="width: 500px;" border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colspan="1" rowspan="1"&gt;* It must be the private key in clear text, not protected by a passphrase. A protected private key will begin with&amp;nbsp;-----BEGIN ENCRYPTED PRIVATE KEY-----&amp;nbsp;while a clear text private key will begin with&amp;nbsp;-----BEGIN RSA PRIVATE KEY-----&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;In order to decrypt a private key, you can use the command:&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;openssl rsa –in enc.key -out dec.key&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;You will be asked to enter the passphrase for your private key.&lt;BR /&gt;&lt;BR /&gt;Please note that openssl must be installed and you should run this command from the command prompt in the folder where the binary for openssl is installed.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="samltool1.png" style="width: 965px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/54822iD0930E207B090424/image-size/large?v=v2&amp;amp;px=999" role="button" title="samltool1.png" alt="samltool1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Related Content:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://community.qlik.com/t5/Knowledge-Base/How-To-Use-SAML-Authentication-With-Qlik-Sense/ta-p/1713800" target="_blank" rel="noopener"&gt;How To Use SAML Authentication With Qlik Sense&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 07 Jul 2022 11:12:31 GMT</pubDate>
    <dc:creator>Damien_V</dc:creator>
    <dc:date>2022-07-07T11:12:31Z</dc:date>
    <item>
      <title>Qlik Sense: How to decrypt a SAML assertion or error message</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-decrypt-a-SAML-assertion-or-error-message/ta-p/1710336</link>
      <description>&lt;P&gt;How to decrypt a&lt;SPAN&gt;&amp;nbsp;heavily encoded SAML message.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;If you have set up the Identity Provider to encrypt the SAML assertion, then in order to see what it contains for troubleshooting, you will need to decrypt it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;LI-PRODUCT title="Qlik Sense Enterprise on Windows" id="qlikSenseEnterpriseWindows"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;, all versions&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;It is important to understand the 3 below concepts when using SAML.&lt;/P&gt;
&lt;UL class="lia-list-style-type-circle"&gt;
&lt;LI&gt;Inflation and base-64 encoding&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Signing&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;Encryption&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A SAML AuthnRequest is:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Inflated and base-64 encoded&lt;/STRONG&gt;&lt;/SPAN&gt; (If you use a SAML browser extension, it will deflate it and decode it automatically for you. In order to do that manually,&amp;nbsp;&lt;A href="https://www.samltool.com/decode.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decode.php&lt;/A&gt; can be used.)&lt;BR /&gt;&lt;STRONG&gt;No private key&lt;/STRONG&gt; is needed to deflate/decode.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Signed&lt;/STRONG&gt;&lt;/SPAN&gt;, so that it cannot be altered. The signature does not hold any useful information for troubleshooting, it is just to make sure that the SAML request hasn't been altered. However if the certificate it has been signed with does not correspond, you won't be able to authenticate.&lt;BR /&gt;The Qlik Sense&amp;nbsp;&lt;STRONG&gt;certificate is needed&lt;/STRONG&gt; to validate the signature on the SAML assertion. (Note: Qlik Sense always signs SAML AuthnRequest, this cannot be disabled, however SAML AuthnRequest signature validation can be disabled in the Identity Provider)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;A SAML assertion (The assertion is a section in the SAML response) is:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Inflated and base-64 encoded&lt;/STRONG&gt;&lt;/SPAN&gt; (If you use a SAML browser extension, it will deflate it and decode it automatically for you. In order to do that manually,&amp;nbsp;&lt;A href="https://www.samltool.com/decode.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decode.php&lt;/A&gt; can be used.)&lt;BR /&gt;&lt;STRONG&gt;No private key&lt;/STRONG&gt; is needed to deflate/decode.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Signed&lt;/STRONG&gt;&lt;/SPAN&gt;, so that it cannot be altered. The signature does not hold any useful information for troubleshooting, it is just to make sure that the SAML request hasn't been altered. However if the certificate it has been signed with does not correspond, you won't be able to authenticate.&lt;BR /&gt;The &lt;STRONG&gt;Identity Provider&amp;nbsp;certificate is needed&lt;/STRONG&gt; to validate the signature on the SAML assertion.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Encrypted &lt;/STRONG&gt;&lt;/SPAN&gt;(Optionally). In this case, in order to see if information in the SAML assertion are correct, decrypting the SAML assertion is needed.&lt;BR /&gt;It can be decrypted with&amp;nbsp;&lt;A href="https://www.samltool.com/decrypt.php" target="_blank" rel="noopener"&gt;https://www.samltool.com/decrypt.php&lt;/A&gt;, just paste the deflated/decoded SAML request.&lt;BR /&gt;The &lt;STRONG&gt;Qlik Sense&amp;nbsp;certificate private key is needed&lt;/STRONG&gt; to see what the signature holds.&lt;BR /&gt;The SAML response is generated by the Identity Provider and the public certificate of the Service Provider (Qlik Sense) is used to encrypt. You will need the private key of Qlik Sense to decrypt it.&lt;BR /&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3 class="qlik-migrated-tkb-headings"&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Resolution:&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Go to&amp;nbsp;&lt;A href="https://www.samltool.com/decrypt.php" target="_self"&gt;https://www.samltool.com/decrypt.php&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;In&amp;nbsp;Encrypted XML, paste the deflated/decoded SAML response.&lt;/LI&gt;
&lt;LI&gt;In Private Key*, paste the private key of Qlik Sense.&lt;/LI&gt;
&lt;/OL&gt;
&lt;TABLE style="width: 500px;" border="1"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD colspan="1" rowspan="1"&gt;* It must be the private key in clear text, not protected by a passphrase. A protected private key will begin with&amp;nbsp;-----BEGIN ENCRYPTED PRIVATE KEY-----&amp;nbsp;while a clear text private key will begin with&amp;nbsp;-----BEGIN RSA PRIVATE KEY-----&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;In order to decrypt a private key, you can use the command:&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;&lt;STRONG&gt;openssl rsa –in enc.key -out dec.key&lt;/STRONG&gt;&lt;/FONT&gt;&lt;BR /&gt;You will be asked to enter the passphrase for your private key.&lt;BR /&gt;&lt;BR /&gt;Please note that openssl must be installed and you should run this command from the command prompt in the folder where the binary for openssl is installed.&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="samltool1.png" style="width: 965px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/54822iD0930E207B090424/image-size/large?v=v2&amp;amp;px=999" role="button" title="samltool1.png" alt="samltool1.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Related Content:&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A href="https://community.qlik.com/t5/Knowledge-Base/How-To-Use-SAML-Authentication-With-Qlik-Sense/ta-p/1713800" target="_blank" rel="noopener"&gt;How To Use SAML Authentication With Qlik Sense&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jul 2022 11:12:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-decrypt-a-SAML-assertion-or-error-message/ta-p/1710336</guid>
      <dc:creator>Damien_V</dc:creator>
      <dc:date>2022-07-07T11:12:31Z</dc:date>
    </item>
    <item>
      <title>Re: Qlik Sense: How to decrypt a SAML assertion or error message</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-decrypt-a-SAML-assertion-or-error-message/tac-p/2511888#M15598</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/29425"&gt;@Damien_V&lt;/a&gt;&amp;nbsp; we faced an issue with a Custom SAML Idp, when the IdP was signing the entire SAML response. In this case we encountered a 400 error during login. Signing/encrypting the assetion only solved the problem.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Thu, 27 Mar 2025 13:50:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/Qlik-Sense-How-to-decrypt-a-SAML-assertion-or-error-message/tac-p/2511888#M15598</guid>
      <dc:creator>Giovanni_Civardi</dc:creator>
      <dc:date>2025-03-27T13:50:34Z</dc:date>
    </item>
  </channel>
</rss>

