<?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 How to setup Key Pair Authentication in Snowflake and How to configure this enhanced security mechanism in Qlik Replicate in Official Support Articles</title>
    <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/ta-p/1987060</link>
    <description>&lt;P&gt;Snowflake supports using key pair authentication for enhanced authentication security as an alternative to basic authentication (i.e. username and password). This article covers end-to-end setup for Key Pair Authentication in Snowflake and Qlik Replicate.&lt;/P&gt;
&lt;P&gt;This authentication method requires, at minimum, a &lt;FONT color="#339966"&gt;&lt;STRONG&gt;2048-bit RSA key pair&lt;/STRONG&gt;&lt;/FONT&gt;. You can generate the Privacy Enhanced Mail (i.e. PEM) private-public key pair using OpenSSL.&lt;/P&gt;
&lt;P&gt;Qlik Replicate will use the ODBC driver to connect snowflake and ODBC is one of the supported clients which will support key pair authentication.&lt;/P&gt;
&lt;P&gt;Let's assume, you decided to use key pair authentication for the Snowflake user which is used in Qlik Replicate to connect to Snowflake. You have to follow the below process to convert user authentication from basic to key pair.&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE class="quote"&gt;When creating a &lt;STRONG&gt;Key Pair&lt;/STRONG&gt; for &lt;STRONG&gt;Qlik Stitch Snowflake 'Destination'&lt;/STRONG&gt; connections, you must set up a &lt;STRONG&gt;nocrypt private key&lt;/STRONG&gt; before creating the public key.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Step 1: Generate the Private Key&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;You can generate either an encrypted version of the private key or an unencrypted version of the private key.&lt;/P&gt;
&lt;P&gt;To generate an unencrypted version use the following command in the command prompt:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;To generate an encrypted version (which omits &lt;FONT face="courier new,courier"&gt;-nocrypt&lt;/FONT&gt;) use:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;In our example case, we generate an encrypted version of a private key.&lt;/P&gt;
&lt;P&gt;We:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open a command prompt&lt;/LI&gt;
&lt;LI&gt;Run&amp;nbsp;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Enter our password&lt;/LI&gt;
&lt;LI&gt;And store the password to use in Qlik Replicate.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_0-1664450480506.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90197iA8C2C50A61070B73/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_0-1664450480506.png" alt="SwathiPulagam_0-1664450480506.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This generates a private key in PEM format:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_1-1664450480508.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90199i5FB9D6E6118AA878/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_1-1664450480508.png" alt="SwathiPulagam_1-1664450480508.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 2: Generate a Public Key&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;From the command line, we generate the public key by referencing the private key. The following command assumes the private key is encrypted and contained in the file named&lt;FONT face="courier new,courier"&gt;&amp;nbsp;rsa_key.p8&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;When it requests a passphrase, use the same password that we generated in &lt;STRONG&gt;step 1&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_2-1664450480509.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90198i49C4D68E3DB74994/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_2-1664450480509.png" alt="SwathiPulagam_2-1664450480509.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This command generates the public key in PEM format:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_3-1664450480511.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90200iC2C058A3282806AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_3-1664450480511.png" alt="SwathiPulagam_3-1664450480511.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Step 3: Store the Private and Public Keys Securely&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Copy the public and private key files to a local directory for storage and record the path to the files. Note that the private key is stored using the &lt;FONT face="courier new,courier"&gt;PKCS#8&lt;/FONT&gt; (Public Key Cryptography Standards) format and is encrypted using the passphrase you specified in the previous step.&lt;/P&gt;
&lt;P&gt;However, the file should still be protected from unauthorized access using the file permission mechanism provided by your operating system. It is your responsibility to secure the file when it is not being used.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 4: Assign the Public Key to a Snowflake User&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Describe the user to see current information. &lt;SPAN&gt;We can see that there is no public key assigned to the HDW user. Therefore, the user needs to use basic authentication.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_4-1664450480513.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90202iF7788F9BBA08C4B0/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_4-1664450480513.png" alt="SwathiPulagam_4-1664450480513.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Execute an&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/alter-user.html" target="_blank" rel="noopener"&gt;ALTER USER&lt;/A&gt;&amp;nbsp;command to assign the public key to a Snowflake user.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_5-1664450480514.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90201i082B1A25140D1FB6/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_5-1664450480514.png" alt="SwathiPulagam_5-1664450480514.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 5: Verify the User’s Public Key Fingerprint&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Execute a&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/desc-user.html" target="_blank" rel="noopener"&gt;DESCRIBE USER&lt;/A&gt;&amp;nbsp;command to verify the user’s public key.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_6-1664450480516.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90204i6219F07117D024E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_6-1664450480516.png" alt="SwathiPulagam_6-1664450480516.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 6: Configure Qlik Replicate to Use snowflake Key Pair Authentication&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="lia-list-style-type-upper-alpha"&gt;
&lt;LI&gt;Enter the snowflake server name and the username that we configured key pair authentication.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_7-1664450480517.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90203iFA85E3468F5609EF/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_7-1664450480517.png" alt="SwathiPulagam_7-1664450480517.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;We need to set the below parameters to set the authentication method as &lt;FONT face="courier new,courier"&gt;SNOWFLAKE_JWT&lt;/FONT&gt;, passing the private key and password from step 1.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_8-1664450480517.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90205i4E2C7BD0D22465C8/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_8-1664450480517.png" alt="SwathiPulagam_8-1664450480517.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Try to do the test connection\browse the database and you can see a missing password error. We can't ignore the password in the endpoint UI and at the same time, we shouldn't enter the password as we are using keypair authentication.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_9-1664450480518.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90206i31715FC60ABA6701/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_9-1664450480518.png" alt="SwathiPulagam_9-1664450480518.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;You can key in a dummy password, such as dummy, dummy123, etc., in the UI to eliminate the missing password error. &lt;BR /&gt;&lt;BR /&gt;Finally, browse the database and do the test connection.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_10-1664450480519.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90207i9845898727CFD7D3/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_10-1664450480519.png" alt="SwathiPulagam_10-1664450480519.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;LI-PRODUCT title="Qlik Replicate" id="qlikReplicate"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;BR /&gt;Snowflake Target&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 25 Feb 2026 12:43:11 GMT</pubDate>
    <dc:creator>SwathiPulagam</dc:creator>
    <dc:date>2026-02-25T12:43:11Z</dc:date>
    <item>
      <title>How to setup Key Pair Authentication in Snowflake and How to configure this enhanced security mechanism in Qlik Replicate</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/ta-p/1987060</link>
      <description>&lt;P&gt;Snowflake supports using key pair authentication for enhanced authentication security as an alternative to basic authentication (i.e. username and password). This article covers end-to-end setup for Key Pair Authentication in Snowflake and Qlik Replicate.&lt;/P&gt;
&lt;P&gt;This authentication method requires, at minimum, a &lt;FONT color="#339966"&gt;&lt;STRONG&gt;2048-bit RSA key pair&lt;/STRONG&gt;&lt;/FONT&gt;. You can generate the Privacy Enhanced Mail (i.e. PEM) private-public key pair using OpenSSL.&lt;/P&gt;
&lt;P&gt;Qlik Replicate will use the ODBC driver to connect snowflake and ODBC is one of the supported clients which will support key pair authentication.&lt;/P&gt;
&lt;P&gt;Let's assume, you decided to use key pair authentication for the Snowflake user which is used in Qlik Replicate to connect to Snowflake. You have to follow the below process to convert user authentication from basic to key pair.&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE class="quote"&gt;When creating a &lt;STRONG&gt;Key Pair&lt;/STRONG&gt; for &lt;STRONG&gt;Qlik Stitch Snowflake 'Destination'&lt;/STRONG&gt; connections, you must set up a &lt;STRONG&gt;nocrypt private key&lt;/STRONG&gt; before creating the public key.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Step 1: Generate the Private Key&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;You can generate either an encrypted version of the private key or an unencrypted version of the private key.&lt;/P&gt;
&lt;P&gt;To generate an unencrypted version use the following command in the command prompt:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;To generate an encrypted version (which omits &lt;FONT face="courier new,courier"&gt;-nocrypt&lt;/FONT&gt;) use:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;In our example case, we generate an encrypted version of a private key.&lt;/P&gt;
&lt;P&gt;We:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open a command prompt&lt;/LI&gt;
&lt;LI&gt;Run&amp;nbsp;&lt;FONT face="courier new,courier"&gt;$ openssl genrsa 2048|openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;Enter our password&lt;/LI&gt;
&lt;LI&gt;And store the password to use in Qlik Replicate.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_0-1664450480506.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90197iA8C2C50A61070B73/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_0-1664450480506.png" alt="SwathiPulagam_0-1664450480506.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This generates a private key in PEM format:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_1-1664450480508.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90199i5FB9D6E6118AA878/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_1-1664450480508.png" alt="SwathiPulagam_1-1664450480508.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 2: Generate a Public Key&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;From the command line, we generate the public key by referencing the private key. The following command assumes the private key is encrypted and contained in the file named&lt;FONT face="courier new,courier"&gt;&amp;nbsp;rsa_key.p8&lt;/FONT&gt;.&lt;/P&gt;
&lt;P&gt;When it requests a passphrase, use the same password that we generated in &lt;STRONG&gt;step 1&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;FONT face="courier new,courier"&gt;openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub&lt;/FONT&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_2-1664450480509.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90198i49C4D68E3DB74994/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_2-1664450480509.png" alt="SwathiPulagam_2-1664450480509.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This command generates the public key in PEM format:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_3-1664450480511.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90200iC2C058A3282806AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_3-1664450480511.png" alt="SwathiPulagam_3-1664450480511.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;FONT color="#339966"&gt;&lt;STRONG&gt;Step 3: Store the Private and Public Keys Securely&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/H4&gt;
&lt;P&gt;Copy the public and private key files to a local directory for storage and record the path to the files. Note that the private key is stored using the &lt;FONT face="courier new,courier"&gt;PKCS#8&lt;/FONT&gt; (Public Key Cryptography Standards) format and is encrypted using the passphrase you specified in the previous step.&lt;/P&gt;
&lt;P&gt;However, the file should still be protected from unauthorized access using the file permission mechanism provided by your operating system. It is your responsibility to secure the file when it is not being used.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 4: Assign the Public Key to a Snowflake User&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Describe the user to see current information. &lt;SPAN&gt;We can see that there is no public key assigned to the HDW user. Therefore, the user needs to use basic authentication.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_4-1664450480513.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90202iF7788F9BBA08C4B0/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_4-1664450480513.png" alt="SwathiPulagam_4-1664450480513.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Execute an&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/alter-user.html" target="_blank" rel="noopener"&gt;ALTER USER&lt;/A&gt;&amp;nbsp;command to assign the public key to a Snowflake user.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_5-1664450480514.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90201i082B1A25140D1FB6/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_5-1664450480514.png" alt="SwathiPulagam_5-1664450480514.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 5: Verify the User’s Public Key Fingerprint&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Execute a&amp;nbsp;&lt;A href="https://docs.snowflake.com/en/sql-reference/sql/desc-user.html" target="_blank" rel="noopener"&gt;DESCRIBE USER&lt;/A&gt;&amp;nbsp;command to verify the user’s public key.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_6-1664450480516.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90204i6219F07117D024E4/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_6-1664450480516.png" alt="SwathiPulagam_6-1664450480516.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Step 6: Configure Qlik Replicate to Use snowflake Key Pair Authentication&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL class="lia-list-style-type-upper-alpha"&gt;
&lt;LI&gt;Enter the snowflake server name and the username that we configured key pair authentication.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_7-1664450480517.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90203iFA85E3468F5609EF/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_7-1664450480517.png" alt="SwathiPulagam_7-1664450480517.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;We need to set the below parameters to set the authentication method as &lt;FONT face="courier new,courier"&gt;SNOWFLAKE_JWT&lt;/FONT&gt;, passing the private key and password from step 1.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_8-1664450480517.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90205i4E2C7BD0D22465C8/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_8-1664450480517.png" alt="SwathiPulagam_8-1664450480517.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;Try to do the test connection\browse the database and you can see a missing password error. We can't ignore the password in the endpoint UI and at the same time, we shouldn't enter the password as we are using keypair authentication.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_9-1664450480518.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90206i31715FC60ABA6701/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_9-1664450480518.png" alt="SwathiPulagam_9-1664450480518.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;You can key in a dummy password, such as dummy, dummy123, etc., in the UI to eliminate the missing password error. &lt;BR /&gt;&lt;BR /&gt;Finally, browse the database and do the test connection.&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SwathiPulagam_10-1664450480519.png" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/90207i9845898727CFD7D3/image-size/large?v=v2&amp;amp;px=999" role="button" title="SwathiPulagam_10-1664450480519.png" alt="SwathiPulagam_10-1664450480519.png" /&gt;&lt;/span&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;FONT color="#339966"&gt;Environment&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;LI-PRODUCT title="Qlik Replicate" id="qlikReplicate"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;BR /&gt;Snowflake Target&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 25 Feb 2026 12:43:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/ta-p/1987060</guid>
      <dc:creator>SwathiPulagam</dc:creator>
      <dc:date>2026-02-25T12:43:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to setup Key Pair Authentication in Snowflake and How to configure this enhanced security mechanism in Qlik Replicate</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/tac-p/2480836#M14558</link>
      <description>&lt;P&gt;Very good instructions here!&lt;BR /&gt;Our information security team wants us to use this method but are not crazy about the private key password just sitting there in plain text.&lt;/P&gt;
&lt;P&gt;Can this process be modified to include calls to applications like Thycotic Secret Server where we'd have the private key password stored? If so, what would that look like?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Andrew&lt;/P&gt;</description>
      <pubDate>Tue, 10 Sep 2024 20:08:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/tac-p/2480836#M14558</guid>
      <dc:creator>aklevay-NMDP</dc:creator>
      <dc:date>2024-09-10T20:08:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to setup Key Pair Authentication in Snowflake and How to configure this enhanced security mechanism in Qlik Replicate</title>
      <link>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/tac-p/2545106#M16948</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Which version of Replicate first supports key pair authentication?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Mohammed&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2026 04:08:10 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Official-Support-Articles/How-to-setup-Key-Pair-Authentication-in-Snowflake-and-How-to/tac-p/2545106#M16948</guid>
      <dc:creator>MoeE</dc:creator>
      <dc:date>2026-03-19T04:08:10Z</dc:date>
    </item>
  </channel>
</rss>

