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
- DesignTimeDataBinding.cs
- ConstrainedDataObject.cs
- ClientSponsor.cs
- StructuredTypeInfo.cs
- RadioButtonBaseAdapter.cs
- AssociationTypeEmitter.cs
- StandardBindingElement.cs
- ResourcesBuildProvider.cs
- DeflateStream.cs
- SingleAnimationUsingKeyFrames.cs
- TextServicesContext.cs
- DbgUtil.cs
- ILGenerator.cs
- SHA1Cng.cs
- cookiecollection.cs
- PartialTrustVisibleAssemblyCollection.cs
- CqlWriter.cs
- TextCompositionManager.cs
- FilterableAttribute.cs
- UserPersonalizationStateInfo.cs
- DataSysAttribute.cs
- IgnoreSectionHandler.cs
- FrameworkContentElementAutomationPeer.cs
- ListViewGroupConverter.cs
- OutputScopeManager.cs
- BuildManager.cs
- DataGridViewRowsAddedEventArgs.cs
- BeginEvent.cs
- StreamUpgradeInitiator.cs
- SoapIgnoreAttribute.cs
- XmlQueryStaticData.cs
- TemplatedWizardStep.cs
- CacheDependency.cs
- SafeNativeMethods.cs
- QueryUtil.cs
- RawStylusActions.cs
- QueuePropertyVariants.cs
- ThreadStateException.cs
- ClientSettingsSection.cs
- XmlAttribute.cs
- WebServiceClientProxyGenerator.cs
- Membership.cs
- ConnectorMovedEventArgs.cs
- Membership.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- VisualTarget.cs
- ClientCultureInfo.cs
- ContentPresenter.cs
- ColumnHeader.cs
- WindowsStatic.cs
- DocumentViewerHelper.cs
- ButtonAutomationPeer.cs
- ApplicationDirectoryMembershipCondition.cs
- ProgressBar.cs
- SourceChangedEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- XPathAxisIterator.cs
- ProtectedProviderSettings.cs
- _WinHttpWebProxyDataBuilder.cs
- XmlILCommand.cs
- MeasurementDCInfo.cs
- SQLUtility.cs
- UpDownBase.cs
- ServiceNameCollection.cs
- AnchoredBlock.cs
- CombinedGeometry.cs
- OrderByLifter.cs
- LinkButton.cs
- IDispatchConstantAttribute.cs
- SoapHeaderAttribute.cs
- RoutingTable.cs
- XMLSyntaxException.cs
- RequestResizeEvent.cs
- FrameworkElementAutomationPeer.cs
- RelationshipConverter.cs
- WebPartDescriptionCollection.cs
- ContractTypeNameElement.cs
- PaperSource.cs
- UriTemplateLiteralPathSegment.cs
- ExtendedPropertyDescriptor.cs
- GlobalItem.cs
- StringDictionary.cs
- PeerUnsafeNativeMethods.cs
- ExtentJoinTreeNode.cs
- DecimalConstantAttribute.cs
- SerialReceived.cs
- Context.cs
- OleDbFactory.cs
- ClearTypeHintValidation.cs
- XNameConverter.cs
- HttpClientCertificate.cs
- IOThreadScheduler.cs
- SQLGuidStorage.cs
- EntityViewContainer.cs
- WebPartZoneBaseDesigner.cs
- MaterialGroup.cs
- ProcessHostConfigUtils.cs
- DataServiceClientException.cs
- StreamGeometry.cs
- ImageAnimator.cs