Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / X509ClientCertificateAuthenticationElement.cs / 1 / X509ClientCertificateAuthenticationElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel; using System.Configuration; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.Xml; using System.Security.Cryptography.X509Certificates; using System.IdentityModel.Selectors; public sealed partial class X509ClientCertificateAuthenticationElement : ConfigurationElement { public X509ClientCertificateAuthenticationElement() { } [ConfigurationProperty(ConfigurationStrings.CustomCertificateValidatorType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string CustomCertificateValidatorType { get { return (string)base[ConfigurationStrings.CustomCertificateValidatorType]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.CustomCertificateValidatorType] = value; } } [ConfigurationProperty(ConfigurationStrings.CertificateValidationMode, DefaultValue = X509ClientCertificateAuthentication.DefaultCertificateValidationMode)] [ServiceModelEnumValidator(typeof(X509CertificateValidationModeHelper))] public X509CertificateValidationMode CertificateValidationMode { get { return (X509CertificateValidationMode)base[ConfigurationStrings.CertificateValidationMode]; } set { base[ConfigurationStrings.CertificateValidationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.RevocationMode, DefaultValue = X509ClientCertificateAuthentication.DefaultRevocationMode)] [StandardRuntimeEnumValidator(typeof(X509RevocationMode))] public X509RevocationMode RevocationMode { get { return (X509RevocationMode)base[ConfigurationStrings.RevocationMode]; } set { base[ConfigurationStrings.RevocationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.TrustedStoreLocation, DefaultValue = X509ClientCertificateAuthentication.DefaultTrustedStoreLocation)] [StandardRuntimeEnumValidator(typeof(StoreLocation))] public StoreLocation TrustedStoreLocation { get { return (StoreLocation)base[ConfigurationStrings.TrustedStoreLocation]; } set { base[ConfigurationStrings.TrustedStoreLocation] = value; } } [ConfigurationProperty(ConfigurationStrings.IncludeWindowsGroups, DefaultValue = SspiSecurityTokenProvider.DefaultExtractWindowsGroupClaims)] public bool IncludeWindowsGroups { get { return (bool)base[ConfigurationStrings.IncludeWindowsGroups]; } set { base[ConfigurationStrings.IncludeWindowsGroups] = value; } } [ConfigurationProperty(ConfigurationStrings.MapClientCertificateToWindowsAccount, DefaultValue = X509ClientCertificateAuthentication.DefaultMapCertificateToWindowsAccount)] public bool MapClientCertificateToWindowsAccount { get { return (bool)base[ConfigurationStrings.MapClientCertificateToWindowsAccount]; } set { base[ConfigurationStrings.MapClientCertificateToWindowsAccount] = value; } } public void Copy(X509ClientCertificateAuthenticationElement from) { if (this.IsReadOnly()) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigReadOnly))); } if (null == from) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("from"); } this.CertificateValidationMode = from.CertificateValidationMode; this.RevocationMode = from.RevocationMode; this.TrustedStoreLocation = from.TrustedStoreLocation; this.IncludeWindowsGroups = from.IncludeWindowsGroups; this.MapClientCertificateToWindowsAccount = from.MapClientCertificateToWindowsAccount; this.CustomCertificateValidatorType = from.CustomCertificateValidatorType; } internal void ApplyConfiguration(X509ClientCertificateAuthentication cert) { if (cert == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("cert"); } cert.CertificateValidationMode = this.CertificateValidationMode; cert.RevocationMode = this.RevocationMode; cert.TrustedStoreLocation = this.TrustedStoreLocation; cert.IncludeWindowsGroups = this.IncludeWindowsGroups; cert.MapClientCertificateToWindowsAccount = this.MapClientCertificateToWindowsAccount; if (!string.IsNullOrEmpty(this.CustomCertificateValidatorType)) { Type validatorType = System.Type.GetType(this.CustomCertificateValidatorType, true); if (!typeof(X509CertificateValidator).IsAssignableFrom(validatorType)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidCertificateValidatorType, this.CustomCertificateValidatorType, typeof(X509CertificateValidator).ToString()))); } cert.CustomCertificateValidator = (X509CertificateValidator)Activator.CreateInstance(validatorType); } } } } // 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
- WebPart.cs
- AsyncCallback.cs
- FormatConvertedBitmap.cs
- StringWriter.cs
- XhtmlStyleClass.cs
- EntityViewGenerationConstants.cs
- WebPartVerbCollection.cs
- InputReport.cs
- Image.cs
- WindowProviderWrapper.cs
- CharacterShapingProperties.cs
- CmsInterop.cs
- Context.cs
- ExpressionPrefixAttribute.cs
- Int16Converter.cs
- FrameworkElement.cs
- TimeoutTimer.cs
- ListViewTableRow.cs
- XmlArrayItemAttribute.cs
- NullableConverter.cs
- CipherData.cs
- IfAction.cs
- ModuleBuilderData.cs
- IUnknownConstantAttribute.cs
- MaterializeFromAtom.cs
- FolderBrowserDialog.cs
- Configuration.cs
- SqlDataSource.cs
- StatementContext.cs
- IPipelineRuntime.cs
- SafeNativeMethods.cs
- NonSerializedAttribute.cs
- EntityDesignerDataSourceView.cs
- ZipIOLocalFileDataDescriptor.cs
- ChangeTracker.cs
- TemplateParser.cs
- DataListItem.cs
- SQLChars.cs
- MailHeaderInfo.cs
- ClusterRegistryConfigurationProvider.cs
- TaiwanCalendar.cs
- ManagementInstaller.cs
- HtmlProps.cs
- ObjectComplexPropertyMapping.cs
- DataObjectPastingEventArgs.cs
- _TransmitFileOverlappedAsyncResult.cs
- InputScopeConverter.cs
- SubMenuStyleCollectionEditor.cs
- DataView.cs
- ToolStripDropDownClosingEventArgs.cs
- Literal.cs
- TextMarkerSource.cs
- NavigateEvent.cs
- While.cs
- ToolStrip.cs
- WhitespaceRule.cs
- TableAutomationPeer.cs
- GroupDescription.cs
- RequestCacheManager.cs
- IndentedWriter.cs
- HScrollProperties.cs
- InsufficientMemoryException.cs
- RealProxy.cs
- basevalidator.cs
- ProfileProvider.cs
- MailHeaderInfo.cs
- AsyncCompletedEventArgs.cs
- ClientUIRequest.cs
- SecurityKeyType.cs
- NullableDecimalSumAggregationOperator.cs
- SessionState.cs
- PerfService.cs
- TrustManagerPromptUI.cs
- PropertyIDSet.cs
- AnyAllSearchOperator.cs
- TypeDelegator.cs
- FixedPageProcessor.cs
- DiscoveryDefaults.cs
- EditorAttributeInfo.cs
- XmlLoader.cs
- ElementAtQueryOperator.cs
- HostProtectionException.cs
- SchemaElementDecl.cs
- Int32EqualityComparer.cs
- XmlWhitespace.cs
- HtmlInputControl.cs
- CacheAxisQuery.cs
- CalendarData.cs
- Int32CollectionValueSerializer.cs
- SerialErrors.cs
- XmlTextEncoder.cs
- SelectionListDesigner.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- FileSystemInfo.cs
- QueryContinueDragEvent.cs
- Stacktrace.cs
- CollectionView.cs
- SQLMembershipProvider.cs
- CodeNamespace.cs
- ArrayWithOffset.cs