Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataSourceXmlElementAttribute.cs
- ApplicationDirectory.cs
- SystemException.cs
- CheckableControlBaseAdapter.cs
- ViewCellRelation.cs
- Region.cs
- StringDictionaryCodeDomSerializer.cs
- DynamicArgumentDialog.cs
- PageSetupDialog.cs
- AuthorizationRuleCollection.cs
- SHA256CryptoServiceProvider.cs
- FlowDocumentScrollViewer.cs
- AutomationPeer.cs
- ipaddressinformationcollection.cs
- CopyNodeSetAction.cs
- ContainerActivationHelper.cs
- ClientUtils.cs
- RecordsAffectedEventArgs.cs
- DataStorage.cs
- DbFunctionCommandTree.cs
- DiscreteKeyFrames.cs
- WindowsGraphicsCacheManager.cs
- StrokeCollection2.cs
- NavigationPropertyEmitter.cs
- WebContext.cs
- DomainConstraint.cs
- SimpleHandlerBuildProvider.cs
- SpeechRecognizer.cs
- _DisconnectOverlappedAsyncResult.cs
- HashCodeCombiner.cs
- Wizard.cs
- MsmqPoisonMessageException.cs
- XmlBindingWorker.cs
- EncryptedType.cs
- CommandCollectionEditor.cs
- GraphicsPath.cs
- TrustLevel.cs
- BuildDependencySet.cs
- ProfileProvider.cs
- ConfigXmlWhitespace.cs
- TextModifierScope.cs
- DropShadowEffect.cs
- WasEndpointConfigContainer.cs
- ResourceKey.cs
- LicenseContext.cs
- Point3DConverter.cs
- CodeValidator.cs
- SqlProcedureAttribute.cs
- WebPartUserCapability.cs
- DataTableReaderListener.cs
- EventListener.cs
- ExtendedProtectionPolicyElement.cs
- DataSourceCache.cs
- StateBag.cs
- ConditionalAttribute.cs
- AddInIpcChannel.cs
- MsmqProcessProtocolHandler.cs
- EntityViewGenerator.cs
- HttpResponseHeader.cs
- ContractAdapter.cs
- BoundPropertyEntry.cs
- ServicePointManager.cs
- PropertyGroupDescription.cs
- PeerToPeerException.cs
- TrustSection.cs
- AmbiguousMatchException.cs
- GridViewRowPresenterBase.cs
- DataGridViewComboBoxCell.cs
- FastEncoderStatics.cs
- Size.cs
- TriggerCollection.cs
- XmlCharCheckingWriter.cs
- SymLanguageVendor.cs
- DataError.cs
- HttpProxyCredentialType.cs
- BufferedStream.cs
- EraserBehavior.cs
- Page.cs
- PowerStatus.cs
- Calendar.cs
- Debugger.cs
- OracleDateTime.cs
- AvTrace.cs
- sqlinternaltransaction.cs
- DataSetMappper.cs
- DataContractAttribute.cs
- PropertyInfoSet.cs
- AxisAngleRotation3D.cs
- ActionNotSupportedException.cs
- KerberosTicketHashIdentifierClause.cs
- AndMessageFilter.cs
- BitmapMetadataEnumerator.cs
- List.cs
- CommandBinding.cs
- COM2ComponentEditor.cs
- ManagedIStream.cs
- CompilerCollection.cs
- EditorBrowsableAttribute.cs
- WorkflowInstanceRecord.cs
- TreeNode.cs