示例#1
0
        public void ToString_ValidPairingRecord()
        {
            var raw  = File.ReadAllText("Lockdown/0123456789abcdef0123456789abcdef01234567.plist");
            var dict = (NSDictionary)XmlPropertyListParser.ParseString(raw);

            var pairingRecord = PairingRecord.Read(dict);

            Assert.Equal("HostId: 01234567-012345678901234567, SystemBUID: 01234567890123456789012345, Host certificate: EE63391AA1FBA937E2784CC7DAAA9C22BA223B54 (expires: 2026-11-28 11:20:17Z)", pairingRecord.ToString());
        }
示例#2
0
        public void ToPropertyList_ExcludesPrivateKeysIfRequired()
        {
            var raw  = File.ReadAllText("Lockdown/0123456789abcdef0123456789abcdef01234567.plist");
            var dict = (NSDictionary)XmlPropertyListParser.ParseString(raw);

            var pairingRecord  = PairingRecord.Read(dict);
            var serializedDict = pairingRecord.ToPropertyList(includePrivateKeys: false);

            Assert.False(serializedDict.ContainsKey("HostPrivateKey"));
            Assert.False(serializedDict.ContainsKey("RootPrivateKey"));
        }
示例#3
0
        public void XmlRoundTripTest()
        {
            UID original = new UID(0xabcd);

            string plist = original.ToXmlPropertyList();

            // UIDs don't exist in XML property lists, but they are represented as strings
            // for compability purposes
            NSString roundtrip = XmlPropertyListParser.ParseString(plist) as NSString;

            Assert.Equal("abcd", roundtrip.ToObject());
        }
示例#4
0
        public void ToPropertyList_NoPrivateKeys_Works()
        {
            var raw  = File.ReadAllText("Lockdown/0123456789abcdef0123456789abcdef01234567.plist");
            var dict = (NSDictionary)XmlPropertyListParser.ParseString(raw);

            var pairingRecord = PairingRecord.Read(dict);

            pairingRecord.HostPrivateKey = null;
            pairingRecord.RootPrivateKey = null;
            var serializedDict = pairingRecord.ToPropertyList();

            Assert.Equal(dict.Keys.Count - 2, serializedDict.Keys.Count);
        }
示例#5
0
        public void ToPropertyList_Works()
        {
            var raw  = File.ReadAllText("Lockdown/0123456789abcdef0123456789abcdef01234567.plist");
            var dict = (NSDictionary)XmlPropertyListParser.ParseString(raw);

            var pairingRecord  = PairingRecord.Read(dict);
            var serializedDict = pairingRecord.ToPropertyList();

            Assert.Equal(dict.Keys, serializedDict.Keys);

            foreach (var key in dict.Keys)
            {
                Assert.Equal(dict[key], serializedDict[key]);
            }

            var xml = serializedDict.ToXmlPropertyList();

            Assert.Equal(raw, xml, ignoreLineEndingDifferences: true);
        }