59 lines
1.9 KiB
C#
59 lines
1.9 KiB
C#
|
//----------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//------------------------------------------------------------
|
||
|
|
||
|
namespace System.ServiceModel.Security
|
||
|
{
|
||
|
struct ReceiveSecurityHeaderEntry
|
||
|
{
|
||
|
internal ReceiveSecurityHeaderElementCategory elementCategory;
|
||
|
internal object element;
|
||
|
internal ReceiveSecurityHeaderBindingModes bindingMode;
|
||
|
internal string id;
|
||
|
internal string encryptedFormId;
|
||
|
internal string encryptedFormWsuId;
|
||
|
internal bool signed;
|
||
|
internal bool encrypted;
|
||
|
internal byte[] decryptedBuffer;
|
||
|
internal TokenTracker supportingTokenTracker;
|
||
|
internal bool doubleEncrypted;
|
||
|
|
||
|
public bool MatchesId(string id, bool requiresEncryptedFormId)
|
||
|
{
|
||
|
if (doubleEncrypted)
|
||
|
{
|
||
|
return (this.encryptedFormId == id || this.encryptedFormWsuId == id);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if (requiresEncryptedFormId)
|
||
|
{
|
||
|
return this.encryptedFormId == id;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return this.id == id;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void PreserveIdBeforeDecryption()
|
||
|
{
|
||
|
this.encryptedFormId = this.id;
|
||
|
}
|
||
|
|
||
|
public void SetElement(
|
||
|
ReceiveSecurityHeaderElementCategory elementCategory, object element,
|
||
|
ReceiveSecurityHeaderBindingModes bindingMode, string id, bool encrypted, byte[] decryptedBuffer, TokenTracker supportingTokenTracker)
|
||
|
{
|
||
|
this.elementCategory = elementCategory;
|
||
|
this.element = element;
|
||
|
this.bindingMode = bindingMode;
|
||
|
this.encrypted = encrypted;
|
||
|
this.decryptedBuffer = decryptedBuffer;
|
||
|
this.supportingTokenTracker = supportingTokenTracker;
|
||
|
this.id = id;
|
||
|
}
|
||
|
}
|
||
|
}
|