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
- ControlIdConverter.cs
- DeclarationUpdate.cs
- OrderedDictionaryStateHelper.cs
- FrugalMap.cs
- ObjectMemberMapping.cs
- TableCell.cs
- Executor.cs
- ParameterElement.cs
- TraceHwndHost.cs
- DesignerOptions.cs
- Stream.cs
- Timer.cs
- Timer.cs
- GlyphRunDrawing.cs
- ZipPackage.cs
- ObjectQueryState.cs
- XmlSchemaSet.cs
- AggregateNode.cs
- precedingsibling.cs
- TreeView.cs
- ActivationArguments.cs
- WindowsRichEdit.cs
- Expression.cs
- SoapRpcServiceAttribute.cs
- GradientBrush.cs
- OleAutBinder.cs
- MenuItemAutomationPeer.cs
- TransformGroup.cs
- DesignerVerbCollection.cs
- DbConnectionPool.cs
- CatalogZone.cs
- InternalSafeNativeMethods.cs
- AbandonedMutexException.cs
- ErrorWebPart.cs
- ColumnReorderedEventArgs.cs
- TextTabProperties.cs
- ArcSegment.cs
- Activity.cs
- RootAction.cs
- SmiRequestExecutor.cs
- ContentControl.cs
- ModifierKeysValueSerializer.cs
- InvalidPrinterException.cs
- QueryCacheManager.cs
- EntityTypeBase.cs
- SettingsAttributes.cs
- XmlLanguage.cs
- ApplicationHost.cs
- EventLogPermissionAttribute.cs
- DesignRelation.cs
- HandleCollector.cs
- UnitySerializationHolder.cs
- IntegerValidator.cs
- DetailsViewRowCollection.cs
- XmlILAnnotation.cs
- PackageRelationshipCollection.cs
- IgnoreSectionHandler.cs
- CatchDesigner.xaml.cs
- SplineQuaternionKeyFrame.cs
- Container.cs
- CodeRegionDirective.cs
- DataAccessor.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- TableDetailsCollection.cs
- ParserExtension.cs
- sqlpipe.cs
- MediaScriptCommandRoutedEventArgs.cs
- VariableExpressionConverter.cs
- FileUpload.cs
- ResXBuildProvider.cs
- ByteStack.cs
- XmlRawWriterWrapper.cs
- BufferedStream.cs
- RegisterInfo.cs
- ExtendLockAsyncResult.cs
- SoapProcessingBehavior.cs
- SqlVisitor.cs
- DeferredBinaryDeserializerExtension.cs
- BuildManagerHost.cs
- ListControlBoundActionList.cs
- SQLUtility.cs
- XmlArrayAttribute.cs
- TaiwanCalendar.cs
- ImageSource.cs
- HandlerBase.cs
- CommandValueSerializer.cs
- TrackingQuery.cs
- VirtualPath.cs
- Random.cs
- TableAdapterManagerNameHandler.cs
- ObjectRef.cs
- MatcherBuilder.cs
- DeferredReference.cs
- HtmlInputHidden.cs
- RuntimeConfigLKG.cs
- BoolLiteral.cs
- TextServicesHost.cs
- WebMethodAttribute.cs
- CustomValidator.cs
- SiblingIterators.cs