public void HttpService050Test()
        {
            using (var clientChannel = new HttpServiceChannel(new Uri("http://192.168.0.235:5000/api/safevault")))
            {
                clientChannel.CipherLib["rsa-public"]  = RsaCipher.LoadFromPEM($"data\\server\\server.pem");
                clientChannel.CipherLib["rsa-private"] = RsaCipher.LoadFromPEM($"data\\client\\test-user\\cer.pem", $"data\\client\\test-user\\cer.pem.key");

                var dbxData = Random.Get(3838);

                var qm = new QueryMessage {
                    Command = "dbx-Upload"
                };
                qm.Params["username"]      = "******";
                qm.Params["uuid"]          = "safevault";
                qm.Params["password"]      = "******";
                qm.Params["md5"]           = Security.Hash.MD5(dbxData);
                qm.Params["last-modified"] = "2017-01-01 12:00:00Z";

                clientChannel.Encrypt();
                clientChannel.WriteObject(qm);
                clientChannel.Write(dbxData);
                clientChannel.Post();

                var response = clientChannel.ReadObject <ResponseMessage>();
                Console.WriteLine(response.StatusCode + " " + response.StatusText);
                Assert.AreEqual(200, response.StatusCode);
                Console.WriteLine(response.Header["data"]);
            }
        }
示例#2
0
        public void RsaCipher020Test()
        {
            var location = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            using (var cipher1 = RsaCipher.LoadFromPEM($"{location}\\data\\client\\test-user\\cer.pem"))
                using (var cipher2 = RsaCipher.LoadFromPEM($"{location}\\data\\client\\test-user\\cer.pem", $"{location}\\data\\client\\test-user\\cer.pem.key"))
                {
                    var content    = Random.Get(32);
                    var contentEnc = cipher1.Encrypt(content);
                    var contentDec = cipher2.Decrypt(contentEnc);
                    Assert.AreEqual(content, contentDec);
                }
        }