blob: 2fbe93311d2d2dde777f0efee1d9b457a1d905a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
using System.Xml.Linq;
using mRemoteNG.Config.Serializers;
using mRemoteNG.Connection;
using mRemoteNG.Container;
using mRemoteNG.Security;
using mRemoteNG.Tree;
using mRemoteNG.Tree.Root;
using NUnit.Framework;
namespace mRemoteNGTests.Config.Serializers
{
public class XmlConnectionsDocumentEncryptorTests
{
private XmlConnectionsDocumentEncryptor _documentEncryptor;
private XDocument _originalDocument;
[SetUp]
public void Setup()
{
var connectionTreeModel = SetupConnectionTreeModel();
var cryptoProvider = new CryptographyProviderFactory().CreateAeadCryptographyProvider(BlockCipherEngines.AES, BlockCipherModes.GCM);
var saveFilter = new SaveFilter();
_originalDocument = new XmlConnectionsDocumentCompiler(cryptoProvider, saveFilter).CompileDocument(connectionTreeModel, false, false);
_documentEncryptor = new XmlConnectionsDocumentEncryptor(cryptoProvider);
}
[Test]
public void RootNodeValueIsEncrypted()
{
var encryptedDocument = _documentEncryptor.EncryptDocument(_originalDocument, "mR3m".ConvertToSecureString());
var encryptedContent = encryptedDocument.Root?.Value;
Assert.That(encryptedContent, Is.Not.EqualTo(string.Empty));
}
private ConnectionTreeModel SetupConnectionTreeModel()
{
/*
* Root
* |--- con0
* |--- folder1
* | L--- con1
* L--- folder2
* |--- con2
* L--- folder3
* |--- con3
* L--- con4
*/
var connectionTreeModel = new ConnectionTreeModel();
var rootNode = new RootNodeInfo(RootNodeType.Connection);
var folder1 = new ContainerInfo { Name = "folder1" };
var folder2 = new ContainerInfo { Name = "folder2" };
var folder3 = new ContainerInfo { Name = "folder3" };
var con0 = new ConnectionInfo { Name = "con0" };
var con1 = new ConnectionInfo { Name = "con1" };
var con2 = new ConnectionInfo { Name = "con2" };
var con3 = new ConnectionInfo { Name = "con3" };
var con4 = new ConnectionInfo { Name = "con4" };
rootNode.AddChild(folder1);
rootNode.AddChild(folder2);
rootNode.AddChild(con0);
folder1.AddChild(con1);
folder2.AddChild(con2);
folder2.AddChild(folder3);
folder3.AddChild(con3);
folder3.AddChild(con4);
connectionTreeModel.AddRootNode(rootNode);
return connectionTreeModel;
}
}
}
|