Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / BinaryKeyIdentifierClause.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SequentialWorkflowHeaderFooter.cs
- ImageConverter.cs
- HttpWebResponse.cs
- ping.cs
- CommonDialog.cs
- DataGridViewCellStateChangedEventArgs.cs
- SafeNativeMethods.cs
- DataViewListener.cs
- DataViewManagerListItemTypeDescriptor.cs
- RepeatBehavior.cs
- ISO2022Encoding.cs
- DragCompletedEventArgs.cs
- RsaKeyIdentifierClause.cs
- NonDualMessageSecurityOverHttpElement.cs
- WebPartMovingEventArgs.cs
- SqlDataSourceFilteringEventArgs.cs
- SoapSchemaImporter.cs
- XmlMemberMapping.cs
- Transform3D.cs
- AppDomainProtocolHandler.cs
- FontStyle.cs
- RegexTree.cs
- VerificationException.cs
- PathFigureCollection.cs
- DataSpaceManager.cs
- SelectionEditor.cs
- DateRangeEvent.cs
- HttpStreamFormatter.cs
- ValidationHelper.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- Point3DCollection.cs
- Emitter.cs
- SiteMapProvider.cs
- WebPartDisplayMode.cs
- MenuScrollingVisibilityConverter.cs
- ParagraphResult.cs
- StopStoryboard.cs
- PerspectiveCamera.cs
- EntitySqlQueryState.cs
- EmptyCollection.cs
- DesignerSerializationVisibilityAttribute.cs
- Image.cs
- WorkflowMessageEventHandler.cs
- SynchronizedDispatch.cs
- ByteAnimationBase.cs
- DataGridViewHitTestInfo.cs
- DebugView.cs
- _DynamicWinsockMethods.cs
- DSGeneratorProblem.cs
- StreamProxy.cs
- MonitoringDescriptionAttribute.cs
- FontFamily.cs
- SessionStateItemCollection.cs
- _PooledStream.cs
- WindowsGraphics.cs
- TextWriter.cs
- PersonalizationDictionary.cs
- VirtualDirectoryMappingCollection.cs
- MulticastOption.cs
- TimerEventSubscriptionCollection.cs
- FormatterConverter.cs
- GraphicsContext.cs
- DocumentPageTextView.cs
- BrowserCapabilitiesFactoryBase.cs
- HttpValueCollection.cs
- DocumentViewerHelper.cs
- IPHostEntry.cs
- DataProviderNameConverter.cs
- EntityClassGenerator.cs
- Speller.cs
- OracleColumn.cs
- SocketCache.cs
- WebPartConnectVerb.cs
- DrawingBrush.cs
- PopOutPanel.cs
- RemoteWebConfigurationHost.cs
- RemotingHelper.cs
- SamlEvidence.cs
- WebPartMinimizeVerb.cs
- DialogWindow.cs
- TreeIterators.cs
- XmlSortKeyAccumulator.cs
- InstancePersistenceCommand.cs
- OutOfProcStateClientManager.cs
- WMICapabilities.cs
- LazyInitializer.cs
- DesignerEditorPartChrome.cs
- WebControlAdapter.cs
- TypeToArgumentTypeConverter.cs
- Stylesheet.cs
- DateTimeParse.cs
- LookupNode.cs
- CancelEventArgs.cs
- Permission.cs
- Models.cs
- PropertyMapper.cs
- DataListDesigner.cs
- TableAutomationPeer.cs
- X509Extension.cs
- LoginName.cs