<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.1" />

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); } }