System.ServiceModel.Security.SendSecurityHeader
namespace System.ServiceModel.Security
{
internal abstract class SendSecurityHeader : SecurityHeader, IMessageHeaderWithSharedNamespace
{
public SendSecurityHeaderElementContainer ElementContainer { get; }
public BufferManager StreamBufferManager { get; set; }
protected SecurityAppliedMessage SecurityAppliedMessage { get; }
public bool SignThenEncrypt { get; set; }
public bool ShouldProtectTokens { get; set; }
public bool EncryptPrimarySignature { get; set; }
public string IdPrefix { get; set; }
protected bool ShouldSignToHeader { get; }
public SecurityTimestamp Timestamp { get; }
protected SendSecurityHeader(Message message, string actor, bool mustUnderstand, bool relay, SecurityStandardsManager standardsManager, SecurityAlgorithmSuite algorithmSuite, MessageDirection transferDirection);
public void AddBasicSupportingToken(SecurityToken token, SecurityTokenParameters parameters);
public void AddEndorsingSupportingToken(SecurityToken token, SecurityTokenParameters parameters);
public void AddSignedEndorsingSupportingToken(SecurityToken token, SecurityTokenParameters parameters);
public void AddSignedSupportingToken(SecurityToken token, SecurityTokenParameters parameters);
protected bool ShouldUseStrTransformForToken(SecurityToken securityToken, int position, SecurityTokenAttachmentMode mode, out SecurityKeyIdentifierClause keyIdentifierClause);
public abstract void ApplyBodySecurity(XmlDictionaryWriter writer, IPrefixGenerator prefixGenerator);
public abstract void ApplySecurityAndWriteHeaders(MessageHeaders headers, XmlDictionaryWriter writer, IPrefixGenerator prefixGenerator);
public void AddTimestamp(TimeSpan timestampValidityDuration);
public void AddTimestamp(SecurityTimestamp timestamp);
protected abstract void WriteSecurityTokenReferencyEntry(XmlDictionaryWriter writer, SecurityToken securityToken, SecurityTokenParameters securityTokenParameters);
public Message SetupExecution();
protected virtual ISignatureValueSecurityElement[] CreateSignatureConfirmationElements(SignatureConfirmations signatureConfirmations);
public void RemoveSignatureEncryptionIfAppropriate();
public string GenerateId();
protected abstract void StartPrimarySignatureCore(SecurityToken token, SecurityKeyIdentifier identifier, MessagePartSpecification signatureParts, bool generateTargettablePrimarySignature);
protected abstract ISignatureValueSecurityElement CompletePrimarySignatureCore(SendSecurityHeaderElement[] signatureConfirmations, SecurityToken[] signedEndorsingTokens, SecurityToken[] signedTokens, SendSecurityHeaderElement[] basicTokens, bool isPrimarySignature);
protected abstract ISignatureValueSecurityElement CreateSupportingSignature(SecurityToken token, SecurityKeyIdentifier identifier);
protected abstract ISignatureValueSecurityElement CreateSupportingSignature(SecurityToken token, SecurityKeyIdentifier identifier, ISecurityElement primarySignature);
}
}