Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecurityPolicy11.cs / 1 / WSSecurityPolicy11.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security { using System; using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.Text; using System.Xml; class WSSecurityPolicy11 : WSSecurityPolicy { public const string WsspNamespace = @"http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"; public override string WsspNamespaceUri { get { return WSSecurityPolicy11.WsspNamespace; } } public override bool IsSecurityVersionSupported(MessageSecurityVersion version) { return version == MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10 || version == MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11 || version == MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; } public override MessageSecurityVersion GetSupportedMessageSecurityVersion(SecurityVersion version) { return (version == SecurityVersion.WSSecurity10) ? MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10 : MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; } public override TrustDriver TrustDriver { get { return new WSTrustFeb2005.DriverFeb2005(new SecurityStandardsManager(MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11, WSSecurityTokenSerializer.DefaultInstance)); } } // WS-SecurityPolicy 11 should still use the mssp namespace for MustNotSendCancel public override XmlElement CreateWsspMustNotSendCancelAssertion(bool requireCancel) { if (!requireCancel) { XmlElement result = CreateMsspAssertion(MustNotSendCancelName); return result; } else { return null; } } // WS-SecurityPolicy 11 should still use the mssp namespace for MustNotSendCancel public override bool TryImportWsspMustNotSendCancelAssertion(ICollectionassertions, out bool requireCancellation) { requireCancellation = !TryImportMsspAssertion(assertions, MustNotSendCancelName); return true; } public override XmlElement CreateWsspHttpsTokenAssertion(MetadataExporter exporter, HttpsTransportBindingElement httpsBinding) { XmlElement result = CreateWsspAssertion(HttpsTokenName); result.SetAttribute(RequireClientCertificateName, httpsBinding.RequireClientCertificate ? TrueName : FalseName); return result; } public override bool TryImportWsspHttpsTokenAssertion(MetadataImporter importer, ICollection assertions, HttpsTransportBindingElement httpsBinding) { if (assertions == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assertions"); } bool result; XmlElement assertion; if (TryImportWsspAssertion(assertions, HttpsTokenName, out assertion)) { result = true; string v = assertion.GetAttribute(RequireClientCertificateName); try { httpsBinding.RequireClientCertificate = XmlUtil.IsTrue(v); } catch (Exception e) { if (DiagnosticUtility.IsFatal(e)) throw; if (e is NullReferenceException) throw; importer.Errors.Add(new MetadataConversionError(SR.GetString(SR.UnsupportedBooleanAttribute, RequireClientCertificateName, e.Message), false)); result = false; } } else { result = false; } return result; } public override XmlElement CreateWsspTrustAssertion(MetadataExporter exporter, SecurityKeyEntropyMode keyEntropyMode) { return CreateWsspTrustAssertion(Trust10Name, exporter, keyEntropyMode); } public override bool TryImportWsspTrustAssertion(MetadataImporter importer, ICollection assertions, SecurityBindingElement binding, out XmlElement assertion) { return TryImportWsspTrustAssertion(Trust10Name, importer, assertions, binding, out assertion); } } } // 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
- ChangeDirector.cs
- coordinatorfactory.cs
- HttpRequestWrapper.cs
- ObjectStorage.cs
- Compiler.cs
- GridViewColumn.cs
- IteratorDescriptor.cs
- ObjectRef.cs
- Stacktrace.cs
- DBPropSet.cs
- dsa.cs
- DotExpr.cs
- RuntimeUtils.cs
- TextProviderWrapper.cs
- DBSchemaTable.cs
- FrameworkElement.cs
- InputProviderSite.cs
- HttpProxyTransportBindingElement.cs
- XmlBaseWriter.cs
- StaticSiteMapProvider.cs
- AspNetSynchronizationContext.cs
- KeysConverter.cs
- ServiceDescriptionReflector.cs
- PathTooLongException.cs
- XmlSiteMapProvider.cs
- EventLogPermissionHolder.cs
- SdlChannelSink.cs
- DocumentCollection.cs
- ExpressionBuilderContext.cs
- ParagraphVisual.cs
- OdbcException.cs
- XmlKeywords.cs
- ApplicationFileParser.cs
- WindowsListView.cs
- DivideByZeroException.cs
- PriorityBindingExpression.cs
- MarkedHighlightComponent.cs
- TransactionProtocolConverter.cs
- InstanceOwner.cs
- InkSerializer.cs
- UnmanagedHandle.cs
- MessageDirection.cs
- SqlProvider.cs
- ResourceExpressionBuilder.cs
- CodeNamespaceCollection.cs
- Font.cs
- controlskin.cs
- PathTooLongException.cs
- TextControlDesigner.cs
- DelimitedListTraceListener.cs
- TimeoutValidationAttribute.cs
- StateItem.cs
- ManipulationStartingEventArgs.cs
- CqlIdentifiers.cs
- IUnknownConstantAttribute.cs
- SectionInformation.cs
- Padding.cs
- CharStorage.cs
- SByteStorage.cs
- VisualTreeHelper.cs
- Model3D.cs
- ObjectParameter.cs
- XmlMembersMapping.cs
- DrawingContextWalker.cs
- XPathAxisIterator.cs
- CharAnimationUsingKeyFrames.cs
- Cloud.cs
- SqlServices.cs
- InputManager.cs
- FixedStringLookup.cs
- TypeGeneratedEventArgs.cs
- RelationshipNavigation.cs
- ResXResourceSet.cs
- RunClient.cs
- CollectionChangeEventArgs.cs
- ByteStack.cs
- Rotation3D.cs
- FacetChecker.cs
- ToolStripTextBox.cs
- OutputWindow.cs
- Native.cs
- MultiDataTrigger.cs
- CharKeyFrameCollection.cs
- PriorityBinding.cs
- XamlWriter.cs
- SessionStateItemCollection.cs
- PerspectiveCamera.cs
- LinqDataSourceContextData.cs
- DataGridPagerStyle.cs
- GradientBrush.cs
- VBCodeProvider.cs
- StringResourceManager.cs
- NotFiniteNumberException.cs
- BamlRecordHelper.cs
- DeploymentSection.cs
- PolyLineSegment.cs
- Dispatcher.cs
- UIElementAutomationPeer.cs
- PenCursorManager.cs
- CursorConverter.cs