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
- WebPartManager.cs
- SecurityRuntime.cs
- DataGridViewColumnDesigner.cs
- PreviewControlDesigner.cs
- MemberProjectionIndex.cs
- AddInActivator.cs
- DataServiceQueryOfT.cs
- Baml2006ReaderFrame.cs
- ParentQuery.cs
- WindowsHyperlink.cs
- webclient.cs
- ICollection.cs
- Enlistment.cs
- DataColumnMapping.cs
- DataContract.cs
- DbConvert.cs
- Comparer.cs
- CfgParser.cs
- MessageBodyMemberAttribute.cs
- SqlClientWrapperSmiStreamChars.cs
- Statements.cs
- NavigationPropertyEmitter.cs
- SafeUserTokenHandle.cs
- FixedSOMTableRow.cs
- OrthographicCamera.cs
- FilterEventArgs.cs
- DesignTimeParseData.cs
- Grammar.cs
- SoapExtensionStream.cs
- HttpRequestWrapper.cs
- OleDbDataAdapter.cs
- PassportAuthenticationEventArgs.cs
- FormViewUpdatedEventArgs.cs
- ConfigXmlAttribute.cs
- BaseTemplatedMobileComponentEditor.cs
- CSharpCodeProvider.cs
- DbConnectionPoolOptions.cs
- InstanceData.cs
- HuffmanTree.cs
- ListViewInsertEventArgs.cs
- IndexedEnumerable.cs
- COM2PropertyBuilderUITypeEditor.cs
- XmlnsCache.cs
- EventWaitHandleSecurity.cs
- TerminatingOperationBehavior.cs
- DataGridCheckBoxColumn.cs
- ThousandthOfEmRealDoubles.cs
- ProxyBuilder.cs
- HttpProfileGroupBase.cs
- RoleGroup.cs
- Figure.cs
- ProfilePropertySettingsCollection.cs
- FixedTextPointer.cs
- GroupDescription.cs
- QilCloneVisitor.cs
- EventData.cs
- HtmlTableRowCollection.cs
- ControlLocalizer.cs
- XmlChoiceIdentifierAttribute.cs
- DateTimeOffsetStorage.cs
- ObjectViewQueryResultData.cs
- CheckedPointers.cs
- PositiveTimeSpanValidatorAttribute.cs
- SoapEnvelopeProcessingElement.cs
- Message.cs
- DataGridViewButtonColumn.cs
- URI.cs
- InkCanvasFeedbackAdorner.cs
- SizeChangedInfo.cs
- ToolStripLocationCancelEventArgs.cs
- BaseCollection.cs
- PackagePartCollection.cs
- SqlUdtInfo.cs
- ObjectView.cs
- ListViewItemCollectionEditor.cs
- XhtmlBasicPhoneCallAdapter.cs
- MultipartIdentifier.cs
- FloaterParagraph.cs
- StrokeCollection2.cs
- XPathScanner.cs
- Rect3DConverter.cs
- XmlException.cs
- IPAddress.cs
- QueryableDataSourceHelper.cs
- UIElement.cs
- BinaryFormatter.cs
- ColumnWidthChangingEvent.cs
- AmbiguousMatchException.cs
- KeyMatchBuilder.cs
- Interlocked.cs
- DataGridViewDataErrorEventArgs.cs
- HwndPanningFeedback.cs
- SessionPageStateSection.cs
- RectConverter.cs
- BaseAppDomainProtocolHandler.cs
- SimpleModelProvider.cs
- BaseProcessProtocolHandler.cs
- IndicShape.cs
- InvokeProviderWrapper.cs
- DefaultTextStoreTextComposition.cs