class System.Security.Cryptography.X509Certificates.X509Chain
   inherits System.Object
   implements System.IDisposable:

   def public property ChainContext as System.IntPtr
      get.

   def public property SafeHandle as Microsoft.Win32.SafeHandles.SafeX509ChainHandle
      get.

   def public property ChainPolicy as System.Security.Cryptography.X509Certificates.X509ChainPolicy
      get.
      set.

   def public property ChainStatus as System.Security.Cryptography.X509Certificates.X509ChainStatus extent
      get.

   def public property ChainElements as System.Security.Cryptography.X509Certificates.X509ChainElementCollection
      get.

   constructor public X509Chain():
   end constructor.

   constructor public X509Chain(input useMachineContext as logical):
   end constructor.

   constructor public X509Chain(input chainContext as System.IntPtr):
   end constructor.

   method public final static System.Security.Cryptography.X509Certificates.X509Chain Create():
   end method.

   method public final logical Build(input certificate as System.Security.Cryptography.X509Certificates.X509Certificate2):
   end method.

   method public final void Reset():
   end method.

   method public final void Dispose():
   end method.

   method protected final void Dispose(input disposing as logical):
   end method.

end class.
