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(ICollection assertions, 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
- WebServiceFaultDesigner.cs
- DLinqTableProvider.cs
- DataGridLinkButton.cs
- AspProxy.cs
- InvalidEnumArgumentException.cs
- PixelFormats.cs
- TextPenaltyModule.cs
- IdentityValidationException.cs
- ExpressionBindings.cs
- GlyphRunDrawing.cs
- ExecutionContext.cs
- BezierSegment.cs
- DecimalAnimationBase.cs
- AutoResetEvent.cs
- CommandPlan.cs
- XmlSchemaInfo.cs
- CroppedBitmap.cs
- XamlToRtfWriter.cs
- MenuItemBindingCollection.cs
- Util.cs
- XmlTypeMapping.cs
- SimpleHandlerFactory.cs
- HttpProtocolReflector.cs
- BulletDecorator.cs
- ConvertEvent.cs
- WebMessageFormatHelper.cs
- PersianCalendar.cs
- HtmlString.cs
- ToolboxItemWrapper.cs
- TransactedReceiveScope.cs
- SystemDiagnosticsSection.cs
- XPathQueryGenerator.cs
- SchemaImporterExtensionElementCollection.cs
- UIElementParagraph.cs
- AnimationClock.cs
- PathSegment.cs
- ProxyWebPartConnectionCollection.cs
- BamlResourceSerializer.cs
- CodeCatchClause.cs
- DbConnectionPoolCounters.cs
- DataColumnMappingCollection.cs
- StatusStrip.cs
- WebPartEditorOkVerb.cs
- CodeSnippetTypeMember.cs
- ToolStripItem.cs
- BinaryObjectWriter.cs
- PrintPreviewControl.cs
- safelink.cs
- PropertyPathWorker.cs
- propertytag.cs
- ping.cs
- MruCache.cs
- ImageSourceConverter.cs
- HebrewNumber.cs
- OleDbEnumerator.cs
- DataGridViewLinkCell.cs
- PersistenceProviderBehavior.cs
- ConnectionsZone.cs
- KeyPullup.cs
- DummyDataSource.cs
- EntityPropertyMappingAttribute.cs
- LoginView.cs
- BeginCreateSecurityTokenRequest.cs
- ParameterCollectionEditorForm.cs
- DataRelationCollection.cs
- RegexCode.cs
- SymbolPair.cs
- HeaderPanel.cs
- EncryptedKeyIdentifierClause.cs
- TableLayoutCellPaintEventArgs.cs
- GeometryConverter.cs
- ListParaClient.cs
- InputLangChangeRequestEvent.cs
- XPathDocumentNavigator.cs
- IndependentlyAnimatedPropertyMetadata.cs
- AuthenticateEventArgs.cs
- SafeEventHandle.cs
- MenuItemStyleCollectionEditor.cs
- ListDictionary.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- LongValidator.cs
- MetaModel.cs
- ProtocolsConfiguration.cs
- WebPermission.cs
- DropDownHolder.cs
- OleServicesContext.cs
- TailCallAnalyzer.cs
- WebPartUserCapability.cs
- SqlConnectionFactory.cs
- TCEAdapterGenerator.cs
- FileLevelControlBuilderAttribute.cs
- ItemContainerPattern.cs
- WasEndpointConfigContainer.cs
- ServiceReflector.cs
- ContentElement.cs
- ProcessManager.cs
- DataGridTextBox.cs
- Triplet.cs
- SimpleHandlerFactory.cs
- TypeInfo.cs