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
- VariantWrapper.cs
- WizardStepCollectionEditor.cs
- GuidelineSet.cs
- BufferedGraphicsManager.cs
- PointF.cs
- RegexNode.cs
- DropShadowBitmapEffect.cs
- CustomGrammar.cs
- ColorBlend.cs
- ControlUtil.cs
- ObjectItemCachedAssemblyLoader.cs
- MediaSystem.cs
- DefaultMemberAttribute.cs
- HttpWebResponse.cs
- ToolStripPanelCell.cs
- StrongNameIdentityPermission.cs
- Double.cs
- PauseStoryboard.cs
- HttpHostedTransportConfiguration.cs
- BezierSegment.cs
- AvtEvent.cs
- TextAutomationPeer.cs
- _UriSyntax.cs
- VideoDrawing.cs
- PixelShader.cs
- Rect3DValueSerializer.cs
- InternalDispatchObject.cs
- WebPart.cs
- HttpGetServerProtocol.cs
- SiteMapHierarchicalDataSourceView.cs
- X509PeerCertificateAuthenticationElement.cs
- StylusPointDescription.cs
- FlowStep.cs
- GetPageNumberCompletedEventArgs.cs
- TextProperties.cs
- SplineKeyFrames.cs
- MetadataPropertyCollection.cs
- TableRow.cs
- StringUtil.cs
- RuntimeEnvironment.cs
- MLangCodePageEncoding.cs
- ConnectionInterfaceCollection.cs
- ProbeDuplexAsyncResult.cs
- CriticalExceptions.cs
- BinaryNode.cs
- IApplicationTrustManager.cs
- coordinator.cs
- WpfMemberInvoker.cs
- ProtectedConfiguration.cs
- AsymmetricSignatureFormatter.cs
- GenerateScriptTypeAttribute.cs
- ActivityMetadata.cs
- CharAnimationBase.cs
- ListControl.cs
- __Filters.cs
- TimeSpanOrInfiniteConverter.cs
- TextLine.cs
- VisualStyleRenderer.cs
- webclient.cs
- DoubleAnimationBase.cs
- Path.cs
- HitTestFilterBehavior.cs
- PanelStyle.cs
- ResourceReferenceKeyNotFoundException.cs
- EditorZone.cs
- XhtmlBasicPhoneCallAdapter.cs
- assemblycache.cs
- ExtensionSurface.cs
- InvalidEnumArgumentException.cs
- StringKeyFrameCollection.cs
- LinkConverter.cs
- Evidence.cs
- DrawingBrush.cs
- WebReferencesBuildProvider.cs
- QueryGeneratorBase.cs
- VerificationException.cs
- ConfigurationValidatorBase.cs
- DoubleStorage.cs
- InstanceCreationEditor.cs
- RegexBoyerMoore.cs
- DataExpression.cs
- ArcSegment.cs
- ServiceMemoryGates.cs
- PageParserFilter.cs
- HWStack.cs
- HttpException.cs
- OleDbConnectionFactory.cs
- BaseParaClient.cs
- SoapReflectionImporter.cs
- IListConverters.cs
- KeyFrames.cs
- HostDesigntimeLicenseContext.cs
- DataKeyArray.cs
- SendKeys.cs
- PeerNameRecord.cs
- DesignTimeValidationFeature.cs
- ExtendedProtectionPolicyElement.cs
- WindowsStreamSecurityBindingElement.cs
- TextModifierScope.cs
- ConfigurationManagerInternalFactory.cs