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
- SvcMapFileSerializer.cs
- Serializer.cs
- TransactedReceiveData.cs
- SiteMap.cs
- EventSinkHelperWriter.cs
- IdentityModelDictionary.cs
- BaseWebProxyFinder.cs
- Event.cs
- SchemaCollectionCompiler.cs
- WorkflowRuntime.cs
- WeakEventManager.cs
- CodeEventReferenceExpression.cs
- IPipelineRuntime.cs
- documentsequencetextcontainer.cs
- WindowsListViewSubItem.cs
- ToolStripCustomTypeDescriptor.cs
- GeneralTransformGroup.cs
- WorkflowMessageEventArgs.cs
- BaseInfoTable.cs
- DrawListViewColumnHeaderEventArgs.cs
- ConfigXmlComment.cs
- ChildChangedEventArgs.cs
- ImageDrawing.cs
- XmlDataSourceView.cs
- RoleExceptions.cs
- RuleSettings.cs
- localization.cs
- LocalServiceSecuritySettings.cs
- SolidColorBrush.cs
- SqlOuterApplyReducer.cs
- WindowsFormsHostPropertyMap.cs
- XmlSchemaExporter.cs
- SoapIgnoreAttribute.cs
- InputQueue.cs
- PersonalizationStateQuery.cs
- SiteMapSection.cs
- FixedTextBuilder.cs
- GeometryHitTestParameters.cs
- EnvironmentPermission.cs
- QuotedPairReader.cs
- HintTextConverter.cs
- Bezier.cs
- EntitySetBase.cs
- BulletChrome.cs
- webeventbuffer.cs
- OleDbFactory.cs
- securestring.cs
- DebugViewWriter.cs
- XsdCachingReader.cs
- XmlEncodedRawTextWriter.cs
- PasswordTextNavigator.cs
- FixUp.cs
- ImageSource.cs
- RouteParser.cs
- UserPrincipalNameElement.cs
- StateRuntime.cs
- SafeEventLogWriteHandle.cs
- SendOperation.cs
- Zone.cs
- UInt64Converter.cs
- XmlSchemaInfo.cs
- EntityWrapperFactory.cs
- DefaultEventAttribute.cs
- SecureConversationVersion.cs
- UnsafePeerToPeerMethods.cs
- WsatTransactionInfo.cs
- TagPrefixCollection.cs
- TextViewElement.cs
- DataGrid.cs
- DynamicValidatorEventArgs.cs
- ConditionChanges.cs
- BitmapSource.cs
- SkipStoryboardToFill.cs
- ListViewContainer.cs
- EdmMember.cs
- ComplexBindingPropertiesAttribute.cs
- NativeMethods.cs
- StylusButton.cs
- X509Logo.cs
- Expression.cs
- SafeNativeMethods.cs
- ProtocolReflector.cs
- BaseComponentEditor.cs
- RowUpdatingEventArgs.cs
- DataGridCell.cs
- InvokeProviderWrapper.cs
- StatusBar.cs
- List.cs
- MsmqBindingElementBase.cs
- EntityViewGenerationAttribute.cs
- ParserStreamGeometryContext.cs
- SchemaCollectionCompiler.cs
- XPathNavigatorReader.cs
- MULTI_QI.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SoapRpcMethodAttribute.cs
- BinaryObjectInfo.cs
- ContextQuery.cs
- TreeNodeClickEventArgs.cs
- TdsParserStaticMethods.cs