Need help on password-encrypted key used for signing.http://forums.asp.net/t/1313494.aspx/1?Need+help+on+password+encrypted+key+used+for+signing+Thu, 09 May 2013 13:00:40 -040013134942592028http://forums.asp.net/p/1313494/2592028.aspx/1?Need+help+on+password+encrypted+key+used+for+signing+Need help on password-encrypted key used for signing. <p>Hello Friends,</p> <p>I have one project [out-sourced]&nbsp;which ask me for &quot;The project includes a password-encrypted key used for signing&quot;.</p> <p>Its window application having 5-6 sub project and its in Orcas., while loading the project its show me the dialouge to enter passoword, if I escape then while building application it ask for same and build gets failed, with error Error&nbsp;1&nbsp;Importing key file &quot;abc.bbc.Data.pfx&quot; was canceled. [as I press escape on dialouge box]</p> <p>Any comment any suggession any solutions?</p> <p>&nbsp;</p> 2008-09-01T05:00:00-04:002592690http://forums.asp.net/p/1313494/2592690.aspx/1?Re+Need+help+on+password+encrypted+key+used+for+signing+Re: Need help on password-encrypted key used for signing. <p>&nbsp;string l_TempPassword = CryptorEngine.Encrypt(</p> <p><wbr>txtPassword.Text, true); <br> </p> <p>&nbsp;</p> public class CryptorEngine<br> &nbsp;&nbsp;&nbsp; {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;summary&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// Encrypt a string using dual encryption method. Return a encrypted cipher Text<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name=&quot;toEncrypt&quot;&gt;string to be encrypted&lt;/param&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name=&quot;useHashing&quot;&gt;use hashing? send to for extra secirity&lt;/param&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;returns&gt;&lt;/returns&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static string Encrypt(string toEncrypt, bool useHashing)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] keyArray;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes( <p><wbr>toEncrypt);<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // System.Configuration.<wbr>AppSettingsReader settingsReader = new AppSettingsReader();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the key from config file<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; string key = (string)settingsReader.<wbr>GetValue(&quot;rakhicrypto&quot;, typeof(String));<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string key = &quot;rakhicrypto&quot;;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //System.Windows.Forms.<wbr>MessageBox.Show(key);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (useHashing)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyArray = hashmd5.ComputeHash(<wbr>UTF8Encoding.UTF8.GetBytes(<wbr>key));<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hashmd5.Clear();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyArray = UTF8Encoding.UTF8.GetBytes(<wbr>key);<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider<wbr>();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Key = keyArray;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Mode = CipherMode.ECB;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Padding = PaddingMode.PKCS7;<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ICryptoTransform cTransform = tdes.CreateEncryptor();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] resultArray = cTransform.<wbr>TransformFinalBlock(<wbr>toEncryptArray, 0, toEncryptArray.Length);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Clear();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Convert.ToBase64String(<wbr>resultArray, 0, resultArray.Length);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;summary&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// DeCrypt a string using dual encryption method. Return a DeCrypted clear string<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;/summary&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name=&quot;cipherString&quot;&gt;encrypted string&lt;/param&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;param name=&quot;useHashing&quot;&gt;Did you use hashing to encrypt this data? pass true is yes&lt;/param&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /// &lt;returns&gt;&lt;/returns&gt;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static string Decrypt(string cipherString, bool useHashing)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] keyArray;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] toEncryptArray = Convert.FromBase64String(<wbr>cipherString);<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // System.Configuration.<wbr>AppSettingsReader settingsReader = new AppSettingsReader();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Get your key from config file to open the lock!<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //string key = (string)settingsReader.<wbr>GetValue(&quot;rakhicrypto&quot;, typeof(String));<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string key = &quot;rakhicrypto&quot;;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (useHashing)<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyArray = hashmd5.ComputeHash(<wbr>UTF8Encoding.UTF8.GetBytes(<wbr>key));<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hashmd5.Clear();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyArray = UTF8Encoding.UTF8.GetBytes(<wbr>key);<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider<wbr>();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Key = keyArray;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Mode = CipherMode.ECB;<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Padding = PaddingMode.PKCS7;<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ICryptoTransform cTransform = tdes.CreateDecryptor();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] resultArray = cTransform.<wbr>TransformFinalBlock(<wbr>toEncryptArray, 0, toEncryptArray.Length);<br> <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tdes.Clear();<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return UTF8Encoding.UTF8.GetString(<wbr>resultArray);<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br> &nbsp;&nbsp;&nbsp; } </p> 2008-09-01T10:31:33-04:002592886http://forums.asp.net/p/1313494/2592886.aspx/1?Re+Need+help+on+password+encrypted+key+used+for+signing+Re: Need help on password-encrypted key used for signing. <p>Hi,</p> <p>Thanks Saminathan for the reply,</p> <p>But I dont think this is the solution that I am looking for, When I open the solution at that time its asking for password. </p> <p>What I need is to remove that password dialouge box. </p> 2008-09-01T12:13:01-04:004268487http://forums.asp.net/p/1313494/4268487.aspx/1?Re+Need+help+on+password+encrypted+key+used+for+signing+Re: Need help on password-encrypted key used for signing. <p>Open the project properties -&gt; signing&nbsp;</p> <p align="left">UnCheck options:</p> <p align="left">1. Sign the clickonce manifests</p> <p align="left">2. Sign the assembly</p> <p align="left">Save the project and <strong>build</strong> the solution. Then re-open it will not promp for password anymore.</p> 2011-01-24T08:35:42-05:005387784http://forums.asp.net/p/1313494/5387784.aspx/1?Re+Need+help+on+password+encrypted+key+used+for+signing+Re: Need help on password-encrypted key used for signing. <p>Thanks, it is working.</p> 2013-05-08T08:26:18-04:005389227http://forums.asp.net/p/1313494/5389227.aspx/1?Re+Need+help+on+password+encrypted+key+used+for+signing+Re: Need help on password-encrypted key used for signing. <p>Mark it as answer whichever solution worked for you.</p> 2013-05-09T13:00:40-04:00