/// <summary>
        ///     Gets the public key.
        /// </summary>
        /// <param name="shortKey">if set to <c>true</c> [short key].</param>
        /// <returns>A string containing the public key</returns>
        /// <externalUnit/>
        /// <revision revisor="dev01" date="4/23/2009" version="1.0.11.10">
        ///     Member Created
        /// </revision>
        public static string GetPublicKey(bool shortKey)
        {
            string publicKey = string.Empty;

            using (var crypto = new SequoiaCryptoProvider(shortKey))
            {
                publicKey = crypto.GetPrivateKey();
            }

            return(publicKey);
        }
        /// <summary>
        ///     Decrypts to file.
        /// </summary>
        /// <param name="fullPathToArchive">The full path to archive.</param>
        /// <param name="pathToDecryptedFile">The path to decrypted file.</param>
        /// <param name="crypto">The crypto.</param>
        /// <returns>
        ///     <c>true</c> if decrypted; otherwise, <c>false</c>.
        /// </returns>
        /// <externalUnit/>
        /// <revision revisor="dev13" date="11/17/2009" version="1.1.3.5">
        ///     Added documentation header
        /// </revision>
        private bool DecryptToFile(
            string fullPathToArchive,
            string pathToDecryptedFile,
            SequoiaCryptoProvider crypto)
        {
            bool decrypted = false;

            try
            {
                // decrypt bytes so we have the zip stream again
                this.sequoiaProvider.DecryptFile(
                    fullPathToArchive,
                    pathToDecryptedFile,
                    crypto.GetPrivateKey(),
                    true);

                decrypted = File.Exists(pathToDecryptedFile);
            }
            catch (Exception)
            {
            }

            return(decrypted);
        }