Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- KeyValuePair.cs
- SerializationHelper.cs
- PersonalizationEntry.cs
- WindowsAltTab.cs
- SelectionItemPattern.cs
- WindowsFont.cs
- RbTree.cs
- StructuralCache.cs
- ErrorEventArgs.cs
- AvTraceFormat.cs
- ProcessModelInfo.cs
- NavigateUrlConverter.cs
- OleDbDataAdapter.cs
- DrawingDrawingContext.cs
- InheritedPropertyChangedEventArgs.cs
- RectKeyFrameCollection.cs
- DeploymentExceptionMapper.cs
- CheckoutException.cs
- XmlSchemaCollection.cs
- TokenFactoryFactory.cs
- BrowserTree.cs
- DbgUtil.cs
- PointLightBase.cs
- EmptyCollection.cs
- GridViewColumnCollection.cs
- PanelStyle.cs
- PersonalizationDictionary.cs
- StringReader.cs
- IndicShape.cs
- ItemCheckEvent.cs
- SaveFileDialog.cs
- PointHitTestResult.cs
- NonVisualControlAttribute.cs
- WSSecurityPolicy12.cs
- VectorConverter.cs
- ExpressionBinding.cs
- RuleElement.cs
- RemotingAttributes.cs
- DataControlLinkButton.cs
- _NegoStream.cs
- Attributes.cs
- WebPartsPersonalizationAuthorization.cs
- PanelStyle.cs
- EditorPartChrome.cs
- DesignTimeHTMLTextWriter.cs
- WindowInteractionStateTracker.cs
- QueryResultOp.cs
- FixedBufferAttribute.cs
- ContractComponent.cs
- DataBindEngine.cs
- ProfileModule.cs
- PriorityQueue.cs
- SrgsElementList.cs
- FactoryGenerator.cs
- SqlEnums.cs
- LazyTextWriterCreator.cs
- LocalValueEnumerator.cs
- GenericWebPart.cs
- DeploymentSection.cs
- InvalidOperationException.cs
- PropertyRecord.cs
- SecurityResources.cs
- BlurEffect.cs
- Pair.cs
- SaveFileDialog.cs
- OverrideMode.cs
- SocketElement.cs
- TaskbarItemInfo.cs
- WindowsScrollBarBits.cs
- HtmlForm.cs
- SignatureToken.cs
- DrawingContextWalker.cs
- EdmError.cs
- SettingsSavedEventArgs.cs
- SharedPersonalizationStateInfo.cs
- Msmq4SubqueuePoisonHandler.cs
- _SslSessionsCache.cs
- ClientTargetSection.cs
- EventManager.cs
- TrustManager.cs
- TableLayout.cs
- CodeTypeReferenceCollection.cs
- ScriptingRoleServiceSection.cs
- NotifyInputEventArgs.cs
- DecimalFormatter.cs
- ControlAdapter.cs
- CachedBitmap.cs
- Configuration.cs
- Marshal.cs
- WindowsStatusBar.cs
- loginstatus.cs
- ModifiableIteratorCollection.cs
- XsltArgumentList.cs
- WindowsProgressbar.cs
- OrderToken.cs
- HtmlTable.cs
- ExpressionWriter.cs
- RootBrowserWindowAutomationPeer.cs
- XmlReflectionImporter.cs
- CustomSignedXml.cs