Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1305376 / EncryptedKeyIdentifierClause.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; sealed public class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause { readonly string carriedKeyName; readonly string encryptionMethod; readonly SecurityKeyIdentifier encryptingKeyIdentifier; public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod) : this(encryptedKey, encryptionMethod, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, null, 0) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, derivationNonce, derivationLength) { } internal EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, bool cloneBuffer, byte[] derivationNonce, int derivationLength) : base("http://www.w3.org/2001/04/xmlenc#EncryptedKey", encryptedKey, cloneBuffer, derivationNonce, derivationLength) { if (encryptionMethod == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("encryptionMethod"); } this.carriedKeyName = carriedKeyName; this.encryptionMethod = encryptionMethod; this.encryptingKeyIdentifier = encryptingKeyIdentifier; } public string CarriedKeyName { get { return this.carriedKeyName; } } public SecurityKeyIdentifier EncryptingKeyIdentifier { get { return this.encryptingKeyIdentifier; } } public string EncryptionMethod { get { return this.encryptionMethod; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { EncryptedKeyIdentifierClause that = keyIdentifierClause as EncryptedKeyIdentifierClause; // 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.GetRawBuffer(), this.encryptionMethod, this.carriedKeyName)); } public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName) { return Matches(encryptedKey) && this.encryptionMethod == encryptionMethod && this.carriedKeyName == carriedKeyName; } public byte[] GetEncryptedKey() { return GetBuffer(); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "EncryptedKeyIdentifierClause(EncryptedKey = {0}, Method '{1}')", Convert.ToBase64String(GetRawBuffer()), this.EncryptionMethod); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; sealed public class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause { readonly string carriedKeyName; readonly string encryptionMethod; readonly SecurityKeyIdentifier encryptingKeyIdentifier; public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod) : this(encryptedKey, encryptionMethod, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, null, 0) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, derivationNonce, derivationLength) { } internal EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, bool cloneBuffer, byte[] derivationNonce, int derivationLength) : base("http://www.w3.org/2001/04/xmlenc#EncryptedKey", encryptedKey, cloneBuffer, derivationNonce, derivationLength) { if (encryptionMethod == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("encryptionMethod"); } this.carriedKeyName = carriedKeyName; this.encryptionMethod = encryptionMethod; this.encryptingKeyIdentifier = encryptingKeyIdentifier; } public string CarriedKeyName { get { return this.carriedKeyName; } } public SecurityKeyIdentifier EncryptingKeyIdentifier { get { return this.encryptingKeyIdentifier; } } public string EncryptionMethod { get { return this.encryptionMethod; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { EncryptedKeyIdentifierClause that = keyIdentifierClause as EncryptedKeyIdentifierClause; // 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.GetRawBuffer(), this.encryptionMethod, this.carriedKeyName)); } public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName) { return Matches(encryptedKey) && this.encryptionMethod == encryptionMethod && this.carriedKeyName == carriedKeyName; } public byte[] GetEncryptedKey() { return GetBuffer(); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "EncryptedKeyIdentifierClause(EncryptedKey = {0}, Method '{1}')", Convert.ToBase64String(GetRawBuffer()), this.EncryptionMethod); } } } // 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
- DataTableMappingCollection.cs
- DynamicVirtualDiscoSearcher.cs
- COM2ExtendedUITypeEditor.cs
- ConnectionPoint.cs
- HTMLTagNameToTypeMapper.cs
- OracleConnectionFactory.cs
- FixedNode.cs
- Debugger.cs
- ProfessionalColors.cs
- AssociationSetMetadata.cs
- XamlSerializer.cs
- GetIndexBinder.cs
- RPIdentityRequirement.cs
- SlotInfo.cs
- StringDictionaryCodeDomSerializer.cs
- Point3DAnimation.cs
- DESCryptoServiceProvider.cs
- WebMessageEncoderFactory.cs
- CodeGen.cs
- ConfigurationManagerInternal.cs
- Panel.cs
- TemplateXamlTreeBuilder.cs
- DataGridViewRowPostPaintEventArgs.cs
- _RequestCacheProtocol.cs
- WindowHideOrCloseTracker.cs
- OperationAbortedException.cs
- HtmlString.cs
- EpmContentDeSerializer.cs
- ResXResourceSet.cs
- ZoneMembershipCondition.cs
- XmlSchemaInferenceException.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- Win32SafeHandles.cs
- CrossSiteScriptingValidation.cs
- GlyphRun.cs
- OAVariantLib.cs
- FormatterServices.cs
- LocalizeDesigner.cs
- DesignBinding.cs
- ConfigurationCollectionAttribute.cs
- AttributeEmitter.cs
- TypeElement.cs
- MouseActionConverter.cs
- ScalarConstant.cs
- PeerInvitationResponse.cs
- UnicodeEncoding.cs
- SecurityHeaderElementInferenceEngine.cs
- basevalidator.cs
- GroupBox.cs
- SystemColorTracker.cs
- MouseCaptureWithinProperty.cs
- coordinatorscratchpad.cs
- GACIdentityPermission.cs
- ClientScriptManager.cs
- TranslateTransform.cs
- TdsParserSafeHandles.cs
- Helpers.cs
- CodeIdentifier.cs
- ContentDefinition.cs
- _ConnectionGroup.cs
- AssemblyInfo.cs
- IdentifierService.cs
- ReadOnlyDictionary.cs
- AttachedAnnotationChangedEventArgs.cs
- ApplicationGesture.cs
- DataContractFormatAttribute.cs
- DefaultBinder.cs
- Empty.cs
- Keywords.cs
- HostingEnvironment.cs
- DataGridViewComboBoxColumn.cs
- ExpressionBindingsDialog.cs
- TypeViewSchema.cs
- VirtualPathUtility.cs
- ImmComposition.cs
- DesignerActionService.cs
- SqlTransaction.cs
- BufferedReadStream.cs
- PreviewPrintController.cs
- ImpersonateTokenRef.cs
- ButtonChrome.cs
- AnimationException.cs
- PtsCache.cs
- SchemaImporterExtensionsSection.cs
- ComplexBindingPropertiesAttribute.cs
- LineServicesRun.cs
- StartFileNameEditor.cs
- ObjectPersistData.cs
- RegionIterator.cs
- HandledEventArgs.cs
- LayoutSettings.cs
- Style.cs
- HashStream.cs
- SaveFileDialog.cs
- ProtocolsConfiguration.cs
- RequestCachingSection.cs
- LoginDesigner.cs
- DiffuseMaterial.cs
- NameTable.cs
- LoginUtil.cs