私は制御できない Java Web サービス用の WCF クライアントを作成していますが、Timestamp ヘッダー要素が署名されている場合にサービスが InvalidSecurity フォールトを返すという問題が発生しました。
私は現在、次を使用していますSecurityBindingElement
が、これにより Timestamp 要素が自動的に署名されます。どうすればこの動作を停止できますか? より一般的には、署名されている要素と署名されていない要素をどのように制御できますか?
var version = MessageSecurityVersion.WSSecurity10WSTrust13WSSecureConversation13WSSecurityPolicy12BasicSecurityProfile10;
var sec = (AsymmetricSecurityBindingElement)SecurityBindingElement.CreateMutualCertificateBindingElement(version);
sec.EndpointSupportingTokenParameters.Signed.Add(new UserNameSecurityTokenParameters());
sec.MessageSecurityVersion = version;
sec.IncludeTimestamp = true;
sec.MessageProtectionOrder = MessageProtectionOrder.EncryptBeforeSign;