Exemple #1
0
        private void InitializePublicKeyTokens()
        {
            this._knownPublicKeyTokens = new Dictionary <int, byte[]>();
            var keysNode = this.XmlNode.DocumentElement.SelectSingleNode("./vre:PublicKeys", this.XmlNamespaceManager);

            if (keysNode != null)
            {
                var xnlKeys = keysNode.SelectNodes("./vre:PublicKey", this.XmlNamespaceManager);
                if (xnlKeys != null && xnlKeys.Count > 0)
                {
                    foreach (XmlElement element in xnlKeys)
                    {
                        int id = XmlExtensions.ParseAttribute(element, "Id");
                        if (id != -1)
                        {
                            byte[] token = XmlExtensions.ParseAttribute <byte[]>(element, "Token", (str, def) =>
                            {
                                try
                                {
                                    return(StringHandling.FromFormatHexadecimal(str));
                                }
                                catch (Exception e)
                                {
                                    return(def);
                                }
                            }, new byte[0]);
                            if (token != null && token.Length == 8)
                            {
                                this._knownPublicKeyTokens.Add(id, token);
                            }
                        }
                    }
                }
            }
        }
Exemple #2
0
        private IControlledDictionary <TVersion, IVreLibraryVersion <TEnvironment, TVersion, TIdentityManager> > InitializeVersions()
        {
            XmlElement lastVHistory = null;

            return(new ControlledDictionary <TVersion, IVreLibraryVersion <TEnvironment, TVersion, TIdentityManager> >(
                       (from v in this.Environment.Versions
                        where v >= this.InitialVersion
                        join vh in this.VersionHistory on v equals vh.Value into vhJoin
                        from vh in vhJoin.DefaultIfEmpty()
                        where vh.Key != null
                        let versionDetails = vh.Key == null ? lastVHistory : (lastVHistory = vh.Key)
                                             select(IVreLibraryVersion <TEnvironment, TVersion, TIdentityManager>) new VreXmlLibraryVersion <TEnvironment, TVersion, TIdentityManager>(v, this, GetVersionFromHistoryEntry(versionDetails), XmlExtensions.ParseAttribute(versionDetails, "PublicKeyId"))).ToDictionary(k => k.Version, v => v)));
        }