Silverlight 5 WinRT

  public class Basic128SecurityAlgorithmSuite
  : SecurityAlgorithmSuite
  public virtual String DefaultAsymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultAsymmetricSignatureAlgorithm { get; }
  public virtual String DefaultCanonicalizationAlgorithm { get; }
  public virtual String DefaultDigestAlgorithm { get; }
  public virtual String DefaultEncryptionAlgorithm { get; }
  public virtual Int32 DefaultEncryptionKeyDerivationLength { get; }
  public virtual Int32 DefaultSignatureKeyDerivationLength { get; }
  public virtual Int32 DefaultSymmetricKeyLength { get; }
  public virtual String DefaultSymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultSymmetricSignatureAlgorithm { get; }
  public virtual Boolean IsAsymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsSymmetricKeyLengthSupported(Int32 length);
  public virtual String ToString();

  public class Basic192SecurityAlgorithmSuite
  : SecurityAlgorithmSuite
  public virtual String DefaultAsymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultAsymmetricSignatureAlgorithm { get; }
  public virtual String DefaultCanonicalizationAlgorithm { get; }
  public virtual String DefaultDigestAlgorithm { get; }
  public virtual String DefaultEncryptionAlgorithm { get; }
  public virtual Int32 DefaultEncryptionKeyDerivationLength { get; }
  public virtual Int32 DefaultSignatureKeyDerivationLength { get; }
  public virtual Int32 DefaultSymmetricKeyLength { get; }
  public virtual String DefaultSymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultSymmetricSignatureAlgorithm { get; }
  public virtual Boolean IsAsymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsSymmetricKeyLengthSupported(Int32 length);
  public virtual String ToString();

  public class Basic256SecurityAlgorithmSuite
  : SecurityAlgorithmSuite
  public virtual String DefaultAsymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultAsymmetricSignatureAlgorithm { get; }
  public virtual String DefaultCanonicalizationAlgorithm { get; }
  public virtual String DefaultDigestAlgorithm { get; }
  public virtual String DefaultEncryptionAlgorithm { get; }
  public virtual Int32 DefaultEncryptionKeyDerivationLength { get; }
  public virtual Int32 DefaultSignatureKeyDerivationLength { get; }
  public virtual Int32 DefaultSymmetricKeyLength { get; }
  public virtual String DefaultSymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultSymmetricSignatureAlgorithm { get; }
  public virtual Boolean IsAsymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsSymmetricKeyLengthSupported(Int32 length);
  public virtual String ToString();

  public abstract class BasicSecurityProfileVersion
 
  static public BasicSecurityProfileVersion BasicSecurityProfile10 { get; }

  public class ChannelProtectionRequirements
 
  public ScopedMessagePartSpecification IncomingEncryptionParts { get; }
  public ScopedMessagePartSpecification IncomingSignatureParts { get; }
  public Boolean IsReadOnly { get; }
  public ScopedMessagePartSpecification OutgoingEncryptionParts { get; }
  public ScopedMessagePartSpecification OutgoingSignatureParts { get; }
  public void Add(ChannelProtectionRequirements protectionRequirements, Boolean channelScopeOnly);
  public void Add(ChannelProtectionRequirements protectionRequirements);
  public ChannelProtectionRequirements CreateInverse();
  public void MakeReadOnly();

  abstract sealed class WSTrustServiceContractConstants
 

  public class DataProtectionSecurityStateEncoder
  : SecurityStateEncoder
  public Boolean UseCurrentUserProtectionScope { get; }
  internal protected virtual Byte DecodeSecurityState(Byte[] data);
  internal protected virtual Byte EncodeSecurityState(Byte[] data);
  public Byte GetEntropy();
  public virtual String ToString();

  class WSSecureConversation
  : TokenEntry
  protected virtual XmlDictionaryString LocalName { get; }
  protected virtual XmlDictionaryString NamespaceUri { get; }
  public virtual String TokenTypeUri { get; }
  protected virtual String ValueTypeUri { get; }
  public virtual SecurityToken CreateDerivedKeyToken(String id, String derivationAlgorithm, String label, Int32 length, Byte nonce, Int32 offset, Int32 generation, SecurityKeyIdentifierClause tokenToDeriveIdentifier, SecurityToken tokenToDerive);
  public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXmlCore(XmlElement issuedTokenXml, SecurityTokenReferenceStyle tokenReferenceStyle);
  protected virtual Type GetTokenTypesCore();
  public virtual void ReadDerivedKeyTokenParameters(XmlDictionaryReader reader, SecurityTokenResolver tokenResolver, out String& id, out String& derivationAlgorithm, out String& label, out Int32& length, out Byte& nonce, out Int32& offset, out Int32& generation, out SecurityKeyIdentifierClause& tokenToDeriveIdentifier, out SecurityToken& tokenToDerive);
  public virtual SecurityToken ReadTokenCore(XmlDictionaryReader reader, SecurityTokenResolver tokenResolver);
  public virtual void WriteTokenCore(XmlDictionaryWriter writer, SecurityToken token);

  public class DispatchContext
 
  public ClaimsPrincipal Principal { get; set; }
  public String RequestAction { get; set; }
  public WSTrustMessage RequestMessage { get; set; }
  public String ResponseAction { get; set; }
  public RequestSecurityTokenResponse ResponseMessage { get; set; }
  public SecurityTokenService SecurityTokenService { get; set; }
  public String TrustNamespace { get; set; }

  abstract class WSSecureConversation
  : SecureConversationDriver
  public virtual XmlDictionaryString BadContextTokenFaultCode { get; }
  protected abstract virtual SecureConversationDictionary DriverDictionary { get; }
  public virtual XmlDictionaryString IssueAction { get; }
  public virtual XmlDictionaryString IssueResponseAction { get; }
  public virtual XmlDictionaryString RenewNeededFaultCode { get; }
  public virtual UniqueId GetSecurityContextTokenId(XmlDictionaryReader reader);
  public virtual Boolean IsAtSecurityContextToken(XmlDictionaryReader reader);

  abstract class WSTrust
  : TrustDriver
  public virtual String ComputedKeyAlgorithm { get; }
  public abstract virtual TrustDictionary DriverDictionary { get; }
  public virtual XmlDictionaryString Namespace { get; }
  public virtual XmlDictionaryString RequestSecurityTokenAction { get; }
  public virtual XmlDictionaryString RequestSecurityTokenResponseAction { get; }
  public virtual String RequestTypeIssue { get; }
  public virtual SecurityStandardsManager StandardsManager { get; }
  public virtual XmlElement CreateCanonicalizationAlgorithmElement(String algorithm);
  public virtual XmlElement CreateComputedKeyAlgorithmElement(String algorithm);
  public virtual XmlElement CreateEncryptionAlgorithmElement(String encryptionAlgorithm);
  public virtual XmlElement CreateEncryptWithElement(String encryptionAlgorithm);
  public virtual XmlElement CreateKeySizeElement(Int32 keySize);
  public virtual XmlElement CreateKeyTypeElement(SecurityKeyType keyType);
  public virtual RequestSecurityToken CreateRequestSecurityToken(XmlReader xmlReader);
  public virtual RequestSecurityTokenResponse CreateRequestSecurityTokenResponse(XmlReader xmlReader);
  public virtual RequestSecurityTokenResponseCollection CreateRequestSecurityTokenResponseCollection(XmlReader xmlReader);
  public virtual XmlElement CreateRequiredClaimsElement(IEnumerable`1<XmlElement> claimsList);
  public virtual XmlElement CreateSignWithElement(String signatureAlgorithm);
  public virtual XmlElement CreateTokenTypeElement(String tokenTypeUri);
  public virtual XmlElement CreateUseKeyElement(SecurityKeyIdentifier keyIdentifier, SecurityStandardsManager standardsManager);
  public virtual T GetAppliesTo(RequestSecurityToken rst, XmlObjectSerializer serializer);
  public virtual T GetAppliesTo(RequestSecurityTokenResponse rstr, XmlObjectSerializer serializer);
  public virtual void GetAppliesToQName(RequestSecurityToken rst, out String& localName, out String& namespaceUri);
  public virtual void GetAppliesToQName(RequestSecurityTokenResponse rstr, out String& localName, out String& namespaceUri);
  public virtual Byte GetAuthenticator(RequestSecurityTokenResponse rstr);
  public virtual BinaryNegotiation GetBinaryNegotiation(RequestSecurityTokenResponse rstr);
  public virtual BinaryNegotiation GetBinaryNegotiation(RequestSecurityToken rst);
  public virtual SecurityToken GetEntropy(RequestSecurityToken rst, SecurityTokenResolver resolver);
  public virtual SecurityToken GetEntropy(RequestSecurityTokenResponse rstr, SecurityTokenResolver resolver);
  public virtual GenericXmlSecurityToken GetIssuedToken(RequestSecurityTokenResponse rstr, SecurityTokenResolver resolver, IList`1<SecurityTokenAuthenticator> allowedAuthenticators, SecurityKeyEntropyMode keyEntropyMode, Byte requestorEntropy, String expectedTokenType, ReadOnlyCollection`1<IAuthorizationPolicy> authorizationPolicies, Int32 defaultKeySize, Boolean isBearerKeyType);
  public virtual GenericXmlSecurityToken GetIssuedToken(RequestSecurityTokenResponse rstr, String expectedTokenType, ReadOnlyCollection`1<IAuthorizationPolicy> authorizationPolicies, RSA clientKey);
  public virtual Boolean IsAppliesTo(String localName, String namespaceUri);
  public virtual Boolean IsAtRequestSecurityTokenResponse(XmlReader reader);
  public virtual Boolean IsAtRequestSecurityTokenResponseCollection(XmlReader reader);
  public virtual Boolean IsRequestedProofTokenElement(String name, String nameSpace);
  public virtual Boolean IsRequestedSecurityTokenElement(String name, String nameSpace);
  public virtual void OnRSTRorRSTRCMissingException();
  static public BinaryNegotiation ReadBinaryNegotiation(XmlElement elem);
  protected virtual void ReadReferences(XmlElement rstrXml, out SecurityKeyIdentifierClause& requestedAttachedReference, out SecurityKeyIdentifierClause& requestedUnattachedReference);
  protected virtual Boolean ReadRequestedTokenClosed(XmlElement rstrXml);
  protected virtual void ReadTargets(XmlElement rstXml, out SecurityKeyIdentifierClause& renewTarget, out SecurityKeyIdentifierClause& closeTarget);
  protected void SetProtectionLevelForFederation(OperationDescriptionCollection operations);
  public virtual Boolean TryParseKeySizeElement(XmlElement element, out Int32& keySize);
  public virtual Boolean TryParseKeyTypeElement(XmlElement element, out SecurityKeyType& keyType);
  public virtual Boolean TryParseRequiredClaimsElement(XmlElement element, out Collection`1& requiredClaims);
  public Boolean TryParseSymmetricKeyElement(XmlElement element);
  public virtual Boolean TryParseTokenTypeElement(XmlElement element, out String& tokenType);
  public void WriteBinaryNegotiation(BinaryNegotiation negotiation, XmlWriter xmlWriter);
  protected virtual void WriteReferences(RequestSecurityTokenResponse rstr, XmlDictionaryWriter writer);
  protected virtual void WriteRequestedTokenClosed(RequestSecurityTokenResponse rstr, XmlDictionaryWriter writer);
  public virtual void WriteRequestSecurityToken(RequestSecurityToken rst, XmlWriter xmlWriter);
  public virtual void WriteRequestSecurityTokenResponse(RequestSecurityTokenResponse rstr, XmlWriter xmlWriter);
  public virtual void WriteRequestSecurityTokenResponseCollection(RequestSecurityTokenResponseCollection rstrCollection, XmlWriter xmlWriter);
  protected virtual void WriteTargets(RequestSecurityToken rst, XmlDictionaryWriter writer);

  class WSSecureConversationDec2005
  : Driver
  public virtual XmlDictionaryString CloseAction { get; }
  public virtual XmlDictionaryString CloseResponseAction { get; }
  protected virtual SecureConversationDictionary DriverDictionary { get; }
  public virtual Boolean IsSessionSupported { get; }
  public virtual XmlDictionaryString Namespace { get; }
  public virtual XmlDictionaryString RenewAction { get; }
  public virtual XmlDictionaryString RenewResponseAction { get; }
  public virtual String TokenTypeUri { get; }

  class WSTrustDec2005
  : DriverFeb2005
  public virtual TrustDictionary DriverDictionary { get; }
  public virtual XmlDictionaryString RequestSecurityTokenResponseFinalAction { get; }
  public virtual IChannelFactory`1<IRequestChannel> CreateFederationProxy(EndpointAddress address, Binding binding, KeyedByTypeCollection`1<IEndpointBehavior> channelBehaviors);
  public virtual XmlElement CreateKeyTypeElement(SecurityKeyType keyType);
  public virtual XmlElement CreateKeyWrapAlgorithmElement(String keyWrapAlgorithm);
  public virtual XmlElement CreateRequiredClaimsElement(IEnumerable`1<XmlElement> claimsList);
  public virtual Collection`1<XmlElement> ProcessUnknownRequestParameters(Collection`1<XmlElement> unknownRequestParameters, Collection`1<XmlElement> originalRequestParameters);
  public virtual Boolean TryParseKeyTypeElement(XmlElement element, out SecurityKeyType& keyType);

  class WSSecureConversationFeb2005
  : Driver
  public virtual XmlDictionaryString CloseAction { get; }
  public virtual XmlDictionaryString CloseResponseAction { get; }
  protected virtual SecureConversationDictionary DriverDictionary { get; }
  public virtual Boolean IsSessionSupported { get; }
  public virtual XmlDictionaryString Namespace { get; }
  public virtual XmlDictionaryString RenewAction { get; }
  public virtual XmlDictionaryString RenewResponseAction { get; }
  public virtual String TokenTypeUri { get; }

  class WSTrustFeb2005
  : Driver
  public virtual TrustDictionary DriverDictionary { get; }
  public virtual Boolean IsIssuedTokensSupported { get; }
  public virtual Boolean IsSessionSupported { get; }
  public virtual String IssuedTokensHeaderName { get; }
  public virtual String IssuedTokensHeaderNamespace { get; }
  public virtual XmlDictionaryString RequestSecurityTokenResponseFinalAction { get; }
  public virtual String RequestTypeClose { get; }
  public virtual String RequestTypeRenew { get; }
  public virtual IChannelFactory`1<IRequestChannel> CreateFederationProxy(EndpointAddress address, Binding binding, KeyedByTypeCollection`1<IEndpointBehavior> channelBehaviors);
  public virtual Collection`1<XmlElement> ProcessUnknownRequestParameters(Collection`1<XmlElement> unknownRequestParameters, Collection`1<XmlElement> originalRequestParameters);
  protected virtual void ReadReferences(XmlElement rstrXml, out SecurityKeyIdentifierClause& requestedAttachedReference, out SecurityKeyIdentifierClause& requestedUnattachedReference);
  protected virtual Boolean ReadRequestedTokenClosed(XmlElement rstrXml);
  protected virtual void ReadTargets(XmlElement rstXml, out SecurityKeyIdentifierClause& renewTarget, out SecurityKeyIdentifierClause& closeTarget);
  protected virtual void WriteReferences(RequestSecurityTokenResponse rstr, XmlDictionaryWriter writer);
  protected virtual void WriteRequestedTokenClosed(RequestSecurityTokenResponse rstr, XmlDictionaryWriter writer);
  protected virtual void WriteTargets(RequestSecurityToken rst, XmlDictionaryWriter writer);

  public class ExpiredSecurityTokenException
  : MessageSecurityException, ISerializable, _Exception

  abstract class MessageSecurityProtocol
  : GetSupportingTokensAsyncResult, IAsyncResult
  protected MessageSecurityProtocol Binding { get; }
  protected SecurityProtocolCorrelationState NewCorrelationState { get; }
  protected SecurityProtocolCorrelationState OldCorrelationState { get; }
  protected virtual Boolean OnGetSupportingTokensDone(TimeSpan timeout);
  protected abstract virtual void OnGetTokenDone(Message& message, SecurityToken token, TimeSpan timeout);
  protected void SetCorrelationToken(SecurityToken token);

  abstract class SecurityProtocol
  : AsyncResult, IAsyncResult
  protected IList`1<SupportingTokenSpecification> SupportingTokens { get; }
  protected abstract virtual Boolean OnGetSupportingTokensDone(TimeSpan timeout);
  protected void Start();

  public sealed class HttpDigestClientCredential
 
  public TokenImpersonationLevel AllowedImpersonationLevel { get; set; }
  public NetworkCredential ClientCredential { get; set; }

  public abstract class IdentityVerifier
 
  public abstract virtual Boolean CheckAccess(EndpointIdentity identity, AuthorizationContext authContext);
  static public IdentityVerifier CreateDefault();
  public abstract virtual Boolean TryGetIdentity(EndpointAddress reference, out EndpointIdentity& identity);

  class WSSecurityJan2004
  : SignatureTargetIdManager
  public virtual String DefaultIdNamespacePrefix { get; }
  public virtual String DefaultIdNamespaceUri { get; }
  public virtual String ExtractId(XmlDictionaryReader reader);
  public virtual void WriteIdAttribute(XmlDictionaryWriter writer, String id);

  public abstract interface IEndpointIdentityProvider
 
  public abstract virtual EndpointIdentity GetIdentityOfSelf(SecurityTokenRequirement tokenRequirement);

  public class ImpersonateOnSerializingReplyMessageProperty
  : IMessageProperty
  static public String Name { get; }
  public virtual IMessageProperty CreateCopy();
  public void StartImpersonation(out IDisposable& impersonationContext, out IPrincipal& originalPrincipal, out Boolean& isThreadPrincipalSet);
  public void StopImpersonation(IDisposable impersonationContext, IPrincipal originalPrincipal, Boolean isThreadPrincipalSet);
  static public Boolean TryGet(Message message, out ImpersonateOnSerializingReplyMessageProperty& property);
  static public Boolean TryGet(MessageProperties properties, out ImpersonateOnSerializingReplyMessageProperty& property);

  public class InfocardInteractiveChannelInitializer
  : IInteractiveChannelInitializer
  public Binding Binding { get; }
  public virtual IAsyncResult BeginDisplayInitializationUI(IClientChannel channel, AsyncCallback callback, Object state);
  public virtual void EndDisplayInitializationUI(IAsyncResult result);

  class DriverFeb2005
  : IEndpointBehavior
  public virtual void AddBindingParameters(ServiceEndpoint serviceEndpoint, BindingParameterCollection bindingParameters);
  public virtual void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior);
  public virtual void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher);
  public virtual void Validate(ServiceEndpoint serviceEndpoint);

  public abstract interface ISecureConversationSession
  : ISecuritySession, ISession
  public abstract virtual Boolean TryReadSessionTokenIdentifier(XmlReader reader);
  public abstract virtual void WriteSessionTokenIdentifier(XmlDictionaryWriter writer);

  public abstract interface ISecuritySession
  : ISession
  public abstract virtual EndpointIdentity RemoteIdentity { get; }

  public sealed class IssuedTokenClientCredential
 
  public Boolean CacheIssuedTokens { get; set; }
  public SecurityKeyEntropyMode DefaultKeyEntropyMode { get; set; }
  public Int32 IssuedTokenRenewalThresholdPercentage { get; set; }
  public Dictionary`2<Uri, KeyedByTypeCollection`1<IEndpointBehavior>> IssuerChannelBehaviors { get; }
  public EndpointAddress LocalIssuerAddress { get; set; }
  public Binding LocalIssuerBinding { get; set; }
  public KeyedByTypeCollection`1<IEndpointBehavior> LocalIssuerChannelBehaviors { get; }
  public TimeSpan MaxIssuedTokenCachingTime { get; set; }

  public class IssuedTokenServiceCredential
 
  public IList`1<String> AllowedAudienceUris { get; }
  public Boolean AllowUntrustedRsaIssuers { get; set; }
  public AudienceUriMode AudienceUriMode { get; set; }
  public X509CertificateValidationMode CertificateValidationMode { get; set; }
  public X509CertificateValidator CustomCertificateValidator { get; set; }
  public IList`1<X509Certificate2> KnownCertificates { get; }
  public X509RevocationMode RevocationMode { get; set; }
  public SamlSerializer SamlSerializer { get; set; }
  public StoreLocation TrustedStoreLocation { get; set; }

  public abstract interface IWSTrust13AsyncContract
 
  public abstract virtual IAsyncResult BeginTrust13Cancel(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13CancelResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13Issue(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13IssueResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13Renew(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13RenewResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13Validate(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrust13ValidateResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual Message EndTrust13Cancel(IAsyncResult ar);
  public abstract virtual Message EndTrust13CancelResponse(IAsyncResult ar);
  public abstract virtual Message EndTrust13Issue(IAsyncResult ar);
  public abstract virtual Message EndTrust13IssueResponse(IAsyncResult ar);
  public abstract virtual Message EndTrust13Renew(IAsyncResult ar);
  public abstract virtual Message EndTrust13RenewResponse(IAsyncResult ar);
  public abstract virtual Message EndTrust13Validate(IAsyncResult ar);
  public abstract virtual Message EndTrust13ValidateResponse(IAsyncResult ar);

  public abstract interface IWSTrust13SyncContract
 
  public abstract virtual Message ProcessTrust13Cancel(Message message);
  public abstract virtual Message ProcessTrust13CancelResponse(Message message);
  public abstract virtual Message ProcessTrust13Issue(Message message);
  public abstract virtual Message ProcessTrust13IssueResponse(Message message);
  public abstract virtual Message ProcessTrust13Renew(Message message);
  public abstract virtual Message ProcessTrust13RenewResponse(Message message);
  public abstract virtual Message ProcessTrust13Validate(Message message);
  public abstract virtual Message ProcessTrust13ValidateResponse(Message message);

  public abstract interface IWSTrustChannelContract
  : IWSTrustContract
  public abstract virtual IAsyncResult BeginCancel(RequestSecurityToken request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginIssue(RequestSecurityToken request, AsyncCallback callback, Object asyncState);
  public abstract virtual IAsyncResult BeginRenew(RequestSecurityToken request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginValidate(RequestSecurityToken request, AsyncCallback callback, Object state);
  public abstract virtual RequestSecurityTokenResponse Cancel(RequestSecurityToken request);
  public abstract virtual void EndCancel(IAsyncResult result, out RequestSecurityTokenResponse& response);
  public abstract virtual SecurityToken EndIssue(IAsyncResult result, out RequestSecurityTokenResponse& response);
  public abstract virtual void EndRenew(IAsyncResult result, out RequestSecurityTokenResponse& response);
  public abstract virtual void EndValidate(IAsyncResult result, out RequestSecurityTokenResponse& response);
  public abstract virtual SecurityToken Issue(RequestSecurityToken request);
  public abstract virtual SecurityToken Issue(RequestSecurityToken request, out RequestSecurityTokenResponse& response);
  public abstract virtual RequestSecurityTokenResponse Renew(RequestSecurityToken request);
  public abstract virtual RequestSecurityTokenResponse Validate(RequestSecurityToken request);

  public abstract interface IWSTrustContract
 
  public abstract virtual IAsyncResult BeginCancel(Message message, AsyncCallback callback, Object asyncState);
  public abstract virtual IAsyncResult BeginIssue(Message message, AsyncCallback callback, Object asyncState);
  public abstract virtual IAsyncResult BeginRenew(Message message, AsyncCallback callback, Object asyncState);
  public abstract virtual IAsyncResult BeginValidate(Message message, AsyncCallback callback, Object asyncState);
  public abstract virtual Message Cancel(Message message);
  public abstract virtual Message EndCancel(IAsyncResult asyncResult);
  public abstract virtual Message EndIssue(IAsyncResult asyncResult);
  public abstract virtual Message EndRenew(IAsyncResult asyncResult);
  public abstract virtual Message EndValidate(IAsyncResult asyncResult);
  public abstract virtual Message Issue(Message message);
  public abstract virtual Message Renew(Message message);
  public abstract virtual Message Validate(Message message);

  public abstract interface IWSTrustFeb2005AsyncContract
 
  public abstract virtual IAsyncResult BeginTrustFeb2005Cancel(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005CancelResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005Issue(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005IssueResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005Renew(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005RenewResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005Validate(Message request, AsyncCallback callback, Object state);
  public abstract virtual IAsyncResult BeginTrustFeb2005ValidateResponse(Message request, AsyncCallback callback, Object state);
  public abstract virtual Message EndTrustFeb2005Cancel(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005CancelResponse(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005Issue(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005IssueResponse(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005Renew(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005RenewResponse(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005Validate(IAsyncResult ar);
  public abstract virtual Message EndTrustFeb2005ValidateResponse(IAsyncResult ar);

  public abstract interface IWSTrustFeb2005SyncContract
 
  public abstract virtual Message ProcessTrustFeb2005Cancel(Message message);
  public abstract virtual Message ProcessTrustFeb2005CancelResponse(Message message);
  public abstract virtual Message ProcessTrustFeb2005Issue(Message message);
  public abstract virtual Message ProcessTrustFeb2005IssueResponse(Message message);
  public abstract virtual Message ProcessTrustFeb2005Renew(Message message);
  public abstract virtual Message ProcessTrustFeb2005RenewResponse(Message message);
  public abstract virtual Message ProcessTrustFeb2005Validate(Message message);
  public abstract virtual Message ProcessTrustFeb2005ValidateResponse(Message message);

  public class MessagePartSpecification
 
  public ICollection`1<XmlQualifiedName> HeaderTypes { get; }
  public Boolean IsBodyIncluded { get; set; }
  public Boolean IsReadOnly { get; }
  static public MessagePartSpecification NoParts { get; }
  public void Clear();
  public void MakeReadOnly();
  public void Union(MessagePartSpecification specification);

  public sealed enum MessageProtectionOrder
  : IComparable, IFormattable, IConvertible
  { SignBeforeEncrypt, SignBeforeEncryptAndEncryptSignature, EncryptBeforeSign }

public class MessageSecurityException public class MessageSecurityException
: CommunicationException, _Exception : CommunicationException, ISerializable, _Exception

  public abstract class NonceCache
 
  public Int32 CacheSize { get; set; }
  public TimeSpan CachingTimeSpan { get; set; }
  public abstract virtual Boolean CheckNonce(Byte nonce);
  public abstract virtual Boolean TryAddNonce(Byte nonce);

  sealed class RequestSecurityToken
  : MulticastDelegate, ICloneable, ISerializable
  public virtual IAsyncResult BeginInvoke(ChannelBinding channelBinding, AsyncCallback callback, Object object);
  public virtual void EndInvoke(IAsyncResult result);
  public virtual void Invoke(ChannelBinding channelBinding);

  sealed enum WSTrustChannelAsyncResult
  : IComparable, IFormattable, IConvertible
  { Cancel, Issue, Renew, Validate }

  sealed class SecurityChannel`1<TChannel>
  : ApplySecurityAndSendAsyncResult`1<IOutputChannel>, IAsyncResult where TChannel : IChannel
  protected virtual IAsyncResult BeginSendCore(IOutputChannel channel, Message message, TimeSpan timeout, AsyncCallback callback, Object state);
  protected virtual void EndSendCore(IOutputChannel channel, IAsyncResult result);
  protected virtual void OnSendCompleteCore(TimeSpan timeout);

  public class PeerCredential
 
  public X509Certificate2 Certificate { get; set; }
  public String MeshPassword { get; set; }
  public X509PeerCertificateAuthentication MessageSenderAuthentication { get; set; }
  public X509PeerCertificateAuthentication PeerAuthentication { get; set; }
  public void SetCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName);
  public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue);

  class DriverFeb2005<TokenService>
  : ChannelFactoryBase, ICommunicationObject, IDefaultCommunicationTimeouts, IChannelFactory, IChannelFactory`1<IRequestChannel>
  public virtual IRequestChannel CreateChannel(EndpointAddress address);
  public virtual IRequestChannel CreateChannel(EndpointAddress address, Uri via);
  public virtual T GetProperty();
  protected virtual void OnAbort();
  protected virtual IAsyncResult OnBeginClose(TimeSpan timeout, AsyncCallback callback, Object state);
  protected virtual IAsyncResult OnBeginOpen(TimeSpan timeout, AsyncCallback callback, Object state);
  protected virtual void OnClose(TimeSpan timeout);
  protected virtual void OnEndClose(IAsyncResult result);
  protected virtual void OnEndOpen(IAsyncResult result);
  protected virtual void OnOpen(TimeSpan timeout);

  class WSSecurityJan2004
  : TokenEntry
  protected virtual XmlDictionaryString LocalName { get; }
  protected virtual XmlDictionaryString NamespaceUri { get; }
  public virtual String TokenTypeUri { get; }
  protected virtual String ValueTypeUri { get; }
  public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXmlCore(XmlElement issuedTokenXml, SecurityTokenReferenceStyle tokenReferenceStyle);
  protected virtual Type GetTokenTypesCore();
  public virtual SecurityToken ReadTokenCore(XmlDictionaryReader reader, SecurityTokenResolver tokenResolver);
  public virtual void WriteTokenCore(XmlDictionaryWriter writer, SecurityToken token);

  public class ScopedMessagePartSpecification
 
  public ICollection`1<String> Actions { get; }
  public MessagePartSpecification ChannelParts { get; }
  public Boolean IsReadOnly { get; }
  public void AddParts(MessagePartSpecification parts);
  public void AddParts(MessagePartSpecification parts, String action);
  public void MakeReadOnly();
  public Boolean TryGetParts(String action, Boolean excludeChannelScope, out MessagePartSpecification& parts);
  public Boolean TryGetParts(String action, out MessagePartSpecification& parts);

  abstract class WSSecureConversation
  : StrEntry
  protected WSSecureConversation Parent { get; }
  public virtual Boolean CanReadClause(XmlDictionaryReader reader, String tokenType);
  public virtual Type GetTokenType(SecurityKeyIdentifierClause clause);
  public virtual String GetTokenTypeUri();
  public virtual SecurityKeyIdentifierClause ReadClause(XmlDictionaryReader reader, Byte derivationNonce, Int32 derivationLength, String tokenType);
  protected abstract virtual UniqueId ReadGeneration(XmlDictionaryReader reader);
  public virtual Boolean SupportsCore(SecurityKeyIdentifierClause clause);
  public virtual void WriteContent(XmlDictionaryWriter writer, SecurityKeyIdentifierClause clause);
  protected abstract virtual void WriteGeneration(XmlDictionaryWriter writer, SecurityContextKeyIdentifierClause clause);

  public sealed class SecureConversationServiceCredential
 
  public Collection`1<Type> SecurityContextClaimTypes { get; }
  public SecurityStateEncoder SecurityStateEncoder { get; set; }

  public abstract class SecureConversationVersion
 
  static public SecureConversationVersion Default { get; }
  public XmlDictionaryString Namespace { get; }
  public XmlDictionaryString Prefix { get; }
  static public SecureConversationVersion WSSecureConversation13 { get; }
  static public SecureConversationVersion WSSecureConversationFeb2005 { get; }

public class SecurityAccessDeniedException public class SecurityAccessDeniedException
: CommunicationException, _Exception : CommunicationException, ISerializable, _Exception

  public abstract class SecurityAlgorithmSuite
 
  static public SecurityAlgorithmSuite Basic128 { get; }
  static public SecurityAlgorithmSuite Basic128Rsa15 { get; }
  static public SecurityAlgorithmSuite Basic128Sha256 { get; }
  static public SecurityAlgorithmSuite Basic128Sha256Rsa15 { get; }
  static public SecurityAlgorithmSuite Basic192 { get; }
  static public SecurityAlgorithmSuite Basic192Rsa15 { get; }
  static public SecurityAlgorithmSuite Basic192Sha256 { get; }
  static public SecurityAlgorithmSuite Basic192Sha256Rsa15 { get; }
  static public SecurityAlgorithmSuite Basic256 { get; }
  static public SecurityAlgorithmSuite Basic256Rsa15 { get; }
  static public SecurityAlgorithmSuite Basic256Sha256 { get; }
  static public SecurityAlgorithmSuite Basic256Sha256Rsa15 { get; }
  static public SecurityAlgorithmSuite Default { get; }
  public abstract virtual String DefaultAsymmetricKeyWrapAlgorithm { get; }
  public abstract virtual String DefaultAsymmetricSignatureAlgorithm { get; }
  public abstract virtual String DefaultCanonicalizationAlgorithm { get; }
  public abstract virtual String DefaultDigestAlgorithm { get; }
  public abstract virtual String DefaultEncryptionAlgorithm { get; }
  public abstract virtual Int32 DefaultEncryptionKeyDerivationLength { get; }
  public abstract virtual Int32 DefaultSignatureKeyDerivationLength { get; }
  public abstract virtual Int32 DefaultSymmetricKeyLength { get; }
  public abstract virtual String DefaultSymmetricKeyWrapAlgorithm { get; }
  public abstract virtual String DefaultSymmetricSignatureAlgorithm { get; }
  static public SecurityAlgorithmSuite TripleDes { get; }
  static public SecurityAlgorithmSuite TripleDesRsa15 { get; }
  static public SecurityAlgorithmSuite TripleDesSha256 { get; }
  static public SecurityAlgorithmSuite TripleDesSha256Rsa15 { get; }
  public abstract virtual Boolean IsAsymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsAsymmetricKeyWrapAlgorithmSupported(String algorithm);
  public virtual Boolean IsAsymmetricSignatureAlgorithmSupported(String algorithm);
  public virtual Boolean IsCanonicalizationAlgorithmSupported(String algorithm);
  public virtual Boolean IsDigestAlgorithmSupported(String algorithm);
  public virtual Boolean IsEncryptionAlgorithmSupported(String algorithm);
  public virtual Boolean IsEncryptionKeyDerivationAlgorithmSupported(String algorithm);
  public virtual Boolean IsSignatureKeyDerivationAlgorithmSupported(String algorithm);
  public abstract virtual Boolean IsSymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsSymmetricKeyWrapAlgorithmSupported(String algorithm);
  public virtual Boolean IsSymmetricSignatureAlgorithmSupported(String algorithm);

  abstract class WSSecureConversation
  : TokenEntry
  protected virtual XmlDictionaryString LocalName { get; }
  protected virtual XmlDictionaryString NamespaceUri { get; }
  protected WSSecureConversation Parent { get; }
  public virtual String TokenTypeUri { get; }
  protected virtual String ValueTypeUri { get; }
  protected abstract virtual Boolean CanReadGeneration(XmlDictionaryReader reader);
  protected abstract virtual Boolean CanReadGeneration(XmlElement element);
  public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXmlCore(XmlElement issuedTokenXml, SecurityTokenReferenceStyle tokenReferenceStyle);
  protected virtual Type GetTokenTypesCore();
  protected abstract virtual UniqueId ReadGeneration(XmlDictionaryReader reader);
  protected abstract virtual UniqueId ReadGeneration(XmlElement element);
  public virtual SecurityToken ReadTokenCore(XmlDictionaryReader reader, SecurityTokenResolver tokenResolver);
  protected virtual void WriteGeneration(XmlDictionaryWriter writer, SecurityContextSecurityToken sct);
  public virtual void WriteTokenCore(XmlDictionaryWriter writer, SecurityToken token);

  public abstract class SecurityCredentialsManager
 
  public abstract virtual SecurityTokenManager CreateSecurityTokenManager();

  public sealed enum SecurityKeyEntropyMode
  : IComparable, IFormattable, IConvertible
  { ClientEntropy, ServerEntropy, CombinedEntropy }

  public class SecurityMessageProperty
  : IMessageProperty, IDisposable
  public ReadOnlyCollection`1<IAuthorizationPolicy> ExternalAuthorizationPolicies { get; set; }
  public Boolean HasIncomingSupportingTokens { get; }
  public Collection`1<SupportingTokenSpecification> IncomingSupportingTokens { get; }
  public SecurityTokenSpecification InitiatorToken { get; set; }
  public Collection`1<SupportingTokenSpecification> OutgoingSupportingTokens { get; }
  public SecurityTokenSpecification ProtectionToken { get; set; }
  public SecurityTokenSpecification RecipientToken { get; set; }
  public String SenderIdPrefix { get; set; }
  public ServiceSecurityContext ServiceSecurityContext { get; set; }
  public SecurityTokenSpecification TransportToken { get; set; }
  public virtual IMessageProperty CreateCopy();
  public virtual void Dispose();
  static public SecurityMessageProperty GetOrCreate(Message message);

  public class SecurityNegotiationException
  : CommunicationException, ISerializable, _Exception

  public abstract class SecurityPolicyVersion
 
  public String Namespace { get; }
  public String Prefix { get; }
  static public SecurityPolicyVersion WSSecurityPolicy11 { get; }
  static public SecurityPolicyVersion WSSecurityPolicy12 { get; }

  public abstract class SecurityStateEncoder
 
  internal protected abstract virtual Byte DecodeSecurityState(Byte[] data);
  internal protected abstract virtual Byte EncodeSecurityState(Byte[] data);

  public sealed enum SecurityTokenAttachmentMode
  : IComparable, IFormattable, IConvertible
  { Signed, Endorsing, SignedEndorsing, SignedEncrypted }

  public class SecurityTokenSpecification
 
  public SecurityToken SecurityToken { get; }
  public ReadOnlyCollection`1<IAuthorizationPolicy> SecurityTokenPolicies { get; }

  public abstract class SecurityVersion
 
  static public SecurityVersion WSSecurity10 { get; }
  static public SecurityVersion WSSecurity11 { get; }

  public class ServiceCredentialsSecurityTokenManager
  : SecurityTokenManager, IEndpointIdentityProvider
  public ServiceCredentials ServiceCredentials { get; }
  protected SecurityTokenAuthenticator CreateSecureConversationTokenAuthenticator(RecipientServiceModelSecurityTokenRequirement recipientRequirement, Boolean preserveBootstrapTokens, out SecurityTokenResolver& sctResolver);
  public virtual SecurityTokenAuthenticator CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver& outOfBandTokenResolver);
  public virtual SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement requirement);
  public virtual SecurityTokenSerializer CreateSecurityTokenSerializer(SecurityTokenVersion version);
  public virtual EndpointIdentity GetIdentityOfSelf(SecurityTokenRequirement tokenRequirement);
  protected Boolean IsIssuedSecurityTokenRequirement(SecurityTokenRequirement requirement);

  class SecuritySessionSecurityTokenAuthenticator
  : SecurityTokenManager
  public virtual SecurityTokenAuthenticator CreateSecurityTokenAuthenticator(SecurityTokenRequirement tokenRequirement, out SecurityTokenResolver& outOfBandTokenResolver);
  public virtual SecurityTokenProvider CreateSecurityTokenProvider(SecurityTokenRequirement requirement);
  public virtual SecurityTokenSerializer CreateSecurityTokenSerializer(SecurityTokenVersion version);

  public class SimpleSecurityTokenProvider
  : SecurityTokenProvider
  protected virtual SecurityToken GetTokenCore(TimeSpan timeout);

  class ServerSecuritySessionChannel
  : ISecureConversationSession, ISecuritySession, ISession, IInputSession
  public virtual String Id { get; }
  public virtual EndpointIdentity RemoteIdentity { get; }
  public virtual Boolean TryReadSessionTokenIdentifier(XmlReader reader);
  public virtual void WriteSessionTokenIdentifier(XmlDictionaryWriter writer);

  class ClientSecuritySessionChannel<TChannel>
  : ISecureConversationSession, ISecuritySession, ISession, IOutputSession
  public virtual String Id { get; }
  public virtual EndpointIdentity RemoteIdentity { get; }
  public virtual Boolean TryReadSessionTokenIdentifier(XmlReader reader);
  public virtual void WriteSessionTokenIdentifier(XmlDictionaryWriter writer);

  public class SspiSecurityTokenProvider
  : SecurityTokenProvider
  protected virtual SecurityToken GetTokenCore(TimeSpan timeout);

  public class SupportingTokenSpecification
  : SecurityTokenSpecification
  public SecurityTokenAttachmentMode SecurityTokenAttachmentMode { get; }

  public class TripleDesSecurityAlgorithmSuite
  : SecurityAlgorithmSuite
  public virtual String DefaultAsymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultAsymmetricSignatureAlgorithm { get; }
  public virtual String DefaultCanonicalizationAlgorithm { get; }
  public virtual String DefaultDigestAlgorithm { get; }
  public virtual String DefaultEncryptionAlgorithm { get; }
  public virtual Int32 DefaultEncryptionKeyDerivationLength { get; }
  public virtual Int32 DefaultSignatureKeyDerivationLength { get; }
  public virtual Int32 DefaultSymmetricKeyLength { get; }
  public virtual String DefaultSymmetricKeyWrapAlgorithm { get; }
  public virtual String DefaultSymmetricSignatureAlgorithm { get; }
  public virtual Boolean IsAsymmetricKeyLengthSupported(Int32 length);
  public virtual Boolean IsSymmetricKeyLengthSupported(Int32 length);
  public virtual String ToString();

  public abstract class TrustVersion
 
  static public TrustVersion Default { get; }
  public XmlDictionaryString Namespace { get; }
  public XmlDictionaryString Prefix { get; }
  static public TrustVersion WSTrust13 { get; }
  static public TrustVersion WSTrustFeb2005 { get; }

public sealed class UserNamePasswordClientCredential public sealed class UserNamePasswordClientCredential
public String Password { get; set; } public String Password { get; set; }
public String UserName { get; set; } public String UserName { get; set; }

  public sealed class UserNamePasswordServiceCredential
 
  public TimeSpan CachedLogonTokenLifetime { get; set; }
  public Boolean CacheLogonTokens { get; set; }
  public UserNamePasswordValidator CustomUserNamePasswordValidator { get; set; }
  public Boolean IncludeWindowsGroups { get; set; }
  public Int32 MaxCachedLogonTokens { get; set; }
  public MembershipProvider MembershipProvider { get; set; }
  public UserNamePasswordValidationMode UserNamePasswordValidationMode { get; set; }

  public sealed enum UserNamePasswordValidationMode
  : IComparable, IFormattable, IConvertible
  { Windows, MembershipProvider, Custom }

  public sealed class WindowsClientCredential
 
  public TokenImpersonationLevel AllowedImpersonationLevel { get; set; }
  public Boolean AllowNtlm { get; set; }
  public NetworkCredential ClientCredential { get; set; }

  public sealed class WindowsServiceCredential
 
  public Boolean AllowAnonymousLogons { get; set; }
  public Boolean IncludeWindowsGroups { get; set; }

  public class WSSecurityTokenSerializer
  : SecurityTokenSerializer
  static public WSSecurityTokenSerializer DefaultInstance { get; }
  public Boolean EmitBspRequiredAttributes { get; }
  public Int32 MaximumKeyDerivationLabelLength { get; }
  public Int32 MaximumKeyDerivationNonceLength { get; }
  public Int32 MaximumKeyDerivationOffset { get; }
  public SecurityVersion SecurityVersion { get; }
  protected virtual Boolean CanReadKeyIdentifierClauseCore(XmlReader reader);
  protected virtual Boolean CanReadKeyIdentifierCore(XmlReader reader);
  protected virtual Boolean CanReadTokenCore(XmlReader reader);
  protected virtual Boolean CanWriteKeyIdentifierClauseCore(SecurityKeyIdentifierClause keyIdentifierClause);
  protected virtual Boolean CanWriteKeyIdentifierCore(SecurityKeyIdentifier keyIdentifier);
  protected virtual Boolean CanWriteTokenCore(SecurityToken token);
  public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle);
  internal protected virtual String GetTokenTypeUri(Type tokenType);
  protected virtual SecurityKeyIdentifierClause ReadKeyIdentifierClauseCore(XmlReader reader);
  protected virtual SecurityKeyIdentifier ReadKeyIdentifierCore(XmlReader reader);
  protected virtual SecurityToken ReadTokenCore(XmlReader reader, SecurityTokenResolver tokenResolver);
  public virtual Boolean TryCreateKeyIdentifierClauseFromTokenXml(XmlElement element, SecurityTokenReferenceStyle tokenReferenceStyle, out SecurityKeyIdentifierClause& securityKeyIdentifierClause);
  protected virtual void WriteKeyIdentifierClauseCore(XmlWriter writer, SecurityKeyIdentifierClause keyIdentifierClause);
  protected virtual void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier);
  protected virtual void WriteTokenCore(XmlWriter writer, SecurityToken token);

  public class WSTrustChannel
  : IWSTrustChannelContract, IWSTrustContract, IChannel, ICommunicationObject
  public IChannel Channel { get; set; }
  public WSTrustChannelFactory ChannelFactory { get; set; }
  public IWSTrustChannelContract Contract { get; set; }
  public virtual CommunicationState State { get; }
  public TrustVersion TrustVersion { get; set; }
  public WSTrustRequestSerializer WSTrustRequestSerializer { get; set; }
  public WSTrustResponseSerializer WSTrustResponseSerializer { get; set; }
  public WSTrustSerializationContext WSTrustSerializationContext { get; set; }
  public virtual event EventHandler Closed;
  public virtual event EventHandler Closing;
  public virtual event EventHandler Faulted;
  public virtual event EventHandler Opened;
  public virtual event EventHandler Opening;
  public virtual void Abort();
  public virtual IAsyncResult BeginCancel(RequestSecurityToken rst, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginCancel(Message message, AsyncCallback callback, Object asyncState);
  public virtual IAsyncResult BeginClose(TimeSpan timeout, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginClose(AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginIssue(RequestSecurityToken rst, AsyncCallback callback, Object asyncState);
  public virtual IAsyncResult BeginIssue(Message message, AsyncCallback callback, Object asyncState);
  public virtual IAsyncResult BeginOpen(TimeSpan timeout, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginOpen(AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginRenew(RequestSecurityToken rst, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginRenew(Message message, AsyncCallback callback, Object asyncState);
  public virtual IAsyncResult BeginValidate(RequestSecurityToken rst, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginValidate(Message message, AsyncCallback callback, Object asyncState);
  public virtual RequestSecurityTokenResponse Cancel(RequestSecurityToken rst);
  public virtual Message Cancel(Message message);
  public virtual void Close(TimeSpan timeout);
  public virtual void Close();
  protected virtual Message CreateRequest(RequestSecurityToken request, String requestType);
  public virtual void EndCancel(IAsyncResult result, out RequestSecurityTokenResponse& rstr);
  public virtual Message EndCancel(IAsyncResult asyncResult);
  public virtual void EndClose(IAsyncResult result);
  public virtual SecurityToken EndIssue(IAsyncResult result, out RequestSecurityTokenResponse& rstr);
  public virtual Message EndIssue(IAsyncResult asyncResult);
  public virtual void EndOpen(IAsyncResult result);
  public virtual void EndRenew(IAsyncResult result, out RequestSecurityTokenResponse& rstr);
  public virtual Message EndRenew(IAsyncResult asyncResult);
  public virtual void EndValidate(IAsyncResult result, out RequestSecurityTokenResponse& rstr);
  public virtual Message EndValidate(IAsyncResult asyncResult);
  public virtual T GetProperty();
  static protected String GetRequestAction(String requestType, TrustVersion trustVersion);
  public virtual SecurityToken GetTokenFromResponse(RequestSecurityToken request, RequestSecurityTokenResponse response);
  public virtual SecurityToken Issue(RequestSecurityToken rst);
  public virtual SecurityToken Issue(RequestSecurityToken rst, out RequestSecurityTokenResponse& rstr);
  public virtual Message Issue(Message message);
  public virtual void Open(TimeSpan timeout);
  public virtual void Open();
  protected virtual RequestSecurityTokenResponse ReadResponse(Message response);
  public virtual RequestSecurityTokenResponse Renew(RequestSecurityToken rst);
  public virtual Message Renew(Message message);
  public virtual RequestSecurityTokenResponse Validate(RequestSecurityToken rst);
  public virtual Message Validate(Message message);

  public class WSTrustChannelFactory
  : ChannelFactory`1<IWSTrustChannelContract>, ICommunicationObject, IChannelFactory, IDisposable, IChannelFactory`1<IWSTrustChannelContract>
  public SecurityTokenHandlerCollectionManager SecurityTokenHandlerCollectionManager { get; set; }
  public SecurityTokenResolver SecurityTokenResolver { get; set; }
  public TrustVersion TrustVersion { get; set; }
  public SecurityTokenResolver UseKeyTokenResolver { get; set; }
  public WSTrustRequestSerializer WSTrustRequestSerializer { get; set; }
  public WSTrustResponseSerializer WSTrustResponseSerializer { get; set; }
  public virtual IWSTrustChannelContract CreateChannel(EndpointAddress address, Uri via);
  protected virtual WSTrustSerializationContext CreateSerializationContext();
  protected virtual WSTrustChannel CreateTrustChannel(IWSTrustChannelContract innerChannel, TrustVersion trustVersion, WSTrustSerializationContext context, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer);

  public class WSTrustRequestBodyWriter
  : BodyWriter
  protected virtual void OnWriteBodyContents(XmlDictionaryWriter writer);

  public class WSTrustRequestProcessingErrorEventArgs
  : EventArgs
  public Exception Exception { get; }
  public String RequestType { get; }

  public class WSTrustResponseBodyWriter
  : BodyWriter
  protected virtual void OnWriteBodyContents(XmlDictionaryWriter writer);

  public class WSTrustServiceContract
  : IWSTrustFeb2005SyncContract, IWSTrust13SyncContract, IWSTrustFeb2005AsyncContract, IWSTrust13AsyncContract, IWsdlExportExtension, IContractBehavior
  public SecurityTokenServiceConfiguration SecurityTokenServiceConfiguration { get; }
  public event EventHandler`1<WSTrustRequestProcessingErrorEventArgs> RequestFailed;
  public virtual void AddBindingParameters(ContractDescription contractDescription, ServiceEndpoint endpoint, BindingParameterCollection bindingParameters);
  public virtual void ApplyClientBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, ClientRuntime clientRuntime);
  public virtual void ApplyDispatchBehavior(ContractDescription contractDescription, ServiceEndpoint endpoint, DispatchRuntime dispatchRuntime);
  protected virtual IAsyncResult BeginDispatchRequest(DispatchContext dispatchContext, AsyncCallback asyncCallback, Object asyncState);
  protected virtual IAsyncResult BeginProcessCore(Message requestMessage, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer, String requestAction, String responseAction, String trustNamespace, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13Cancel(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13CancelResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13Issue(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13IssueResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13Renew(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13RenewResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13Validate(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrust13ValidateResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005Cancel(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005CancelResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005Issue(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005IssueResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005Renew(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005RenewResponse(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005Validate(Message request, AsyncCallback callback, Object state);
  public virtual IAsyncResult BeginTrustFeb2005ValidateResponse(Message request, AsyncCallback callback, Object state);
  protected virtual DispatchContext CreateDispatchContext(Message requestMessage, String requestAction, String responseAction, String trustNamespace, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer, WSTrustSerializationContext serializationContext);
  protected virtual WSTrustSerializationContext CreateSerializationContext();
  protected virtual void DispatchRequest(DispatchContext dispatchContext);
  protected virtual DispatchContext EndDispatchRequest(IAsyncResult ar);
  protected virtual Message EndProcessCore(IAsyncResult ar, String requestAction, String responseAction, String trustNamespace);
  public virtual Message EndTrust13Cancel(IAsyncResult ar);
  public virtual Message EndTrust13CancelResponse(IAsyncResult ar);
  public virtual Message EndTrust13Issue(IAsyncResult ar);
  public virtual Message EndTrust13IssueResponse(IAsyncResult ar);
  public virtual Message EndTrust13Renew(IAsyncResult ar);
  public virtual Message EndTrust13RenewResponse(IAsyncResult ar);
  public virtual Message EndTrust13Validate(IAsyncResult ar);
  public virtual Message EndTrust13ValidateResponse(IAsyncResult ar);
  public virtual Message EndTrustFeb2005Cancel(IAsyncResult ar);
  public virtual Message EndTrustFeb2005CancelResponse(IAsyncResult ar);
  public virtual Message EndTrustFeb2005Issue(IAsyncResult ar);
  public virtual Message EndTrustFeb2005IssueResponse(IAsyncResult ar);
  public virtual Message EndTrustFeb2005Renew(IAsyncResult ar);
  public virtual Message EndTrustFeb2005RenewResponse(IAsyncResult ar);
  public virtual Message EndTrustFeb2005Validate(IAsyncResult ar);
  public virtual Message EndTrustFeb2005ValidateResponse(IAsyncResult ar);
  public virtual void ExportContract(WsdlExporter exporter, WsdlContractConversionContext context);
  public virtual void ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context);
  protected virtual void FixMessageElement(ServiceDescription serviceDescription, PortType portType, WsdlEndpointConversionContext context, String operationName, XmlQualifiedName inputMessageElement, XmlQualifiedName outputMessageElement);
  protected virtual SecurityTokenResolver GetRstSecurityTokenResolver();
  protected virtual SecurityTokenResolver GetSecurityHeaderTokenResolver(RequestContext requestContext);
  protected virtual Boolean HandleException(Exception ex, String trustNamespace, String action, EnvelopeVersion requestEnvelopeVersion);
  protected virtual void ImportSchema(WsdlExporter exporter, WsdlEndpointConversionContext context, String ns);
  protected virtual void IncludeNamespace(WsdlEndpointConversionContext context, String prefix, String ns);
  protected virtual Message ProcessCore(Message requestMessage, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer, String requestAction, String responseAction, String trustNamespace);
  public virtual Message ProcessTrust13Cancel(Message message);
  public virtual Message ProcessTrust13CancelResponse(Message message);
  public virtual Message ProcessTrust13Issue(Message message);
  public virtual Message ProcessTrust13IssueResponse(Message message);
  public virtual Message ProcessTrust13Renew(Message message);
  public virtual Message ProcessTrust13RenewResponse(Message message);
  public virtual Message ProcessTrust13Validate(Message message);
  public virtual Message ProcessTrust13ValidateResponse(Message message);
  public virtual Message ProcessTrustFeb2005Cancel(Message message);
  public virtual Message ProcessTrustFeb2005CancelResponse(Message message);
  public virtual Message ProcessTrustFeb2005Issue(Message message);
  public virtual Message ProcessTrustFeb2005IssueResponse(Message message);
  public virtual Message ProcessTrustFeb2005Renew(Message message);
  public virtual Message ProcessTrustFeb2005RenewResponse(Message message);
  public virtual Message ProcessTrustFeb2005Validate(Message message);
  public virtual Message ProcessTrustFeb2005ValidateResponse(Message message);
  public virtual void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint);
  protected virtual void ValidateDispatchContext(DispatchContext dispatchContext);

  public class WSTrustServiceHost
  : ServiceHost, ICommunicationObject, IExtensibleObject`1<ServiceHostBase>, IDisposable
  public SecurityTokenServiceConfiguration SecurityTokenServiceConfiguration { get; }
  public WSTrustServiceContract ServiceContract { get; }
  protected virtual void ApplyConfiguration();
  protected virtual void ConfigureMetadata();
  protected virtual void InitializeRuntime();
  protected virtual void UpdateServiceConfiguration();

  public sealed class X509CertificateInitiatorClientCredential
 
  public X509Certificate2 Certificate { get; set; }
  public void SetCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName);
  public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue);

  public sealed class X509CertificateInitiatorServiceCredential
 
  public X509ClientCertificateAuthentication Authentication { get; }
  public X509Certificate2 Certificate { get; set; }
  public void SetCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName);
  public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue);

  public sealed class X509CertificateRecipientClientCredential
 
  public X509ServiceCertificateAuthentication Authentication { get; }
  public X509Certificate2 DefaultCertificate { get; set; }
  public Dictionary`2<Uri, X509Certificate2> ScopedCertificates { get; }
  public void SetDefaultCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName);
  public void SetDefaultCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue);
  public void SetScopedCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName, Uri targetService);
  public void SetScopedCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue, Uri targetService);

  public sealed class X509CertificateRecipientServiceCredential
 
  public X509Certificate2 Certificate { get; set; }
  public void SetCertificate(String subjectName);
  public void SetCertificate(String subjectName, StoreLocation storeLocation, StoreName storeName);
  public void SetCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, Object findValue);

  public class X509ClientCertificateAuthentication
 
  public X509CertificateValidationMode CertificateValidationMode { get; set; }
  public X509CertificateValidator CustomCertificateValidator { get; set; }
  public Boolean IncludeWindowsGroups { get; set; }
  public Boolean MapClientCertificateToWindowsAccount { get; set; }
  public X509RevocationMode RevocationMode { get; set; }
  public StoreLocation TrustedStoreLocation { get; set; }

  public class X509PeerCertificateAuthentication
 
  public X509CertificateValidationMode CertificateValidationMode { get; set; }
  public X509CertificateValidator CustomCertificateValidator { get; set; }
  public X509RevocationMode RevocationMode { get; set; }
  public StoreLocation TrustedStoreLocation { get; set; }

  public class X509ServiceCertificateAuthentication
 
  public X509CertificateValidationMode CertificateValidationMode { get; set; }
  public X509CertificateValidator CustomCertificateValidator { get; set; }
  public X509RevocationMode RevocationMode { get; set; }
  public StoreLocation TrustedStoreLocation { get; set; }

  class WSSecurityJan2004
  : BinaryTokenEntry
  public virtual SecurityKeyIdentifierClause CreateKeyIdentifierClauseFromBinaryCore(Byte rawData);
  protected virtual Type GetTokenTypesCore();
  public virtual SecurityToken ReadBinaryCore(String id, String valueTypeUri, Byte rawData);
  public virtual void WriteBinaryCore(SecurityToken token, out String& id, out Byte& rawData);