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
- RsaKeyIdentifierClause.cs
- HttpMethodAttribute.cs
- ExtensionSimplifierMarkupObject.cs
- ScriptModule.cs
- EntityParameter.cs
- CollectionsUtil.cs
- TextComposition.cs
- TextEditorContextMenu.cs
- MouseEventArgs.cs
- WebPartEditorCancelVerb.cs
- AccessorTable.cs
- BridgeDataRecord.cs
- GridViewCommandEventArgs.cs
- Pair.cs
- HwndSource.cs
- BindableTemplateBuilder.cs
- StorageMappingItemCollection.cs
- HttpWebRequestElement.cs
- __Filters.cs
- IdnMapping.cs
- TextFormatterImp.cs
- ValidationSummary.cs
- BooleanProjectedSlot.cs
- Site.cs
- TriState.cs
- ToolStripContentPanel.cs
- HttpModulesSection.cs
- RuntimeConfigLKG.cs
- ExtenderProvidedPropertyAttribute.cs
- EntityKeyElement.cs
- HtmlEmptyTagControlBuilder.cs
- DataTable.cs
- PerformanceCounterPermissionAttribute.cs
- LineServices.cs
- CapabilitiesSection.cs
- smtpconnection.cs
- SerializationAttributes.cs
- SQLUtility.cs
- HostExecutionContextManager.cs
- NextPreviousPagerField.cs
- Vector3DAnimationUsingKeyFrames.cs
- FixedPageStructure.cs
- TempFiles.cs
- RowBinding.cs
- PropertyGridEditorPart.cs
- ListComponentEditorPage.cs
- ScriptIgnoreAttribute.cs
- DataGridViewCellCollection.cs
- MissingManifestResourceException.cs
- TraceInternal.cs
- DataBoundControlAdapter.cs
- HostedTransportConfigurationBase.cs
- HtmlFormAdapter.cs
- Animatable.cs
- AbstractDataSvcMapFileLoader.cs
- SafeCoTaskMem.cs
- ExpressionBuilder.cs
- TypeListConverter.cs
- Table.cs
- ComponentEvent.cs
- FormViewPageEventArgs.cs
- SamlAuthenticationStatement.cs
- RequestCacheManager.cs
- DataRecord.cs
- DocumentPage.cs
- Control.cs
- TableParaClient.cs
- EmptyElement.cs
- DtdParser.cs
- FaultBookmark.cs
- ActivityCodeDomReferenceService.cs
- ClientSideProviderDescription.cs
- EUCJPEncoding.cs
- SignedPkcs7.cs
- ConnectorEditor.cs
- HtmlTable.cs
- SQLBinary.cs
- DocumentDesigner.cs
- XmlUtil.cs
- SelectionProviderWrapper.cs
- Renderer.cs
- ListenerBinder.cs
- ToolBar.cs
- WebPartEditorApplyVerb.cs
- BaseCollection.cs
- ResetableIterator.cs
- TreeViewDesigner.cs
- securestring.cs
- XmlReaderDelegator.cs
- RenderCapability.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- LiteralControl.cs
- SystemIPInterfaceProperties.cs
- NGCSerializer.cs
- UInt16Converter.cs
- HtmlDocument.cs
- RetrieveVirtualItemEventArgs.cs
- WebPartCloseVerb.cs
- ResourcesBuildProvider.cs
- GridSplitterAutomationPeer.cs