Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Security / Permissions / StrongNameIdentityPermission.cs / 1 / StrongNameIdentityPermission.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // StrongNameIdentityPermission.cs // namespace System.Security.Permissions { using System; using SecurityElement = System.Security.SecurityElement; using System.Security.Util; using System.IO; using String = System.String; using Version = System.Version; using System.Security.Policy; using System.Collections; using System.Globalization; // The only difference between this class and System.Security.Policy.StrongName is that this one // allows m_name to be null. We should merge this class with System.Security.Policy.StrongName [Serializable()] sealed internal class StrongName2 { public StrongNamePublicKeyBlob m_publicKeyBlob; public String m_name; public Version m_version; public StrongName2(StrongNamePublicKeyBlob publicKeyBlob, String name, Version version) { m_publicKeyBlob = publicKeyBlob; m_name = name; m_version = version; } public StrongName2 Copy() { return new StrongName2(m_publicKeyBlob, m_name, m_version); } public bool IsSubsetOf(StrongName2 target) { // This StrongName2 is a subset of the target if it's public key blob is null no matter what if (this.m_publicKeyBlob == null) return true; // Subsets are always false if the public key blobs do not match if (!this.m_publicKeyBlob.Equals( target.m_publicKeyBlob )) return false; // We use null in strings to represent the "Anything" state. // Therefore, the logic to detect an individual subset is: // // 1. If the this string is null ("Anything" is a subset of any other). // 2. If the this string and target string are the same (equality is sufficient for a subset). // // The logic is reversed here to discover things that are not subsets. if (this.m_name != null) { if (target.m_name == null || !System.Security.Policy.StrongName.CompareNames( target.m_name, this.m_name )) return false; } if ((Object) this.m_version != null) { if ((Object) target.m_version == null || target.m_version.CompareTo( this.m_version ) != 0) { return false; } } return true; } public StrongName2 Intersect(StrongName2 target) { if (target.IsSubsetOf( this )) return target.Copy(); else if (this.IsSubsetOf( target )) return this.Copy(); else return null; } public bool Equals(StrongName2 target) { if (!target.IsSubsetOf(this)) return false; if (!this.IsSubsetOf(target)) return false; return true; } } [System.Runtime.InteropServices.ComVisible(true)] [Serializable()] sealed public class StrongNameIdentityPermission : CodeAccessPermission, IBuiltInPermission { //------------------------------------------------------ // // PRIVATE STATE DATA // //----------------------------------------------------- private bool m_unrestricted; private StrongName2[] m_strongNames; //----------------------------------------------------- // // PUBLIC CONSTRUCTORS // //----------------------------------------------------- public StrongNameIdentityPermission(PermissionState state) { if (state == PermissionState.Unrestricted) { if(CodeAccessSecurityEngine.DoesFullTrustMeanFullTrust()) m_unrestricted = true; else throw new ArgumentException(Environment.GetResourceString("Argument_UnrestrictedIdentityPermission")); } else if (state == PermissionState.None) { m_unrestricted = false; } else { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidPermissionState")); } } public StrongNameIdentityPermission( StrongNamePublicKeyBlob blob, String name, Version version ) { if (blob == null) throw new ArgumentNullException( "blob" ); if (name != null && name.Equals( "" )) throw new ArgumentException( Environment.GetResourceString( "Argument_EmptyStrongName" ) ); m_unrestricted = false; m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(blob, name, version); } //------------------------------------------------------ // // PUBLIC ACCESSOR METHODS // //----------------------------------------------------- public StrongNamePublicKeyBlob PublicKey { set { if (value == null) throw new ArgumentNullException( "PublicKey" ); m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_publicKeyBlob = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(value, "", new Version()); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return null; if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_publicKeyBlob; } } public String Name { set { if (value != null && value.Length == 0) throw new ArgumentException( Environment.GetResourceString("Argument_EmptyName" )); m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_name = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(null, value, new Version()); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return ""; if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_name; } } public Version Version { set { m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_version = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(null, "", value); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return new Version(); if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_version; } } //------------------------------------------------------ // // PRIVATE AND PROTECTED HELPERS FOR ACCESSORS AND CONSTRUCTORS // //------------------------------------------------------ //----------------------------------------------------- // // CODEACCESSPERMISSION IMPLEMENTATION // //------------------------------------------------------ //----------------------------------------------------- // // IPERMISSION IMPLEMENTATION // //----------------------------------------------------- public override IPermission Copy() { StrongNameIdentityPermission perm = new StrongNameIdentityPermission(PermissionState.None); perm.m_unrestricted = this.m_unrestricted; if(this.m_strongNames != null) { perm.m_strongNames = new StrongName2[this.m_strongNames.Length]; int n; for(n = 0; n < this.m_strongNames.Length; n++) perm.m_strongNames[n] = this.m_strongNames[n].Copy(); } return perm; } public override bool IsSubsetOf(IPermission target) { if (target == null) { if(m_unrestricted) return false; if(m_strongNames == null) return true; if(m_strongNames.Length == 0) return true; return false; } StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(that.m_unrestricted) return true; if(m_unrestricted) return false; if(this.m_strongNames != null) { foreach(StrongName2 snThis in m_strongNames) { bool bOK = false; if(that.m_strongNames != null) { foreach(StrongName2 snThat in that.m_strongNames) { if(snThis.IsSubsetOf(snThat)) { bOK = true; break; } } } if(!bOK) return false; } } return true; } public override IPermission Intersect(IPermission target) { if (target == null) return null; StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(this.m_unrestricted && that.m_unrestricted) { StrongNameIdentityPermission res = new StrongNameIdentityPermission(PermissionState.None); res.m_unrestricted = true; return res; } if(this.m_unrestricted) return that.Copy(); if(that.m_unrestricted) return this.Copy(); if(this.m_strongNames == null || that.m_strongNames == null || this.m_strongNames.Length == 0 || that.m_strongNames.Length == 0) return null; ArrayList alStrongNames = new ArrayList(); foreach(StrongName2 snThis in this.m_strongNames) { foreach(StrongName2 snThat in that.m_strongNames) { StrongName2 snInt = (StrongName2)snThis.Intersect(snThat); if(snInt != null) alStrongNames.Add(snInt); } } if(alStrongNames.Count == 0) return null; StrongNameIdentityPermission result = new StrongNameIdentityPermission(PermissionState.None); result.m_strongNames = (StrongName2[])alStrongNames.ToArray(typeof(StrongName2)); return result; } public override IPermission Union(IPermission target) { if (target == null) { if((this.m_strongNames == null || this.m_strongNames.Length == 0) && !this.m_unrestricted) return null; return this.Copy(); } StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(this.m_unrestricted || that.m_unrestricted) { StrongNameIdentityPermission res = new StrongNameIdentityPermission(PermissionState.None); res.m_unrestricted = true; return res; } if (this.m_strongNames == null || this.m_strongNames.Length == 0) { if(that.m_strongNames == null || that.m_strongNames.Length == 0) return null; return that.Copy(); } if(that.m_strongNames == null || that.m_strongNames.Length == 0) return this.Copy(); ArrayList alStrongNames = new ArrayList(); foreach(StrongName2 snThis in this.m_strongNames) alStrongNames.Add(snThis); foreach(StrongName2 snThat in that.m_strongNames) { bool bDupe = false; foreach(StrongName2 sn in alStrongNames) { if(snThat.Equals(sn)) { bDupe = true; break; } } if(!bDupe) alStrongNames.Add(snThat); } StrongNameIdentityPermission result = new StrongNameIdentityPermission(PermissionState.None); result.m_strongNames = (StrongName2[])alStrongNames.ToArray(typeof(StrongName2)); return result; } public override void FromXml(SecurityElement e) { m_unrestricted = false; m_strongNames = null; CodeAccessPermission.ValidateElement( e, this ); String unr = e.Attribute( "Unrestricted" ); if(unr != null && String.Compare(unr, "true", StringComparison.OrdinalIgnoreCase) == 0) { m_unrestricted = true; return; } String elBlob = e.Attribute("PublicKeyBlob"); String elName = e.Attribute("Name"); String elVersion = e.Attribute("AssemblyVersion"); StrongName2 sn; ArrayList al = new ArrayList(); if(elBlob != null || elName != null || elVersion != null) { sn = new StrongName2( (elBlob == null ? null : new StrongNamePublicKeyBlob(elBlob)), elName, (elVersion == null ? null : new Version(elVersion))); al.Add(sn); } ArrayList alChildren = e.Children; if(alChildren != null) { foreach(SecurityElement child in alChildren) { elBlob = child.Attribute("PublicKeyBlob"); elName = child.Attribute("Name"); elVersion = child.Attribute("AssemblyVersion"); if(elBlob != null || elName != null || elVersion != null) { sn = new StrongName2( (elBlob == null ? null : new StrongNamePublicKeyBlob(elBlob)), elName, (elVersion == null ? null : new Version(elVersion))); al.Add(sn); } } } if(al.Count != 0) m_strongNames = (StrongName2[])al.ToArray(typeof(StrongName2)); } public override SecurityElement ToXml() { SecurityElement esd = CodeAccessPermission.CreatePermissionElement( this, "System.Security.Permissions.StrongNameIdentityPermission" ); if (m_unrestricted) esd.AddAttribute( "Unrestricted", "true" ); else if (m_strongNames != null) { if (m_strongNames.Length == 1) { if (m_strongNames[0].m_publicKeyBlob != null) esd.AddAttribute("PublicKeyBlob", Hex.EncodeHexString(m_strongNames[0].m_publicKeyBlob.PublicKey)); if (m_strongNames[0].m_name != null) esd.AddAttribute("Name", m_strongNames[0].m_name); if ((Object)m_strongNames[0].m_version != null) esd.AddAttribute("AssemblyVersion", m_strongNames[0].m_version.ToString()); } else { int n; for(n = 0; n < m_strongNames.Length; n++) { SecurityElement child = new SecurityElement("StrongName"); if (m_strongNames[n].m_publicKeyBlob != null) child.AddAttribute("PublicKeyBlob", Hex.EncodeHexString(m_strongNames[n].m_publicKeyBlob.PublicKey)); if (m_strongNames[n].m_name != null) child.AddAttribute("Name", m_strongNames[n].m_name); if ((Object)m_strongNames[n].m_version != null) child.AddAttribute("AssemblyVersion", m_strongNames[n].m_version.ToString()); esd.AddChild(child); } } } return esd; } ///int IBuiltInPermission.GetTokenIndex() { return StrongNameIdentityPermission.GetTokenIndex(); } internal static int GetTokenIndex() { return BuiltInPermissionIndex.StrongNameIdentityPermissionIndex; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // StrongNameIdentityPermission.cs // namespace System.Security.Permissions { using System; using SecurityElement = System.Security.SecurityElement; using System.Security.Util; using System.IO; using String = System.String; using Version = System.Version; using System.Security.Policy; using System.Collections; using System.Globalization; // The only difference between this class and System.Security.Policy.StrongName is that this one // allows m_name to be null. We should merge this class with System.Security.Policy.StrongName [Serializable()] sealed internal class StrongName2 { public StrongNamePublicKeyBlob m_publicKeyBlob; public String m_name; public Version m_version; public StrongName2(StrongNamePublicKeyBlob publicKeyBlob, String name, Version version) { m_publicKeyBlob = publicKeyBlob; m_name = name; m_version = version; } public StrongName2 Copy() { return new StrongName2(m_publicKeyBlob, m_name, m_version); } public bool IsSubsetOf(StrongName2 target) { // This StrongName2 is a subset of the target if it's public key blob is null no matter what if (this.m_publicKeyBlob == null) return true; // Subsets are always false if the public key blobs do not match if (!this.m_publicKeyBlob.Equals( target.m_publicKeyBlob )) return false; // We use null in strings to represent the "Anything" state. // Therefore, the logic to detect an individual subset is: // // 1. If the this string is null ("Anything" is a subset of any other). // 2. If the this string and target string are the same (equality is sufficient for a subset). // // The logic is reversed here to discover things that are not subsets. if (this.m_name != null) { if (target.m_name == null || !System.Security.Policy.StrongName.CompareNames( target.m_name, this.m_name )) return false; } if ((Object) this.m_version != null) { if ((Object) target.m_version == null || target.m_version.CompareTo( this.m_version ) != 0) { return false; } } return true; } public StrongName2 Intersect(StrongName2 target) { if (target.IsSubsetOf( this )) return target.Copy(); else if (this.IsSubsetOf( target )) return this.Copy(); else return null; } public bool Equals(StrongName2 target) { if (!target.IsSubsetOf(this)) return false; if (!this.IsSubsetOf(target)) return false; return true; } } [System.Runtime.InteropServices.ComVisible(true)] [Serializable()] sealed public class StrongNameIdentityPermission : CodeAccessPermission, IBuiltInPermission { //------------------------------------------------------ // // PRIVATE STATE DATA // //----------------------------------------------------- private bool m_unrestricted; private StrongName2[] m_strongNames; //----------------------------------------------------- // // PUBLIC CONSTRUCTORS // //----------------------------------------------------- public StrongNameIdentityPermission(PermissionState state) { if (state == PermissionState.Unrestricted) { if(CodeAccessSecurityEngine.DoesFullTrustMeanFullTrust()) m_unrestricted = true; else throw new ArgumentException(Environment.GetResourceString("Argument_UnrestrictedIdentityPermission")); } else if (state == PermissionState.None) { m_unrestricted = false; } else { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidPermissionState")); } } public StrongNameIdentityPermission( StrongNamePublicKeyBlob blob, String name, Version version ) { if (blob == null) throw new ArgumentNullException( "blob" ); if (name != null && name.Equals( "" )) throw new ArgumentException( Environment.GetResourceString( "Argument_EmptyStrongName" ) ); m_unrestricted = false; m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(blob, name, version); } //------------------------------------------------------ // // PUBLIC ACCESSOR METHODS // //----------------------------------------------------- public StrongNamePublicKeyBlob PublicKey { set { if (value == null) throw new ArgumentNullException( "PublicKey" ); m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_publicKeyBlob = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(value, "", new Version()); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return null; if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_publicKeyBlob; } } public String Name { set { if (value != null && value.Length == 0) throw new ArgumentException( Environment.GetResourceString("Argument_EmptyName" )); m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_name = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(null, value, new Version()); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return ""; if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_name; } } public Version Version { set { m_unrestricted = false; if(m_strongNames != null && m_strongNames.Length == 1) m_strongNames[0].m_version = value; else { m_strongNames = new StrongName2[1]; m_strongNames[0] = new StrongName2(null, "", value); } } get { if(m_strongNames == null || m_strongNames.Length == 0) return new Version(); if(m_strongNames.Length > 1) throw new NotSupportedException(Environment.GetResourceString("NotSupported_AmbiguousIdentity")); return m_strongNames[0].m_version; } } //------------------------------------------------------ // // PRIVATE AND PROTECTED HELPERS FOR ACCESSORS AND CONSTRUCTORS // //------------------------------------------------------ //----------------------------------------------------- // // CODEACCESSPERMISSION IMPLEMENTATION // //------------------------------------------------------ //----------------------------------------------------- // // IPERMISSION IMPLEMENTATION // //----------------------------------------------------- public override IPermission Copy() { StrongNameIdentityPermission perm = new StrongNameIdentityPermission(PermissionState.None); perm.m_unrestricted = this.m_unrestricted; if(this.m_strongNames != null) { perm.m_strongNames = new StrongName2[this.m_strongNames.Length]; int n; for(n = 0; n < this.m_strongNames.Length; n++) perm.m_strongNames[n] = this.m_strongNames[n].Copy(); } return perm; } public override bool IsSubsetOf(IPermission target) { if (target == null) { if(m_unrestricted) return false; if(m_strongNames == null) return true; if(m_strongNames.Length == 0) return true; return false; } StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(that.m_unrestricted) return true; if(m_unrestricted) return false; if(this.m_strongNames != null) { foreach(StrongName2 snThis in m_strongNames) { bool bOK = false; if(that.m_strongNames != null) { foreach(StrongName2 snThat in that.m_strongNames) { if(snThis.IsSubsetOf(snThat)) { bOK = true; break; } } } if(!bOK) return false; } } return true; } public override IPermission Intersect(IPermission target) { if (target == null) return null; StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(this.m_unrestricted && that.m_unrestricted) { StrongNameIdentityPermission res = new StrongNameIdentityPermission(PermissionState.None); res.m_unrestricted = true; return res; } if(this.m_unrestricted) return that.Copy(); if(that.m_unrestricted) return this.Copy(); if(this.m_strongNames == null || that.m_strongNames == null || this.m_strongNames.Length == 0 || that.m_strongNames.Length == 0) return null; ArrayList alStrongNames = new ArrayList(); foreach(StrongName2 snThis in this.m_strongNames) { foreach(StrongName2 snThat in that.m_strongNames) { StrongName2 snInt = (StrongName2)snThis.Intersect(snThat); if(snInt != null) alStrongNames.Add(snInt); } } if(alStrongNames.Count == 0) return null; StrongNameIdentityPermission result = new StrongNameIdentityPermission(PermissionState.None); result.m_strongNames = (StrongName2[])alStrongNames.ToArray(typeof(StrongName2)); return result; } public override IPermission Union(IPermission target) { if (target == null) { if((this.m_strongNames == null || this.m_strongNames.Length == 0) && !this.m_unrestricted) return null; return this.Copy(); } StrongNameIdentityPermission that = target as StrongNameIdentityPermission; if(that == null) throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Argument_WrongType"), this.GetType().FullName)); if(this.m_unrestricted || that.m_unrestricted) { StrongNameIdentityPermission res = new StrongNameIdentityPermission(PermissionState.None); res.m_unrestricted = true; return res; } if (this.m_strongNames == null || this.m_strongNames.Length == 0) { if(that.m_strongNames == null || that.m_strongNames.Length == 0) return null; return that.Copy(); } if(that.m_strongNames == null || that.m_strongNames.Length == 0) return this.Copy(); ArrayList alStrongNames = new ArrayList(); foreach(StrongName2 snThis in this.m_strongNames) alStrongNames.Add(snThis); foreach(StrongName2 snThat in that.m_strongNames) { bool bDupe = false; foreach(StrongName2 sn in alStrongNames) { if(snThat.Equals(sn)) { bDupe = true; break; } } if(!bDupe) alStrongNames.Add(snThat); } StrongNameIdentityPermission result = new StrongNameIdentityPermission(PermissionState.None); result.m_strongNames = (StrongName2[])alStrongNames.ToArray(typeof(StrongName2)); return result; } public override void FromXml(SecurityElement e) { m_unrestricted = false; m_strongNames = null; CodeAccessPermission.ValidateElement( e, this ); String unr = e.Attribute( "Unrestricted" ); if(unr != null && String.Compare(unr, "true", StringComparison.OrdinalIgnoreCase) == 0) { m_unrestricted = true; return; } String elBlob = e.Attribute("PublicKeyBlob"); String elName = e.Attribute("Name"); String elVersion = e.Attribute("AssemblyVersion"); StrongName2 sn; ArrayList al = new ArrayList(); if(elBlob != null || elName != null || elVersion != null) { sn = new StrongName2( (elBlob == null ? null : new StrongNamePublicKeyBlob(elBlob)), elName, (elVersion == null ? null : new Version(elVersion))); al.Add(sn); } ArrayList alChildren = e.Children; if(alChildren != null) { foreach(SecurityElement child in alChildren) { elBlob = child.Attribute("PublicKeyBlob"); elName = child.Attribute("Name"); elVersion = child.Attribute("AssemblyVersion"); if(elBlob != null || elName != null || elVersion != null) { sn = new StrongName2( (elBlob == null ? null : new StrongNamePublicKeyBlob(elBlob)), elName, (elVersion == null ? null : new Version(elVersion))); al.Add(sn); } } } if(al.Count != 0) m_strongNames = (StrongName2[])al.ToArray(typeof(StrongName2)); } public override SecurityElement ToXml() { SecurityElement esd = CodeAccessPermission.CreatePermissionElement( this, "System.Security.Permissions.StrongNameIdentityPermission" ); if (m_unrestricted) esd.AddAttribute( "Unrestricted", "true" ); else if (m_strongNames != null) { if (m_strongNames.Length == 1) { if (m_strongNames[0].m_publicKeyBlob != null) esd.AddAttribute("PublicKeyBlob", Hex.EncodeHexString(m_strongNames[0].m_publicKeyBlob.PublicKey)); if (m_strongNames[0].m_name != null) esd.AddAttribute("Name", m_strongNames[0].m_name); if ((Object)m_strongNames[0].m_version != null) esd.AddAttribute("AssemblyVersion", m_strongNames[0].m_version.ToString()); } else { int n; for(n = 0; n < m_strongNames.Length; n++) { SecurityElement child = new SecurityElement("StrongName"); if (m_strongNames[n].m_publicKeyBlob != null) child.AddAttribute("PublicKeyBlob", Hex.EncodeHexString(m_strongNames[n].m_publicKeyBlob.PublicKey)); if (m_strongNames[n].m_name != null) child.AddAttribute("Name", m_strongNames[n].m_name); if ((Object)m_strongNames[n].m_version != null) child.AddAttribute("AssemblyVersion", m_strongNames[n].m_version.ToString()); esd.AddChild(child); } } } return esd; } /// int IBuiltInPermission.GetTokenIndex() { return StrongNameIdentityPermission.GetTokenIndex(); } internal static int GetTokenIndex() { return BuiltInPermissionIndex.StrongNameIdentityPermissionIndex; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextTreeNode.cs
- AssemblyAttributes.cs
- DBCommand.cs
- CodeIndexerExpression.cs
- SystemTcpConnection.cs
- ResourceProperty.cs
- OpCodes.cs
- XamlSerializerUtil.cs
- EndpointInfo.cs
- IndentTextWriter.cs
- EasingKeyFrames.cs
- HttpInputStream.cs
- XmlWrappingReader.cs
- Region.cs
- rsa.cs
- TextParaLineResult.cs
- SafeEventLogReadHandle.cs
- XsltContext.cs
- TypeHelper.cs
- EntitySetBaseCollection.cs
- Selection.cs
- SqlTriggerAttribute.cs
- XmlDownloadManager.cs
- SizeF.cs
- GacUtil.cs
- SessionSwitchEventArgs.cs
- ConnectionPoolManager.cs
- ClientBuildManager.cs
- AssemblyNameProxy.cs
- TypeHelpers.cs
- ComponentManagerBroker.cs
- GC.cs
- XmlDataSource.cs
- InfoCardClaimCollection.cs
- WebHttpSecurityElement.cs
- DependencyObjectPropertyDescriptor.cs
- ListViewPagedDataSource.cs
- PersistChildrenAttribute.cs
- DataContractAttribute.cs
- DesignTimeType.cs
- ItemsControl.cs
- SortableBindingList.cs
- XmlEncodedRawTextWriter.cs
- EventDescriptor.cs
- Annotation.cs
- RemoteWebConfigurationHostStream.cs
- ACL.cs
- TraceInternal.cs
- MetabaseServerConfig.cs
- ClaimSet.cs
- _ListenerRequestStream.cs
- XmlnsCompatibleWithAttribute.cs
- DataListItem.cs
- cookieexception.cs
- RightsManagementErrorHandler.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- IProvider.cs
- RTLAwareMessageBox.cs
- NativeMethods.cs
- StrokeNodeData.cs
- FrameworkContentElement.cs
- ResourceExpressionBuilder.cs
- ChooseAction.cs
- MgmtResManager.cs
- FontFamilyValueSerializer.cs
- MarginCollapsingState.cs
- HtmlSelect.cs
- DateTimePicker.cs
- Color.cs
- DSASignatureDeformatter.cs
- EntityModelSchemaGenerator.cs
- StoreItemCollection.Loader.cs
- DataSetMappper.cs
- BaseCodePageEncoding.cs
- connectionpool.cs
- XslTransform.cs
- RepeatInfo.cs
- IndentedWriter.cs
- AppSecurityManager.cs
- TransactionException.cs
- TableCell.cs
- IgnoreSection.cs
- OracleCommandBuilder.cs
- AffineTransform3D.cs
- PtsHelper.cs
- XmlReaderSettings.cs
- StateBag.cs
- DataBindingCollection.cs
- coordinatorfactory.cs
- JpegBitmapDecoder.cs
- DataProviderNameConverter.cs
- CallInfo.cs
- SqlTypeConverter.cs
- ToolboxComponentsCreatingEventArgs.cs
- FilteredXmlReader.cs
- MultiPropertyDescriptorGridEntry.cs
- BrushValueSerializer.cs
- InternalEnumValidatorAttribute.cs
- Parallel.cs
- ArrangedElementCollection.cs