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
- ToolboxBitmapAttribute.cs
- ComponentEvent.cs
- XmlComplianceUtil.cs
- PointConverter.cs
- UmAlQuraCalendar.cs
- ProxyGenerator.cs
- DataObjectMethodAttribute.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- GestureRecognizer.cs
- ConstraintManager.cs
- QueryModel.cs
- Scheduler.cs
- ListenerHandler.cs
- ResourcesGenerator.cs
- GridViewRow.cs
- PopupEventArgs.cs
- WindowsListViewGroupHelper.cs
- DockingAttribute.cs
- CorePropertiesFilter.cs
- UrlMappingsSection.cs
- FileInfo.cs
- DetailsViewUpdatedEventArgs.cs
- GradientBrush.cs
- DataTransferEventArgs.cs
- XmlBoundElement.cs
- CancelEventArgs.cs
- EmbossBitmapEffect.cs
- WmlObjectListAdapter.cs
- TextFormatter.cs
- Reference.cs
- GridErrorDlg.cs
- UnsignedPublishLicense.cs
- Stylesheet.cs
- HttpCookie.cs
- UrlMappingsModule.cs
- DateTimeFormatInfo.cs
- TargetConverter.cs
- CompensationParticipant.cs
- TimeIntervalCollection.cs
- PeerConnector.cs
- PropertyNames.cs
- ContextCorrelationInitializer.cs
- ImageButton.cs
- BamlRecordWriter.cs
- RegionInfo.cs
- ProtectedProviderSettings.cs
- ChannelSettingsElement.cs
- QilInvokeEarlyBound.cs
- SymmetricAlgorithm.cs
- TemplateControl.cs
- DynamicILGenerator.cs
- DataListItemEventArgs.cs
- HitTestWithGeometryDrawingContextWalker.cs
- Timer.cs
- NullExtension.cs
- SecurityContext.cs
- TextProperties.cs
- DataObject.cs
- LineSegment.cs
- FixedPageAutomationPeer.cs
- WindowsUserNameCachingSecurityTokenAuthenticator.cs
- DesignerAutoFormatStyle.cs
- DoWorkEventArgs.cs
- WebHttpDispatchOperationSelector.cs
- DockingAttribute.cs
- EventSetter.cs
- ImageAnimator.cs
- WebUtil.cs
- FunctionDescription.cs
- SessionStateUtil.cs
- BadImageFormatException.cs
- EllipseGeometry.cs
- ReachPrintTicketSerializer.cs
- RawStylusInputCustomData.cs
- _BasicClient.cs
- ItemsPanelTemplate.cs
- WizardPanelChangingEventArgs.cs
- OutKeywords.cs
- XmlReader.cs
- PropertyEntry.cs
- SafeFileHandle.cs
- InstanceCompleteException.cs
- XmlDictionaryReaderQuotas.cs
- FormatVersion.cs
- VerifyHashRequest.cs
- XmlSchemaNotation.cs
- Int16KeyFrameCollection.cs
- XNodeNavigator.cs
- DataGridRowDetailsEventArgs.cs
- StringUtil.cs
- KerberosReceiverSecurityToken.cs
- Properties.cs
- XMLUtil.cs
- PenLineJoinValidation.cs
- SourceFileBuildProvider.cs
- ListViewHitTestInfo.cs
- FunctionParameter.cs
- PresentationAppDomainManager.cs
- DBConnection.cs
- NamespaceInfo.cs