public sealed class PublisherMembershipCondition : IMembershipCondition, System.Security.ISecurityEncodable, System.Security.ISecurityPolicyEncodable, IConstantMembershipCondition { // Public Constructors public PublisherMembershipCondition(System.Security.Cryptography.X509Certificates.X509Certificate certificate); // Public Instance Properties public X509Certificate Certificate{set; get; } // Public Instance Methods public bool Check(Evidence evidence); // implements IMembershipCondition public IMembershipCondition Copy( ); // implements IMembershipCondition public override bool Equals(object o); // overrides object public void FromXml(System.Security.SecurityElement e); // implements System.Security.ISecurityEncodable public void FromXml(System.Security.SecurityElement e, PolicyLevel level); // implements System.Security.ISecurityPolicyEncodable public override int GetHashCode( ); // overrides object public override string ToString( ); // overrides object public SecurityElement ToXml( ); // implements System.Security.ISecurityEncodable public SecurityElement ToXml(PolicyLevel level); // implements System.Security.ISecurityPolicyEncodable }
The PublisherMembershipCondition class uses the X.509v3 certificate contained in Publisher evidence to determine if an assembly or application domain qualifies for membership to a CodeGroup. The Certificate property contains the System.Security.Cryptography.X509Certificates.X509Certificate object against which the PublisherMembershipCondition object tests.
When policy resolution calls the Check( ) method, the PublisherMembershipCondition tests the Evidence collection provided to ensure that it contains a Publisher object. If so, the PublisherMembershipCondition object compares its Certificate property with the Publisher.Certificate property to determine if it grants CodeGroup membership.