コード例 #1
0
ファイル: UnitTest1.cs プロジェクト: CodeFork/b2_autopush
        public void B2UploadTest()
        {
            BUCommon.AccountList accts = BackupLib.AccountBuilder.BuildAccounts();
            var acct = accts.accounts.FirstOrDefault();

            Assert.AreEqual("CommB2.Connection", acct.svcName);
            acct.service.authorize();

            var cont = acct.service.getContainers().FirstOrDefault();

            Assert.IsNotNull(cont);
            string srcfile = "c:\\tmp\\photos\\2016\\1231-newyears\\DSC06562.ARW";
            var    ff      = new BUCommon.FreezeFile {
                path = "2016/1231-newyears/DSC06562.ARW"
            };

            var rsa     = BackupLib.KeyLoader.LoadRSAKey("c:\\tmp\\id_rsa_1_pub");
            var fe      = new BackupLib.FileEncrypt(rsa);
            var fs      = ff.readStream("c:\\tmp\\photos");
            var encstrm = fe.encrypt(fs);
            var sha1    = System.Security.Cryptography.SHA1Cng.Create();

            var res = sha1.ComputeHash(encstrm);

            encstrm.Seek(0, System.IO.SeekOrigin.Begin);

            DateTime now = DateTime.Now;
            var      td  = acct.service.threadStart();

            acct.service.uploadFile(td, cont, ff, encstrm, null);
            acct.service.threadStop(td);
            Assert.AreEqual(2017, ff.uploaded.Year);
            Assert.AreEqual(now.Month, ff.uploaded.Month);
            Assert.AreEqual(now.Day, ff.uploaded.Day);
        }
コード例 #2
0
        public void TestFileDecrypt()
        {
            var encbytes = new MemoryStream(Convert.FromBase64String(_ENCRYPTED));

            /*
             * var destfile = new FileStream("c:\\tmp\\encfile.enc", FileMode.Open, FileAccess.Read, FileShare.Read);
             * destfile.CopyTo(encbytes);
             * destfile.Dispose();
             */

            var destfile = new FileStream("c:\\tmp\\encfile.ok", FileMode.Create, FileAccess.ReadWrite, FileShare.Read);

            encbytes.Seek(0, SeekOrigin.Begin);

            var rsa1 = _loadRSA(Encrypting._PRIVATEKEY);

            BackupLib.FileEncrypt dec = new BackupLib.FileEncrypt(rsa1);
            dec.decrypt(encbytes, destfile);
        }
コード例 #3
0
        public void B2SHA1()
        {
            var destHash = "eeea523c2b2dd9415c657556e45f73be993d7979";
            var hash     = BUCommon.Hash.FromString("SHA1", destHash);

            var fe = new BackupLib.FileEncrypt(null);

            BUCommon.Hash filehash  = null;
            byte[]        filebytes = null;
            {
                var strm = new System.IO.FileStream(@"C:\tmp\b2test\cont1\2016\1231-newyears\DSC06560.ARW", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite);
                filehash = fe.hashContents("SHA1", strm);

                strm.Seek(0, System.IO.SeekOrigin.Begin);
                var    mstr = new System.IO.MemoryStream();
                byte[] buff = new byte[8192];
                int    len  = 0;
                while (true)
                {
                    len = strm.Read(buff, 0, buff.Length);
                    if (len > 0)
                    {
                        mstr.Write(buff, 0, len);
                    }
                    if (len == 0)
                    {
                        break;
                    }
                }

                strm.Dispose();
                strm = null;

                filebytes = mstr.ToArray();
                mstr.Dispose();
                mstr = null;
            }

            string b2nethash = B2Net.Utilities.GetSHA1Hash(filebytes);


            Assert.That(hash.base64, Is.EqualTo(filehash.base64));
        }
コード例 #4
0
        public void TestFileEncrypt()
        {
            var rsa = _loadRSA(Encrypting._PUBKEY);

            BackupLib.FileEncrypt enc = new BackupLib.FileEncrypt(rsa);
            //var srcfile = new FileStream("c:\\tmp\\foo.txt"/*"c:\\temp\\dumps\\ttirdreport.20170116_134248.xml"*/, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            var srcfile  = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(Encrypting._PUBKEY));
            var encbytes = enc.encrypt(srcfile);

            /* persist the encrypted file. */
            var destfile = new FileStream("c:\\tmp\\encfile.enc", FileMode.Create, FileAccess.ReadWrite, FileShare.Read);

            encbytes.WriteTo(destfile);
            destfile.Flush();
            encbytes.Seek(0, SeekOrigin.Begin);

            destfile.Dispose();

            var b64 = Convert.ToBase64String(encbytes.ToArray());
        }
コード例 #5
0
ファイル: Class1.cs プロジェクト: cptnalf/b2_autopush
        public void TestFileEncrypt()
        {
            var sw = new System.Diagnostics.Stopwatch();

            sw.Start();
            var rsa = _loadRSA(Encrypting._PUBKEY);

            BackupLib.FileEncrypt enc = new BackupLib.FileEncrypt(rsa);
            //var srcfile = new FileStream("c:\\tmp\\foo.txt"/*"c:\\temp\\dumps\\ttirdreport.20170116_134248.xml"*/, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
            //var srcfile = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(Encrypting._PUBKEY));
            var srcfile = new FileStream("/data2/photos/source/alpha7/2020/09-oregon/0930/DSC00773.ARW"
                                         , FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite);

            var encbytes = enc.encrypt(srcfile);

            /* persist the encrypted file. */
            var destpath = "c:\\tmp\\encfile.enc";

            if (System.Environment.OSVersion.Platform == PlatformID.Unix)
            {
                destpath = "/data2/temp/foo.net.tst";
            }
            var destfile = new FileStream(destpath, FileMode.Create, FileAccess.ReadWrite, FileShare.Read);

            encbytes.WriteTo(destfile);
            destfile.Flush();
            encbytes.Seek(0, SeekOrigin.Begin);

            destfile.Dispose();
            destfile = null;
            srcfile  = null;
            sw.Stop();
            TestContext.Progress.WriteLine("enc took {0:00}m {1:00}.{2:000}s", sw.Elapsed.Minutes, sw.Elapsed.Seconds, sw.Elapsed.Milliseconds);

            var b64 = Convert.ToBase64String(encbytes.ToArray());
        }