Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / security / system / security / cryptography / x509 / X509ChainPolicy.cs / 1 / X509ChainPolicy.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// X509ChainPolicy.cs
//
namespace System.Security.Cryptography.X509Certificates {
using System.Globalization;
public enum X509RevocationMode {
NoCheck = 0,
Online = 1,
Offline = 2
}
public enum X509RevocationFlag {
EndCertificateOnly = 0,
EntireChain = 1,
ExcludeRoot = 2
}
[Flags]
public enum X509VerificationFlags {
NoFlag = 0x00000000,
IgnoreNotTimeValid = 0x00000001,
IgnoreCtlNotTimeValid = 0x00000002,
IgnoreNotTimeNested = 0x00000004,
IgnoreInvalidBasicConstraints = 0x00000008,
AllowUnknownCertificateAuthority = 0x00000010,
IgnoreWrongUsage = 0x00000020,
IgnoreInvalidName = 0x00000040,
IgnoreInvalidPolicy = 0x00000080,
IgnoreEndRevocationUnknown = 0x00000100,
IgnoreCtlSignerRevocationUnknown = 0x00000200,
IgnoreCertificateAuthorityRevocationUnknown = 0x00000400,
IgnoreRootRevocationUnknown = 0x00000800,
AllFlags = 0x00000FFF
}
public sealed class X509ChainPolicy {
private OidCollection m_applicationPolicy;
private OidCollection m_certificatePolicy;
private X509RevocationMode m_revocationMode;
private X509RevocationFlag m_revocationFlag;
private DateTime m_verificationTime;
private TimeSpan m_timeout;
private X509Certificate2Collection m_extraStore;
private X509VerificationFlags m_verificationFlags;
public X509ChainPolicy () {
Reset();
}
public OidCollection ApplicationPolicy {
get {
return m_applicationPolicy;
}
}
public OidCollection CertificatePolicy {
get {
return m_certificatePolicy;
}
}
public X509RevocationMode RevocationMode {
get {
return m_revocationMode;
}
set {
if (value < X509RevocationMode.NoCheck || value > X509RevocationMode.Offline)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_revocationMode = value;
}
}
public X509RevocationFlag RevocationFlag {
get {
return m_revocationFlag;
}
set {
if (value < X509RevocationFlag.EndCertificateOnly || value > X509RevocationFlag.ExcludeRoot)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_revocationFlag = value;
}
}
public X509VerificationFlags VerificationFlags {
get {
return m_verificationFlags;
}
set {
if (value < X509VerificationFlags.NoFlag || value > X509VerificationFlags.AllFlags)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_verificationFlags = value;
}
}
public DateTime VerificationTime {
get {
return m_verificationTime;
}
set {
m_verificationTime = value;
}
}
public TimeSpan UrlRetrievalTimeout {
get {
return m_timeout;
}
set {
m_timeout = value;
}
}
public X509Certificate2Collection ExtraStore {
get {
return m_extraStore;
}
}
public void Reset () {
m_applicationPolicy = new OidCollection();
m_certificatePolicy = new OidCollection();
m_revocationMode = X509RevocationMode.Online;
m_revocationFlag = X509RevocationFlag.ExcludeRoot;
m_verificationFlags = X509VerificationFlags.NoFlag;
m_verificationTime = DateTime.Now;
m_timeout = new TimeSpan(0, 0, 0); // default timeout
m_extraStore = new X509Certificate2Collection();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
//
// X509ChainPolicy.cs
//
namespace System.Security.Cryptography.X509Certificates {
using System.Globalization;
public enum X509RevocationMode {
NoCheck = 0,
Online = 1,
Offline = 2
}
public enum X509RevocationFlag {
EndCertificateOnly = 0,
EntireChain = 1,
ExcludeRoot = 2
}
[Flags]
public enum X509VerificationFlags {
NoFlag = 0x00000000,
IgnoreNotTimeValid = 0x00000001,
IgnoreCtlNotTimeValid = 0x00000002,
IgnoreNotTimeNested = 0x00000004,
IgnoreInvalidBasicConstraints = 0x00000008,
AllowUnknownCertificateAuthority = 0x00000010,
IgnoreWrongUsage = 0x00000020,
IgnoreInvalidName = 0x00000040,
IgnoreInvalidPolicy = 0x00000080,
IgnoreEndRevocationUnknown = 0x00000100,
IgnoreCtlSignerRevocationUnknown = 0x00000200,
IgnoreCertificateAuthorityRevocationUnknown = 0x00000400,
IgnoreRootRevocationUnknown = 0x00000800,
AllFlags = 0x00000FFF
}
public sealed class X509ChainPolicy {
private OidCollection m_applicationPolicy;
private OidCollection m_certificatePolicy;
private X509RevocationMode m_revocationMode;
private X509RevocationFlag m_revocationFlag;
private DateTime m_verificationTime;
private TimeSpan m_timeout;
private X509Certificate2Collection m_extraStore;
private X509VerificationFlags m_verificationFlags;
public X509ChainPolicy () {
Reset();
}
public OidCollection ApplicationPolicy {
get {
return m_applicationPolicy;
}
}
public OidCollection CertificatePolicy {
get {
return m_certificatePolicy;
}
}
public X509RevocationMode RevocationMode {
get {
return m_revocationMode;
}
set {
if (value < X509RevocationMode.NoCheck || value > X509RevocationMode.Offline)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_revocationMode = value;
}
}
public X509RevocationFlag RevocationFlag {
get {
return m_revocationFlag;
}
set {
if (value < X509RevocationFlag.EndCertificateOnly || value > X509RevocationFlag.ExcludeRoot)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_revocationFlag = value;
}
}
public X509VerificationFlags VerificationFlags {
get {
return m_verificationFlags;
}
set {
if (value < X509VerificationFlags.NoFlag || value > X509VerificationFlags.AllFlags)
throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, SR.GetString(SR.Arg_EnumIllegalVal), "value"));
m_verificationFlags = value;
}
}
public DateTime VerificationTime {
get {
return m_verificationTime;
}
set {
m_verificationTime = value;
}
}
public TimeSpan UrlRetrievalTimeout {
get {
return m_timeout;
}
set {
m_timeout = value;
}
}
public X509Certificate2Collection ExtraStore {
get {
return m_extraStore;
}
}
public void Reset () {
m_applicationPolicy = new OidCollection();
m_certificatePolicy = new OidCollection();
m_revocationMode = X509RevocationMode.Online;
m_revocationFlag = X509RevocationFlag.ExcludeRoot;
m_verificationFlags = X509VerificationFlags.NoFlag;
m_verificationTime = DateTime.Now;
m_timeout = new TimeSpan(0, 0, 0); // default timeout
m_extraStore = new X509Certificate2Collection();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Memoizer.cs
- SqlInternalConnection.cs
- DecimalAnimation.cs
- LoginView.cs
- AndCondition.cs
- WebPartConnectionsCloseVerb.cs
- ControlBindingsCollection.cs
- FontStyles.cs
- ScriptComponentDescriptor.cs
- QueryOptionExpression.cs
- SelectedDatesCollection.cs
- PropertyItemInternal.cs
- MeasureItemEvent.cs
- DateTimeFormatInfoScanner.cs
- GridViewRowEventArgs.cs
- CategoryList.cs
- TypeConverterBase.cs
- SettingsSavedEventArgs.cs
- OleDbErrorCollection.cs
- XmlSubtreeReader.cs
- figurelength.cs
- DebugHandleTracker.cs
- GreenMethods.cs
- IsolatedStorageFileStream.cs
- DataErrorValidationRule.cs
- BitmapEffectvisualstate.cs
- TranslateTransform.cs
- Converter.cs
- ConfigurationManagerInternalFactory.cs
- TextRunProperties.cs
- CurrencyManager.cs
- HttpWebRequestElement.cs
- DeploymentSectionCache.cs
- ComplexObject.cs
- FieldBuilder.cs
- MatrixTransform3D.cs
- TripleDESCryptoServiceProvider.cs
- XhtmlTextWriter.cs
- TextViewElement.cs
- MissingManifestResourceException.cs
- SystemFonts.cs
- InvalidComObjectException.cs
- TypeDescriptionProviderAttribute.cs
- StyleXamlParser.cs
- SerializerWriterEventHandlers.cs
- XmlResolver.cs
- RowUpdatingEventArgs.cs
- LocatorGroup.cs
- OutputCacheModule.cs
- Size.cs
- PrintingPermission.cs
- WorkflowTransactionOptions.cs
- NumericUpDownAccelerationCollection.cs
- FamilyMapCollection.cs
- RelationshipEnd.cs
- SubpageParaClient.cs
- Region.cs
- RoutingUtilities.cs
- WinInetCache.cs
- _HeaderInfo.cs
- ItemDragEvent.cs
- SimplePropertyEntry.cs
- ItemsPresenter.cs
- StreamWriter.cs
- ArgIterator.cs
- CodeAttributeArgumentCollection.cs
- WindowsFormsHelpers.cs
- FullTextLine.cs
- VectorCollection.cs
- SoapTypeAttribute.cs
- GridViewUpdateEventArgs.cs
- HierarchicalDataBoundControl.cs
- TextServicesCompartmentContext.cs
- SecurityStandardsManager.cs
- HttpHandlerActionCollection.cs
- TreeChangeInfo.cs
- WebCategoryAttribute.cs
- FindCriteria11.cs
- NavigationService.cs
- BinaryCommonClasses.cs
- LoginUtil.cs
- AdornerPresentationContext.cs
- MissingFieldException.cs
- CssStyleCollection.cs
- WeakRefEnumerator.cs
- ItemContainerGenerator.cs
- RegexCapture.cs
- GridEntryCollection.cs
- PathTooLongException.cs
- TcpTransportElement.cs
- LogicalExpressionTypeConverter.cs
- Matrix3DStack.cs
- DesignerResources.cs
- ReadOnlyDataSourceView.cs
- WebPageTraceListener.cs
- HandlerBase.cs
- CFStream.cs
- CollectionEditor.cs
- Models.cs
- Documentation.cs