Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecurityOneDotOneReceiveSecurityHeader.cs / 1 / WSSecurityOneDotOneReceiveSecurityHeader.cs
//---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.IO; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; using System.Security.Cryptography; using System.ServiceModel.Security.Tokens; using System.Text; using System.Xml; using System.ServiceModel.Diagnostics; class WSSecurityOneDotOneReceiveSecurityHeader : WSSecurityOneDotZeroReceiveSecurityHeader { public WSSecurityOneDotOneReceiveSecurityHeader(Message message, string actor, bool mustUnderstand, bool relay, SecurityStandardsManager standardsManager, SecurityAlgorithmSuite algorithmSuite, int headerIndex, MessageDirection direction) : base(message, actor, mustUnderstand, relay, standardsManager, algorithmSuite, headerIndex, direction) { } protected override DecryptedHeader DecryptHeader(XmlDictionaryReader reader, WrappedKeySecurityToken wrappedKeyToken) { EncryptedHeaderXml headerXml = new EncryptedHeaderXml(this.Version); headerXml.SecurityTokenSerializer = this.StandardsManager.SecurityTokenSerializer; headerXml.ReadFrom(reader, MaxReceivedMessageSize); // The Encrypted Headers MustUnderstand, Relay and Actor attributes should match the // Security Headers value. if (headerXml.MustUnderstand != this.MustUnderstand) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, XD.MessageDictionary.MustUnderstand.Value, headerXml.MustUnderstand, this.MustUnderstand))); if (headerXml.Relay != this.Relay) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, XD.Message12Dictionary.Relay.Value, headerXml.Relay, this.Relay))); if (headerXml.Actor != this.Actor) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, this.Version.Envelope.DictionaryActor, headerXml.Actor, this.Actor))); SecurityToken token; if (wrappedKeyToken == null) { token = ResolveKeyIdentifier(headerXml.KeyIdentifier, this.CombinedPrimaryTokenResolver, false); } else { token = wrappedKeyToken; } RecordEncryptionToken(token); using (SymmetricAlgorithm algorithm = CreateDecryptionAlgorithm(token, headerXml.EncryptionMethod, this.AlgorithmSuite)) { headerXml.SetUpDecryption(algorithm); return new DecryptedHeader( headerXml.GetDecryptedBuffer(), this.SecurityVerifiedMessage.GetEnvelopeAttributes(), this.SecurityVerifiedMessage.GetHeaderAttributes(), this.Version, this.StandardsManager.IdManager, this.ReaderQuotas); } } } } // 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
- HttpDebugHandler.cs
- CopyNamespacesAction.cs
- AccessViolationException.cs
- AdapterUtil.cs
- SpotLight.cs
- DeferredElementTreeState.cs
- ProcessHostMapPath.cs
- SecurityTokenSerializer.cs
- PngBitmapDecoder.cs
- View.cs
- BamlVersionHeader.cs
- OrCondition.cs
- TreeViewCancelEvent.cs
- StringDictionary.cs
- ConsumerConnectionPointCollection.cs
- ElementHostAutomationPeer.cs
- MemoryFailPoint.cs
- WebPartsSection.cs
- SafeThreadHandle.cs
- ProtectedConfiguration.cs
- EntityDataSourceQueryBuilder.cs
- SqlUtils.cs
- EnumMemberAttribute.cs
- ValidatorUtils.cs
- FilterElement.cs
- loginstatus.cs
- Rect.cs
- SyndicationDeserializer.cs
- DefaultAsyncDataDispatcher.cs
- Int64AnimationUsingKeyFrames.cs
- WebPartDisplayMode.cs
- SafeHandle.cs
- WebPartZoneCollection.cs
- WebConfigurationManager.cs
- DesignerSelectionListAdapter.cs
- _AuthenticationState.cs
- StylusDevice.cs
- StylusPointCollection.cs
- Message.cs
- StringUtil.cs
- OutputBuffer.cs
- SmiRecordBuffer.cs
- XmlSchemaAnnotation.cs
- AtomPub10ServiceDocumentFormatter.cs
- SafePipeHandle.cs
- ComAwareEventInfo.cs
- DocumentApplicationJournalEntryEventArgs.cs
- EntityAdapter.cs
- SchemaAttDef.cs
- BlockCollection.cs
- AutoGeneratedField.cs
- XmlLoader.cs
- NameValueConfigurationElement.cs
- SecurityToken.cs
- CodeTypeOfExpression.cs
- ExpandedProjectionNode.cs
- ToolStripScrollButton.cs
- Vector3DKeyFrameCollection.cs
- ContextMarshalException.cs
- NegationPusher.cs
- FrameworkName.cs
- ValueHandle.cs
- DetailsViewDeletedEventArgs.cs
- TableChangeProcessor.cs
- WebPartDescription.cs
- VisualTreeHelper.cs
- SmtpFailedRecipientException.cs
- InProcStateClientManager.cs
- WebException.cs
- PreservationFileWriter.cs
- PageThemeBuildProvider.cs
- NamespaceMapping.cs
- SrgsGrammar.cs
- AvTrace.cs
- Script.cs
- WS2007FederationHttpBindingElement.cs
- RowToFieldTransformer.cs
- Utility.cs
- UpdateEventArgs.cs
- FilteredDataSetHelper.cs
- SortAction.cs
- HeaderCollection.cs
- ToolStripItemBehavior.cs
- MimeFormatter.cs
- ModelTreeManager.cs
- ContextMarshalException.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SoapUnknownHeader.cs
- HostedTransportConfigurationBase.cs
- DocumentViewerBaseAutomationPeer.cs
- KeyBinding.cs
- AdjustableArrowCap.cs
- DesignTimeHTMLTextWriter.cs
- DataGridViewCellLinkedList.cs
- DragEvent.cs
- ConnectionStringSettingsCollection.cs
- Pair.cs
- TypedElement.cs
- BitmapDecoder.cs
- PerformanceCounterLib.cs