Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / security / system / security / cryptography / x509 / X509ChainPolicy.cs / 1305376 / 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
- KeyFrames.cs
- FixUp.cs
- Stack.cs
- Stack.cs
- IndentedTextWriter.cs
- Walker.cs
- VisualStyleElement.cs
- ToolStripLocationCancelEventArgs.cs
- IdentitySection.cs
- URL.cs
- TextReader.cs
- AudioSignalProblemOccurredEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ModuleElement.cs
- BuildProvidersCompiler.cs
- Executor.cs
- WCFModelStrings.Designer.cs
- IsolationInterop.cs
- ProxyAssemblyNotLoadedException.cs
- ObjectDataSourceChooseMethodsPanel.cs
- _ChunkParse.cs
- WindowsFormsHostAutomationPeer.cs
- TableDetailsRow.cs
- MailMessage.cs
- ToolboxComponentsCreatingEventArgs.cs
- NetSectionGroup.cs
- ModuleElement.cs
- StaticContext.cs
- WebRequestModuleElementCollection.cs
- ListViewItem.cs
- WebPartHeaderCloseVerb.cs
- ClrPerspective.cs
- Popup.cs
- TextReader.cs
- DataComponentGenerator.cs
- Binding.cs
- DependencyObjectValidator.cs
- PropertyFilterAttribute.cs
- WaveHeader.cs
- _WinHttpWebProxyDataBuilder.cs
- _NegotiateClient.cs
- HttpException.cs
- BitmapEffectInputData.cs
- DesignerForm.cs
- LinkConverter.cs
- AssemblySettingAttributes.cs
- DoWorkEventArgs.cs
- PrivilegedConfigurationManager.cs
- DnsPermission.cs
- BuildResult.cs
- cache.cs
- ScaleTransform3D.cs
- BitmapEffect.cs
- UnsafeNativeMethods.cs
- FileSecurity.cs
- RelationshipDetailsRow.cs
- UnicodeEncoding.cs
- _BufferOffsetSize.cs
- HeaderCollection.cs
- RecommendedAsConfigurableAttribute.cs
- NullReferenceException.cs
- Common.cs
- ToolStripDropTargetManager.cs
- cryptoapiTransform.cs
- FormatConvertedBitmap.cs
- MenuRendererClassic.cs
- ObfuscateAssemblyAttribute.cs
- PageHandlerFactory.cs
- ChangeBlockUndoRecord.cs
- RSAPKCS1SignatureDeformatter.cs
- ActionMessageFilter.cs
- ButtonBase.cs
- BitStream.cs
- ObjectParameter.cs
- DataList.cs
- TranslateTransform.cs
- JoinSymbol.cs
- ComponentCodeDomSerializer.cs
- TextReader.cs
- WebHttpBehavior.cs
- OdbcDataReader.cs
- UInt16Converter.cs
- SQLInt32Storage.cs
- FixedPageProcessor.cs
- IOException.cs
- CheckBoxBaseAdapter.cs
- MasterPageParser.cs
- IdentityHolder.cs
- ObjectStateFormatter.cs
- InputLanguageEventArgs.cs
- UserPreferenceChangingEventArgs.cs
- WebBrowsableAttribute.cs
- SinglePageViewer.cs
- ReservationCollection.cs
- TextBounds.cs
- GenericAuthenticationEventArgs.cs
- AxisAngleRotation3D.cs
- WorkflowExecutor.cs
- PermissionListSet.cs
- DictionaryEntry.cs