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
- ExtensionWindowResizeGrip.cs
- QilTargetType.cs
- CellRelation.cs
- ToolStripButton.cs
- FactorySettingsElement.cs
- CurrentTimeZone.cs
- AuthenticationModuleElementCollection.cs
- Style.cs
- UrlParameterReader.cs
- MouseGestureConverter.cs
- HttpListenerPrefixCollection.cs
- DataMemberFieldEditor.cs
- UpdateRecord.cs
- CharStorage.cs
- DecimalConstantAttribute.cs
- SecureUICommand.cs
- StructuredProperty.cs
- SkinBuilder.cs
- AmbientValueAttribute.cs
- ChannelManager.cs
- SqlUtils.cs
- XPathNode.cs
- CaseExpr.cs
- RecordsAffectedEventArgs.cs
- AssociationType.cs
- CharacterBufferReference.cs
- Quad.cs
- InfoCardBaseException.cs
- Attribute.cs
- TryCatchDesigner.xaml.cs
- EditingScopeUndoUnit.cs
- StackBuilderSink.cs
- ListDictionaryInternal.cs
- Models.cs
- Marshal.cs
- QilInvokeLateBound.cs
- AppearanceEditorPart.cs
- EnumValAlphaComparer.cs
- FakeModelItemImpl.cs
- SByte.cs
- RewritingPass.cs
- DiagnosticSection.cs
- RpcResponse.cs
- WebPartConnectionsCancelEventArgs.cs
- DockingAttribute.cs
- WebPartVerbsEventArgs.cs
- ConstraintEnumerator.cs
- DrawingImage.cs
- ApplicationSecurityInfo.cs
- RelationshipConverter.cs
- StringWriter.cs
- InputScopeNameConverter.cs
- GraphicsState.cs
- ProcessHostFactoryHelper.cs
- ByteBufferPool.cs
- ScrollBar.cs
- ConnectionStringsExpressionBuilder.cs
- CustomDictionarySources.cs
- NavigatingCancelEventArgs.cs
- ToolBar.cs
- SamlAudienceRestrictionCondition.cs
- PermissionListSet.cs
- InvalidOleVariantTypeException.cs
- DoubleKeyFrameCollection.cs
- DesignTimeTemplateParser.cs
- MetricEntry.cs
- MsdtcWrapper.cs
- IWorkflowDebuggerService.cs
- BitmapEffectInputData.cs
- RuntimeConfigurationRecord.cs
- PointAnimationClockResource.cs
- FrugalList.cs
- OdbcConnectionHandle.cs
- TreeChangeInfo.cs
- ParseHttpDate.cs
- CompositionCommandSet.cs
- COM2ColorConverter.cs
- ModelEditingScope.cs
- EventLogPermissionEntry.cs
- AuthenticationException.cs
- DbDataSourceEnumerator.cs
- BuildManagerHost.cs
- TablePattern.cs
- MarkupCompiler.cs
- UIElementAutomationPeer.cs
- HtmlInputSubmit.cs
- PathSegmentCollection.cs
- IntSecurity.cs
- SingleResultAttribute.cs
- XmlLoader.cs
- MatrixCamera.cs
- CacheAxisQuery.cs
- MasterPageCodeDomTreeGenerator.cs
- ScaleTransform3D.cs
- MatrixIndependentAnimationStorage.cs
- TokenBasedSetEnumerator.cs
- LogStream.cs
- CompiledQuery.cs
- ToolStripHighContrastRenderer.cs
- LayoutEditorPart.cs