Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / BinaryKeyIdentifierClause.cs / 1305376 / BinaryKeyIdentifierClause.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; using HexBinary = System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary; public abstract class BinaryKeyIdentifierClause : SecurityKeyIdentifierClause { readonly byte[] identificationData; protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer) : this(clauseType, identificationData, cloneBuffer, null, 0) { } protected BinaryKeyIdentifierClause(string clauseType, byte[] identificationData, bool cloneBuffer, byte[] derivationNonce, int derivationLength) : base(clauseType, derivationNonce, derivationLength) { if (identificationData == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("identificationData")); } if (identificationData.Length == 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("identificationData", SR.GetString(SR.LengthMustBeGreaterThanZero))); } if (cloneBuffer) { this.identificationData = SecurityUtils.CloneBuffer(identificationData); } else { this.identificationData = identificationData; } } public byte[] GetBuffer() { return SecurityUtils.CloneBuffer(this.identificationData); } protected byte[] GetRawBuffer() { return this.identificationData; } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { BinaryKeyIdentifierClause that = keyIdentifierClause as BinaryKeyIdentifierClause; // 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.identificationData)); } public bool Matches(byte[] data) { return Matches(data, 0); } public bool Matches(byte[] data, int offset) { if (offset < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("offset", SR.GetString(SR.ValueMustBeNonNegative))); } return SecurityUtils.MatchesBuffer(this.identificationData, 0, data, offset); } internal string ToBase64String() { return Convert.ToBase64String(this.identificationData); } internal string ToHexString() { return new HexBinary(this.identificationData).ToString(); } } } // 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
- TemplateBamlTreeBuilder.cs
- RijndaelCryptoServiceProvider.cs
- IPGlobalProperties.cs
- Setter.cs
- XPathCompiler.cs
- DesignerCategoryAttribute.cs
- PolyLineSegment.cs
- MessagePropertyFilter.cs
- EncodingDataItem.cs
- XmlAnyElementAttributes.cs
- PackWebResponse.cs
- ClientSponsor.cs
- FileVersionInfo.cs
- SpellerInterop.cs
- TraceHandler.cs
- SiteIdentityPermission.cs
- RectConverter.cs
- UserControl.cs
- RealizationDrawingContextWalker.cs
- XamlTreeBuilder.cs
- SByte.cs
- WindowsSolidBrush.cs
- SubMenuStyleCollection.cs
- DataGridViewIntLinkedList.cs
- BinaryObjectReader.cs
- DbConnectionFactory.cs
- ScrollBar.cs
- WizardStepBase.cs
- CaretElement.cs
- PointAnimationBase.cs
- ExpressionWriter.cs
- TemplatedMailWebEventProvider.cs
- LocalClientSecuritySettingsElement.cs
- OrderedParallelQuery.cs
- Stack.cs
- GeneralTransform2DTo3DTo2D.cs
- VectorCollectionValueSerializer.cs
- CellQuery.cs
- SynchronizationContext.cs
- WebPartCloseVerb.cs
- InkCanvasAutomationPeer.cs
- MenuItemCollection.cs
- TablePattern.cs
- FusionWrap.cs
- SynchronizedKeyedCollection.cs
- _SslSessionsCache.cs
- XmlStreamStore.cs
- BindStream.cs
- EndpointAddressMessageFilterTable.cs
- XmlValidatingReaderImpl.cs
- figurelength.cs
- XhtmlTextWriter.cs
- HttpTransportElement.cs
- validationstate.cs
- PtsCache.cs
- RegexCharClass.cs
- MimeTypeMapper.cs
- ScriptResourceDefinition.cs
- XsdValidatingReader.cs
- SchemaImporter.cs
- XmlTextEncoder.cs
- JsonWriter.cs
- TextPointerBase.cs
- ValidationErrorEventArgs.cs
- BaseAppDomainProtocolHandler.cs
- SoundPlayer.cs
- TabPanel.cs
- TypeReference.cs
- XmlAutoDetectWriter.cs
- DbUpdateCommandTree.cs
- XmlHierarchyData.cs
- QuaternionKeyFrameCollection.cs
- AlternationConverter.cs
- ImportDesigner.xaml.cs
- RoleManagerSection.cs
- BitmapData.cs
- MediaEntryAttribute.cs
- ASCIIEncoding.cs
- ICspAsymmetricAlgorithm.cs
- PassportPrincipal.cs
- PluralizationService.cs
- ToolStripItemDesigner.cs
- TableLayoutRowStyleCollection.cs
- PrivateFontCollection.cs
- EntityObject.cs
- StylusButton.cs
- CheckBoxBaseAdapter.cs
- ConfigurationManagerInternal.cs
- MSG.cs
- Stylesheet.cs
- TypeResolver.cs
- TripleDES.cs
- TextTreeDeleteContentUndoUnit.cs
- SqlUtils.cs
- FileResponseElement.cs
- XamlSerializerUtil.cs
- PropertyPathConverter.cs
- ProfileSettings.cs
- NamedPipeTransportSecurityElement.cs
- ToolStripContainer.cs