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
- HwndSubclass.cs
- FrameworkReadOnlyPropertyMetadata.cs
- HtmlTitle.cs
- COM2IPerPropertyBrowsingHandler.cs
- VectorValueSerializer.cs
- TextBoxAutomationPeer.cs
- SQLBytesStorage.cs
- QuaternionRotation3D.cs
- ActionItem.cs
- WizardPanel.cs
- BuildProvider.cs
- RemotingServices.cs
- RemoteWebConfigurationHost.cs
- HtmlWindow.cs
- ScrollViewerAutomationPeer.cs
- LabelDesigner.cs
- SystemColorTracker.cs
- StaticTextPointer.cs
- CharacterMetrics.cs
- HttpException.cs
- TemplateField.cs
- TabletCollection.cs
- BamlRecordHelper.cs
- MailAddressCollection.cs
- CriticalExceptions.cs
- CompositionAdorner.cs
- CreateParams.cs
- InstanceData.cs
- streamingZipPartStream.cs
- PropertyEmitter.cs
- NestedContainer.cs
- ConfigsHelper.cs
- MenuItemAutomationPeer.cs
- StorageAssociationTypeMapping.cs
- PlainXmlDeserializer.cs
- EntityChangedParams.cs
- Drawing.cs
- SourceFilter.cs
- COM2ExtendedUITypeEditor.cs
- ArrayExtension.cs
- OperationAbortedException.cs
- PropertyRecord.cs
- UserInitiatedRoutedEventPermission.cs
- ColumnHeader.cs
- TextServicesCompartment.cs
- SecureStringHasher.cs
- LongValidator.cs
- TCPListener.cs
- FixedSOMElement.cs
- WebResourceAttribute.cs
- IteratorDescriptor.cs
- StreamAsIStream.cs
- Types.cs
- File.cs
- COM2ExtendedBrowsingHandler.cs
- UrlAuthFailedErrorFormatter.cs
- XmlAttribute.cs
- Substitution.cs
- FileUtil.cs
- InheritanceUI.cs
- ScriptIgnoreAttribute.cs
- XmlArrayAttribute.cs
- NamedPipeTransportSecurityElement.cs
- XmlHierarchicalEnumerable.cs
- ScriptingJsonSerializationSection.cs
- EntityException.cs
- ActivityPropertyReference.cs
- TemplateKeyConverter.cs
- LabelLiteral.cs
- DataObject.cs
- LazyInitializer.cs
- DiscoveryClientProtocol.cs
- SpecialTypeDataContract.cs
- ProtocolsSection.cs
- CalculatedColumn.cs
- PrtCap_Public_Simple.cs
- LogRestartAreaEnumerator.cs
- ContentType.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ObjectCloneHelper.cs
- DataGridView.cs
- TileBrush.cs
- GeometryHitTestResult.cs
- RequestCacheEntry.cs
- MetabaseServerConfig.cs
- Char.cs
- RegexWriter.cs
- ReadOnlyTernaryTree.cs
- PersistenceProviderElement.cs
- SQLDoubleStorage.cs
- GridViewRowPresenterBase.cs
- ServiceMoniker.cs
- CaseExpr.cs
- Model3DGroup.cs
- TreeViewImageIndexConverter.cs
- HorizontalAlignConverter.cs
- DropShadowBitmapEffect.cs
- SettingsPropertyNotFoundException.cs
- PathSegment.cs
- ClassHandlersStore.cs