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
- smtppermission.cs
- Tracer.cs
- BaseTreeIterator.cs
- FileChangeNotifier.cs
- PagePropertiesChangingEventArgs.cs
- FolderBrowserDialogDesigner.cs
- CodeArrayIndexerExpression.cs
- SchemaType.cs
- RepeatInfo.cs
- ConnectionsZoneAutoFormat.cs
- SynchronizedInputPattern.cs
- Listbox.cs
- _BaseOverlappedAsyncResult.cs
- SqlInternalConnection.cs
- RequestCache.cs
- XPathNodeInfoAtom.cs
- DataGrid.cs
- SwitchAttribute.cs
- Queue.cs
- CollectionsUtil.cs
- SchemaNames.cs
- NetworkCredential.cs
- PatternMatcher.cs
- BitmapEffect.cs
- QueryPageSettingsEventArgs.cs
- DnsPermission.cs
- StatementContext.cs
- TypeDependencyAttribute.cs
- NamespaceQuery.cs
- AsyncPostBackErrorEventArgs.cs
- DefaultWorkflowTransactionService.cs
- HostingPreferredMapPath.cs
- CultureTable.cs
- ObjectStateFormatter.cs
- NotifyCollectionChangedEventArgs.cs
- ProxyWebPartManager.cs
- ScriptReferenceEventArgs.cs
- RootBuilder.cs
- RegisteredScript.cs
- ReversePositionQuery.cs
- TimersDescriptionAttribute.cs
- ServiceChannelProxy.cs
- AsymmetricSignatureFormatter.cs
- MiniAssembly.cs
- BinaryWriter.cs
- SystemInformation.cs
- ClosableStream.cs
- KeySplineConverter.cs
- DynamicDataManager.cs
- StreamMarshaler.cs
- GenericTypeParameterBuilder.cs
- BufferedOutputAsyncStream.cs
- SplayTreeNode.cs
- ConfigurationManagerHelper.cs
- UnsafeNativeMethods.cs
- BufferedStream.cs
- TraceHandlerErrorFormatter.cs
- SymbolType.cs
- MenuEventArgs.cs
- InfoCardServiceInstallComponent.cs
- CoTaskMemHandle.cs
- FileUtil.cs
- EncoderExceptionFallback.cs
- XmlCDATASection.cs
- XmlILModule.cs
- WebRequestModulesSection.cs
- Calendar.cs
- BooleanFacetDescriptionElement.cs
- ThreadExceptionEvent.cs
- ChangePassword.cs
- webclient.cs
- CompositeTypefaceMetrics.cs
- IChannel.cs
- EventLogStatus.cs
- FaultHandlingFilter.cs
- DnsPermission.cs
- UIElement.cs
- InputScopeNameConverter.cs
- GeometryModel3D.cs
- SHA256Cng.cs
- CurrentChangedEventManager.cs
- recordstatefactory.cs
- PopupRoot.cs
- FileLoadException.cs
- ReceiveContextCollection.cs
- SamlAction.cs
- PlatformNotSupportedException.cs
- ListBindingConverter.cs
- ECDiffieHellmanCng.cs
- HtmlLink.cs
- Visitors.cs
- SingleStorage.cs
- ContextStack.cs
- CapabilitiesState.cs
- NativeWindow.cs
- NavigationFailedEventArgs.cs
- InputScope.cs
- ExpandSegmentCollection.cs
- SortableBindingList.cs
- RichTextBoxConstants.cs