Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1 / EncryptedKeyIdentifierClause.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.IdentityModel.Tokens
{
using System.Globalization;
sealed public class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause
{
readonly string carriedKeyName;
readonly string encryptionMethod;
readonly SecurityKeyIdentifier encryptingKeyIdentifier;
public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod)
: this(encryptedKey, encryptionMethod, null)
{
}
public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier)
: this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, null)
{
}
public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName)
: this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, null, 0)
{
}
public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength)
: this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, derivationNonce, derivationLength)
{
}
internal EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, bool cloneBuffer, byte[] derivationNonce, int derivationLength)
: base("http://www.w3.org/2001/04/xmlenc#EncryptedKey", encryptedKey, cloneBuffer, derivationNonce, derivationLength)
{
if (encryptionMethod == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("encryptionMethod");
}
this.carriedKeyName = carriedKeyName;
this.encryptionMethod = encryptionMethod;
this.encryptingKeyIdentifier = encryptingKeyIdentifier;
}
public string CarriedKeyName
{
get { return this.carriedKeyName; }
}
public SecurityKeyIdentifier EncryptingKeyIdentifier
{
get { return this.encryptingKeyIdentifier; }
}
public string EncryptionMethod
{
get { return this.encryptionMethod; }
}
public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause)
{
EncryptedKeyIdentifierClause that = keyIdentifierClause as EncryptedKeyIdentifierClause;
// PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here.
#pragma warning suppress 56506
return ReferenceEquals(this, that) || (that != null && that.Matches(this.GetRawBuffer(), this.encryptionMethod, this.carriedKeyName));
}
public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName)
{
return Matches(encryptedKey) && this.encryptionMethod == encryptionMethod && this.carriedKeyName == carriedKeyName;
}
public byte[] GetEncryptedKey()
{
return GetBuffer();
}
public override string ToString()
{
return string.Format(CultureInfo.InvariantCulture, "EncryptedKeyIdentifierClause(EncryptedKey = {0}, Method '{1}')",
Convert.ToBase64String(GetRawBuffer()), this.EncryptionMethod);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NonClientArea.cs
- CloseSequence.cs
- WindowsScrollBarBits.cs
- CacheOutputQuery.cs
- DoubleCollectionConverter.cs
- MarshalDirectiveException.cs
- Util.cs
- StatusBarPanelClickEvent.cs
- SymbolPair.cs
- PrintPreviewControl.cs
- WinEventQueueItem.cs
- DataExpression.cs
- WindowsGraphics2.cs
- DataGridBoolColumn.cs
- SqlIdentifier.cs
- FixedSOMGroup.cs
- BrowserCapabilitiesCompiler.cs
- ProfileBuildProvider.cs
- MimeFormatExtensions.cs
- PeerTransportElement.cs
- OverrideMode.cs
- StylusCollection.cs
- GradientPanel.cs
- ContentIterators.cs
- SpotLight.cs
- PointCollection.cs
- ProgressBarHighlightConverter.cs
- AuthenticationService.cs
- DesignerActionListCollection.cs
- XmlWellformedWriter.cs
- ProfilePropertyMetadata.cs
- DescriptionAttribute.cs
- UdpTransportSettingsElement.cs
- IpcServerChannel.cs
- SoapSchemaExporter.cs
- latinshape.cs
- PrimaryKeyTypeConverter.cs
- RenderData.cs
- HwndTarget.cs
- VariableAction.cs
- SymDocumentType.cs
- cache.cs
- SystemWebCachingSectionGroup.cs
- TargetPerspective.cs
- WebPartCollection.cs
- DataServiceQueryOfT.cs
- SpecularMaterial.cs
- ThumbAutomationPeer.cs
- PerformanceCounterLib.cs
- Message.cs
- AssemblyBuilderData.cs
- BindingContext.cs
- FilterQuery.cs
- ConnectionManagementElementCollection.cs
- NativeMethods.cs
- ResolveCriteria11.cs
- XmlSchemaSet.cs
- ViewBase.cs
- DateBoldEvent.cs
- CacheVirtualItemsEvent.cs
- RtfFormatStack.cs
- UpdatePanelTriggerCollection.cs
- FrameworkContentElement.cs
- DataGridClipboardCellContent.cs
- OutputCacheSection.cs
- DropDownList.cs
- Byte.cs
- LocalizationComments.cs
- NavigationHelper.cs
- ValidationPropertyAttribute.cs
- StickyNoteAnnotations.cs
- InputManager.cs
- NotImplementedException.cs
- XmlSchemaExternal.cs
- MdbDataFileEditor.cs
- XmlStringTable.cs
- StringConcat.cs
- EncodingNLS.cs
- LinqToSqlWrapper.cs
- ArrayMergeHelper.cs
- FileVersionInfo.cs
- OraclePermissionAttribute.cs
- PopupControlService.cs
- SharedUtils.cs
- CuspData.cs
- ToolStripDropDownItem.cs
- LocatorPart.cs
- WebPartPersonalization.cs
- PathFigure.cs
- BaseCollection.cs
- FontFamily.cs
- SafeRightsManagementHandle.cs
- GridItemPattern.cs
- MultipartContentParser.cs
- WindowInteropHelper.cs
- StorageFunctionMapping.cs
- DataGridAutoFormat.cs
- ZoomPercentageConverter.cs
- ZipPackagePart.cs
- DataGridViewCellValueEventArgs.cs