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
- AuthenticationConfig.cs
- LinqDataSourceContextEventArgs.cs
- DataBoundControlHelper.cs
- DoubleLinkListEnumerator.cs
- FormatConvertedBitmap.cs
- SqlFunctionAttribute.cs
- Certificate.cs
- DependencyObjectType.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ComponentEditorPage.cs
- SpellerStatusTable.cs
- WeakReferenceKey.cs
- WebControlAdapter.cs
- VisualTreeUtils.cs
- FontStretches.cs
- ContainerParaClient.cs
- InputDevice.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- EventLogRecord.cs
- Win32Exception.cs
- BitmapEffectInput.cs
- RequiredFieldValidator.cs
- DBCommand.cs
- UriTemplateClientFormatter.cs
- TcpClientChannel.cs
- BmpBitmapEncoder.cs
- VirtualStackFrame.cs
- SqlIdentifier.cs
- RepeaterItemEventArgs.cs
- FloaterBaseParagraph.cs
- SerializableAttribute.cs
- RepeatBehavior.cs
- GridViewRowPresenter.cs
- ClonableStack.cs
- CompleteWizardStep.cs
- ShapingWorkspace.cs
- DataControlHelper.cs
- XmlSchemaComplexContentRestriction.cs
- SqlUtil.cs
- GrammarBuilderBase.cs
- MetabaseSettings.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- RemoteDebugger.cs
- CustomErrorsSectionWrapper.cs
- DataGridViewRow.cs
- VectorCollectionValueSerializer.cs
- WebPartCloseVerb.cs
- DetailsViewPageEventArgs.cs
- ContentIterators.cs
- PLINQETWProvider.cs
- VideoDrawing.cs
- LinqDataSourceContextData.cs
- HttpCapabilitiesEvaluator.cs
- Validator.cs
- ImmComposition.cs
- LeafCellTreeNode.cs
- TraceXPathNavigator.cs
- TemplateInstanceAttribute.cs
- WindowsNonControl.cs
- RowVisual.cs
- TripleDES.cs
- WorkflowEventArgs.cs
- TextSelectionHighlightLayer.cs
- Compilation.cs
- IntegerFacetDescriptionElement.cs
- WS2007HttpBindingElement.cs
- DispatcherHooks.cs
- BinHexDecoder.cs
- LiteralSubsegment.cs
- PromptEventArgs.cs
- HostingEnvironmentWrapper.cs
- HyperLink.cs
- WebFormDesignerActionService.cs
- ProviderSettingsCollection.cs
- HMACSHA512.cs
- DynamicRendererThreadManager.cs
- AudioFormatConverter.cs
- IdentityReference.cs
- App.cs
- StreamWithDictionary.cs
- QilStrConcat.cs
- ObjectDataSourceDisposingEventArgs.cs
- ContextMenuStrip.cs
- VisualStates.cs
- StatusBar.cs
- PropertyValue.cs
- AssemblyNameProxy.cs
- StaticResourceExtension.cs
- Root.cs
- Debugger.cs
- DataGridViewRowCollection.cs
- SafeCryptoHandles.cs
- CodeCastExpression.cs
- LineServicesRun.cs
- XmlCharCheckingWriter.cs
- OleDbRowUpdatedEvent.cs
- XPathItem.cs
- ETagAttribute.cs
- DetailsViewUpdateEventArgs.cs
- GuidConverter.cs