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
- FormatVersion.cs
- Matrix.cs
- InfoCardMetadataExchangeClient.cs
- ExpressionConverter.cs
- activationcontext.cs
- MetadataPropertyvalue.cs
- Model3DGroup.cs
- WsdlInspector.cs
- DecimalConstantAttribute.cs
- FacetDescriptionElement.cs
- XmlSchemaAnyAttribute.cs
- ContractValidationHelper.cs
- AssertHelper.cs
- PtsHost.cs
- EntitySet.cs
- FormatConvertedBitmap.cs
- Token.cs
- TypeSystem.cs
- MissingManifestResourceException.cs
- WindowsAuthenticationEventArgs.cs
- BamlRecordWriter.cs
- Style.cs
- ObjectQueryExecutionPlan.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- ToolboxItemFilterAttribute.cs
- DiagnosticTraceSource.cs
- NamedPipeTransportBindingElement.cs
- WebProxyScriptElement.cs
- BatchParser.cs
- AttachmentCollection.cs
- Point3DKeyFrameCollection.cs
- CommandSet.cs
- StateBag.cs
- WebPartMenuStyle.cs
- SafeRightsManagementPubHandle.cs
- IdnElement.cs
- VirtualizingPanel.cs
- PropertyChangingEventArgs.cs
- DataGridAutomationPeer.cs
- DocumentPageView.cs
- FormsIdentity.cs
- NativeMethods.cs
- WizardPanel.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- SendMailErrorEventArgs.cs
- HtmlTableRow.cs
- Baml2006KeyRecord.cs
- AsymmetricSignatureDeformatter.cs
- CodeDomConfigurationHandler.cs
- TextParagraphCache.cs
- CodeIdentifiers.cs
- ToolBar.cs
- FormViewInsertEventArgs.cs
- Int64Converter.cs
- HttpAsyncResult.cs
- SettingsSection.cs
- MsmqOutputSessionChannel.cs
- ExpressionServices.cs
- AsymmetricAlgorithm.cs
- WindowsListView.cs
- NullableFloatMinMaxAggregationOperator.cs
- AccessText.cs
- PropertyValueUIItem.cs
- QueryOutputWriter.cs
- GridViewColumnCollection.cs
- RawStylusInputReport.cs
- GorillaCodec.cs
- OneOfTypeConst.cs
- EndpointDispatcherTable.cs
- SingleObjectCollection.cs
- StringInfo.cs
- Errors.cs
- RelationshipType.cs
- ColorKeyFrameCollection.cs
- JsonReaderDelegator.cs
- Emitter.cs
- SQLBinary.cs
- DocumentSignatureManager.cs
- CollectionMarkupSerializer.cs
- srgsitem.cs
- ServiceModelConfigurationSectionCollection.cs
- RootDesignerSerializerAttribute.cs
- EnumerationRangeValidationUtil.cs
- DataGridViewRowHeaderCell.cs
- DataKeyArray.cs
- NotCondition.cs
- SqlStatistics.cs
- LogManagementAsyncResult.cs
- StoryFragments.cs
- RegularExpressionValidator.cs
- DbConnectionPool.cs
- PropertyEmitter.cs
- MultiDataTrigger.cs
- SelectedGridItemChangedEvent.cs
- TreeView.cs
- UnauthorizedAccessException.cs
- ValidationErrorInfo.cs
- Schema.cs
- TdsRecordBufferSetter.cs
- IndexerNameAttribute.cs