コード例 #1
0
        /// <summary>
        ///     Creates the signature.
        /// </summary>
        /// <param name="fileName">Name of the file.</param>
        /// <externalUnit/>
        /// <revision revisor="dev13" date="2/27/2009" version="1.0.8.1001">
        ///     Member Created
        /// </revision>
        /// <revision revisor="dev05" date="03/02/09" version="1.0.8.13">
        ///     Pass full pathname to SequoiaCryptoProvider.
        /// </revision>
        /// <revision revisor="dev05" date="03/06/09" version="1.0.8.17">
        ///     Tabulator private key now lives in "PrivateKey.xml".
        /// </revision>
        private void CreateSignature(string fileName)
        {
            // create signature
            var sequoiaCryptoProvider = new SequoiaCryptoProvider();

            sequoiaCryptoProvider.CreateSignature(
                Path.Combine(this.pathToFile, fileName));
        }
コード例 #2
0
        /// <summary>
        ///     Creates the encrypted archive.
        /// </summary>
        /// <param name="selectedFolder">The selected folder.</param>
        /// <param name="archiveName">Name of the archive.</param>
        /// <externalUnit/>
        /// <revision revisor="dev13" date="11/18/2009" version="1.1.3.6">
        ///     Added documentation header
        /// </revision>
        private void CreateEncryptedArchive(
            string selectedFolder, string archiveName)
        {
            try
            {
                string publicKey = string.Empty;

                string archiveFileName =
                    string.IsNullOrEmpty(archiveName)
                    ? "TestEncryptedArchive"
                    : archiveName;
                string fullArchiveFilename = archiveFileName + ".zip";
                using (var encryptedArchive = new EncryptedArchive(
                           selectedFolder,
                           fullArchiveFilename,
                           new SequoiaCryptoProvider()))
                {
                    encryptedArchive.OpenWrite(DateTime.Now, true);
                    foreach (
                        string pathName in Directory.GetFiles(selectedFolder))
                    {
                        string fileName = System.IO.Path.GetFileName(pathName);

                        if (fileName == fullArchiveFilename)
                        {
                            continue;
                        }

                        // encryptedArchive.AddFile(fileName);
                        byte[] fileData = File.ReadAllBytes(pathName);

                        encryptedArchive.AddFile(fileData, fileName);
                    }
                }

                var sequoiaProvider = new SequoiaCryptoProvider();
                sequoiaProvider.CreateSignature(
                    Path.Combine(
                        selectedFolder,
                        Path.ChangeExtension(fullArchiveFilename, "enc")));
            }
            catch (Exception exception)
            {
                MessageBox.Show(
                    string.Format(
                        "Error creating encrypted archive: {0}",
                        exception.Message),
                    "Encrypted Archive Creation Failure",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }
        }