Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / X509PeerCertificateAuthenticationElement.cs / 1 / X509PeerCertificateAuthenticationElement.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 X509PeerCertificateAuthenticationElement : ConfigurationElement { public X509PeerCertificateAuthenticationElement() { } [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 = X509PeerCertificateAuthentication.DefaultCertificateValidationMode)] [ServiceModelEnumValidator(typeof(X509CertificateValidationModeHelper))] public X509CertificateValidationMode CertificateValidationMode { get { return (X509CertificateValidationMode)base[ConfigurationStrings.CertificateValidationMode]; } set { base[ConfigurationStrings.CertificateValidationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.RevocationMode, DefaultValue = X509PeerCertificateAuthentication.DefaultRevocationMode)] [StandardRuntimeEnumValidator(typeof(X509RevocationMode))] public X509RevocationMode RevocationMode { get { return (X509RevocationMode)base[ConfigurationStrings.RevocationMode]; } set { base[ConfigurationStrings.RevocationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.TrustedStoreLocation, DefaultValue = X509PeerCertificateAuthentication.DefaultTrustedStoreLocation)] [StandardRuntimeEnumValidator(typeof(StoreLocation))] public StoreLocation TrustedStoreLocation { get { return (StoreLocation)base[ConfigurationStrings.TrustedStoreLocation]; } set { base[ConfigurationStrings.TrustedStoreLocation] = value; } } public void Copy(X509PeerCertificateAuthenticationElement 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.CustomCertificateValidatorType = from.CustomCertificateValidatorType; } internal void ApplyConfiguration(X509PeerCertificateAuthentication cert) { if (cert == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("cert"); } cert.CertificateValidationMode = this.CertificateValidationMode; cert.RevocationMode = this.RevocationMode; cert.TrustedStoreLocation = this.TrustedStoreLocation; 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
- Convert.cs
- BufferAllocator.cs
- SamlAuthenticationClaimResource.cs
- CellQuery.cs
- Message.cs
- PrefixQName.cs
- PagesSection.cs
- XmlIlTypeHelper.cs
- Operators.cs
- Error.cs
- DbBuffer.cs
- CodeTypeDeclarationCollection.cs
- DecoratedNameAttribute.cs
- baseaxisquery.cs
- EnumerableValidator.cs
- ScanQueryOperator.cs
- MenuScrollingVisibilityConverter.cs
- XmlDataSourceView.cs
- StatusBarAutomationPeer.cs
- BindingMemberInfo.cs
- ChannelToken.cs
- GraphicsState.cs
- TextSegment.cs
- StylusCollection.cs
- HtmlLink.cs
- RedirectionProxy.cs
- HostingEnvironmentSection.cs
- ThemeDirectoryCompiler.cs
- SmtpReplyReaderFactory.cs
- PeerInvitationResponse.cs
- DataTableClearEvent.cs
- UInt16Storage.cs
- RowUpdatedEventArgs.cs
- StateWorkerRequest.cs
- ProfileServiceManager.cs
- ResourceDescriptionAttribute.cs
- ResourceProperty.cs
- MetadataItemSerializer.cs
- X509Utils.cs
- DiscoveryDocumentSearchPattern.cs
- Keywords.cs
- GenerateTemporaryAssemblyTask.cs
- DataGridViewRowStateChangedEventArgs.cs
- SqlRetyper.cs
- SByteConverter.cs
- StyleReferenceConverter.cs
- XmlEntityReference.cs
- XmlDataLoader.cs
- BitmapMetadataBlob.cs
- DocComment.cs
- XmlDataCollection.cs
- CssTextWriter.cs
- FontUnit.cs
- IndicFontClient.cs
- RSAOAEPKeyExchangeFormatter.cs
- CssStyleCollection.cs
- MailDefinitionBodyFileNameEditor.cs
- StateMachine.cs
- DoubleAnimationUsingPath.cs
- MachineKeyConverter.cs
- PrincipalPermission.cs
- ExceptionRoutedEventArgs.cs
- IssuedTokenParametersEndpointAddressElement.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- Trace.cs
- UriTemplatePathSegment.cs
- EventLogPermissionEntryCollection.cs
- ControlLocalizer.cs
- UncommonField.cs
- ProfileGroupSettings.cs
- XPathChildIterator.cs
- Vertex.cs
- ListenerPerfCounters.cs
- ThicknessAnimation.cs
- ScriptResourceAttribute.cs
- TypefaceMap.cs
- DispatcherProcessingDisabled.cs
- HitTestResult.cs
- ListViewItemEventArgs.cs
- NominalTypeEliminator.cs
- TableRow.cs
- NumericExpr.cs
- ColorBuilder.cs
- OdbcCommand.cs
- DecoratedNameAttribute.cs
- DataObjectSettingDataEventArgs.cs
- ManagementInstaller.cs
- LayoutInformation.cs
- InArgumentConverter.cs
- RelationshipType.cs
- StateDesigner.LayoutSelectionGlyph.cs
- RecognizerBase.cs
- XmlDataSourceNodeDescriptor.cs
- BooleanProjectedSlot.cs
- smtpconnection.cs
- OptimalTextSource.cs
- ServiceBehaviorElement.cs
- FileLevelControlBuilderAttribute.cs
- NamespaceList.cs
- AsyncOperationManager.cs