System.ServiceModel.Security.SecurityProtocol
namespace System.ServiceModel.Security
{
internal abstract class SecurityProtocol : ISecurityCommunicationObject
{
protected WrapperSecurityCommunicationObject CommunicationObject { get; }
public SecurityProtocolFactory SecurityProtocolFactory { get; }
public EndpointAddress Target { get; }
public Uri Via { get; }
public ICollection<SupportingTokenProviderSpecification> ChannelSupportingTokenProviderSpecification { get; }
public Dictionary<string, ICollection<SupportingTokenProviderSpecification>> ScopedSupportingTokenProviderSpecification { get; }
public ChannelParameterCollection ChannelParameters { get; set; }
public TimeSpan DefaultOpenTimeout { get; }
public TimeSpan DefaultCloseTimeout { get; }
protected SecurityProtocol(SecurityProtocolFactory factory, EndpointAddress target, Uri via);
public void OnClosed();
public void OnClosing();
public void OnFaulted();
public void OnOpened();
public void OnOpening();
protected InitiatorServiceModelSecurityTokenRequirement CreateInitiatorSecurityTokenRequirement();
public Task OpenAsync(TimeSpan timeout);
public virtual Task OnOpenAsync(TimeSpan timeout);
public Task CloseAsync(bool aborted, TimeSpan timeout);
public virtual void OnAbort();
public virtual Task OnCloseAsync(TimeSpan timeout);
protected void AddSupportingTokenSpecification(SecurityMessageProperty security, IList<SecurityToken> basicTokens, IList<SecurityToken> endorsingTokens, IList<SecurityToken> signedEndorsingTokens, IList<SecurityToken> signedTokens, IDictionary<SecurityToken, ReadOnlyCollection<IAuthorizationPolicy>> tokenPoliciesMapping);
protected SendSecurityHeader CreateSendSecurityHeader(Message message, string actor, SecurityProtocolFactory factory);
protected SendSecurityHeader CreateSendSecurityHeaderForTransportProtocol(Message message, string actor, SecurityProtocolFactory factory);
protected ReadOnlyCollection<SecurityTokenResolver> MergeOutOfBandResolvers(IList<SupportingTokenAuthenticatorSpecification> supportingAuthenticators, ReadOnlyCollection<SecurityTokenResolver> primaryResolvers);
protected void AddSupportingTokens(SendSecurityHeader securityHeader, IList<SupportingTokenSpecification> supportingTokens);
public abstract Task<Message> SecureOutgoingMessageAsync(Message message, TimeSpan timeout);
public virtual Task<(SecurityProtocolCorrelationState, Message)> SecureOutgoingMessageAsync(Message message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState);
protected virtual void OnOutgoingMessageSecured(Message securedMessage);
protected virtual void OnSecureOutgoingMessageFailure(Message message);
public abstract void VerifyIncomingMessage(ref Message message, TimeSpan timeout);
public virtual SecurityProtocolCorrelationState VerifyIncomingMessage(ref Message message, TimeSpan timeout, params SecurityProtocolCorrelationState[] correlationStates);
protected virtual void OnIncomingMessageVerified(Message verifiedMessage);
protected virtual void OnVerifyIncomingMessageFailure(Message message, Exception exception);
}
}