<doc>
  <assembly>
    <name>Rebex.Common</name>
  </assembly>
  <members>
    <member name="T:Rebex.ConsoleLogWriter">
      <summary>
            Console-based log writer that writes log messages to the console.
            </summary>
    </member>
    <member name="M:Rebex.ConsoleLogWriter.#ctor">
      <summary>
            Creates a new instance of console log writer with a log level of Info.
            </summary>
    </member>
    <member name="M:Rebex.ConsoleLogWriter.#ctor(Rebex.LogLevel)">
      <summary>
            Creates a new instance of console log writer with the specified log level.
            </summary>
      <param name="level">Log level.</param>
    </member>
    <member name="P:Rebex.ConsoleLogWriter.UseColors">
      <summary>
            Gets or sets a value that indicates whether to use console colors.
            </summary>
    </member>
    <member name="M:Rebex.ConsoleLogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)">
      <summary>
            Writes a message into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
    </member>
    <member name="M:Rebex.ConsoleLogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Writes a message and data block into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
      <param name="buffer">Data block.</param>
      <param name="offset">Data offset.</param>
      <param name="length">Date length.</param>
    </member>
    <member name="M:Rebex.ConsoleLogWriter.WriteMessage(System.String)">
      <summary>
            Appends the specified message text into a text-based log.
            </summary>
      <param name="message">Full message info.</param>
    </member>
    <member name="T:Rebex.EncodingTools">
      <summary>
            Various methods related to encoding (charset) used by Rebex components.
            </summary>
    </member>
    <member name="P:Rebex.EncodingTools.ASCII">
      <summary>
            ASCII encoding.
            </summary>
    </member>
    <member name="P:Rebex.EncodingTools.Default">
      <summary>
            Default encoding.
            </summary>
    </member>
    <member name="P:Rebex.EncodingTools.UTF8">
      <summary>
            UTF-8 encoding.
            </summary>
    </member>
    <member name="M:Rebex.EncodingTools.GetEncodingNames">
      <summary>
            Gets a list of supported encoding names.
            </summary>
      <returns>List of encoding names.</returns>
    </member>
    <member name="M:Rebex.EncodingTools.GetEncoding(System.String)">
      <summary>
            Returns the encoding associated with the specified code page name.
            </summary>
      <param name="name">Code page name.</param>
      <returns>Encoding.</returns>
    </member>
    <member name="M:Rebex.EncodingTools.GetEncoding(System.Int32)">
      <summary>
            Returns the encoding associated with the specified code page.
            </summary>
      <param name="codepage">Code page.</param>
      <returns>Encoding.</returns>
    </member>
    <member name="T:Rebex.FileLogWriter">
      <summary>
            File-based log writer that saves log messages into a text file.
            </summary>
    </member>
    <member name="M:Rebex.FileLogWriter.#ctor(System.String)">
      <summary>
            Creates a new instance of file log writer based on the specified file and the default "Info" log level.
            </summary>
      <param name="path">Path to log file.</param>
    </member>
    <member name="M:Rebex.FileLogWriter.#ctor(System.String,Rebex.LogLevel)">
      <summary>
            Creates a new instance of file log writer based on the specified file and log level.
            </summary>
      <param name="path">Path to log file.</param>
      <param name="level">Log level.</param>
    </member>
    <member name="P:Rebex.FileLogWriter.Path">
      <summary>
            Path to the log file.
            </summary>
    </member>
    <member name="P:Rebex.FileLogWriter.IsClosed">
      <summary>
            Get a value indicating whether the log writer is closed.
            </summary>
      <value>True when logfile is closed. False if logfile is opened and ready for writing.</value>
    </member>
    <member name="M:Rebex.FileLogWriter.Dispose(System.Boolean)">
      <summary>
            Dispose(bool disposing) executes in two distinct scenarios.
            If disposing equals true, the method has been called directly
            or indirectly by a user's code. Managed and unmanaged resources
            can be disposed.
            If disposing equals false, the method has been called by the 
            runtime from inside the finalizer and you should not reference 
            other objects. Only unmanaged resources can be disposed.
            </summary>
      <param name="disposing"> If true, is called by IDisposable.Dispose. 
            Otherwise it is called by finalizer.</param>
    </member>
    <member name="M:Rebex.FileLogWriter.WriteMessage(System.String)">
      <summary>
            Appends the specified message text into a text-based log.
            </summary>
      <param name="message">Full message info.</param>
    </member>
    <member name="M:Rebex.FileLogWriter.Finalize">
      <summary>
            Finalizer. Called by garbage collector during object destruction.
            </summary>
    </member>
    <member name="T:Rebex.LogLevel">
      <summary>
            Log level - specifies the levels of severity.
            </summary>
    </member>
    <member name="F:Rebex.LogLevel.Verbose">
      <summary>
            Be verbose - log everything.
            </summary>
    </member>
    <member name="F:Rebex.LogLevel.Debug">
      <summary>
            Log all messages useful for debugging purposes.
            </summary>
    </member>
    <member name="F:Rebex.LogLevel.Info">
      <summary>
            Only log informative messages.
            </summary>
    </member>
    <member name="F:Rebex.LogLevel.Error">
      <summary>
            Only log errors.
            </summary>
    </member>
    <member name="F:Rebex.LogLevel.Off">
      <summary>
            The Off level designates a higher level than all the rest.
            </summary>
    </member>
    <member name="T:Rebex.ILogWriter">
      <summary>
            Defines methods and properties all log writers must implement.
            </summary>
    </member>
    <member name="P:Rebex.ILogWriter.Level">
      <summary>
            Get or set the log level - only log messages with log level equal to or greater than the specified one.
            </summary>
      <value>Log level.</value>
    </member>
    <member name="M:Rebex.ILogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)">
      <summary>
            Write a message into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
    </member>
    <member name="M:Rebex.ILogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Write a message and data block into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
      <param name="buffer">Data block.</param>
      <param name="offset">Data offset.</param>
      <param name="length">Date length.</param>
    </member>
    <member name="T:Rebex.ILogWriterProvider">
      <summary>
            Define properties and methods for logging providers.
            </summary>
    </member>
    <member name="P:Rebex.ILogWriterProvider.LogWriter">
      <summary>
            Gets a <see cref="T:Rebex.ILogWriter" /> to use for logging.
            </summary>
    </member>
    <member name="T:Rebex.IntervalBoundMode">
      <summary>
            Represents mode for interval boundaries.
            </summary>
    </member>
    <member name="F:Rebex.IntervalBoundMode.Include">
      <summary>
            Include interval boundary.
            </summary>
    </member>
    <member name="F:Rebex.IntervalBoundMode.Exclude">
      <summary>
            Exclude interval boundary.
            </summary>
    </member>
    <member name="T:Rebex.IO.TransferAction">
      <summary>
            Currently executed operation.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferAction.Uploading">
      <summary>Uploading files.</summary>
    </member>
    <member name="F:Rebex.IO.TransferAction.Downloading">
      <summary>Downloading files.</summary>
    </member>
    <member name="F:Rebex.IO.TransferAction.Deleting">
      <summary>Deleting files.</summary>
    </member>
    <member name="F:Rebex.IO.TransferAction.Listing">
      <summary>Getting item list.</summary>
    </member>
    <member name="T:Rebex.IO.TraversingState">
      <summary>
            Current traversal state of the <see cref="T:Rebex.IO.TransferAction" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversingState.HierarchyRetrieving">
      <summary>
            Retrieving of the file system hierarchy was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversingState.HierarchyRetrieved">
      <summary>
            Retrieving of the file system hierarchy was successfully completed.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversingState.DirectoryRetrieving">
      <summary>
            Retrieving of the particular directory hierarchy was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversingState.DirectoryRetrieved">
      <summary>
            Retrieving of the particular directory hierarchy was successfully completed.
            </summary>
    </member>
    <member name="T:Rebex.IO.TransferProgressState">
      <summary>
            Current transfer state of the <see cref="T:Rebex.IO.TransferAction" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProgressState.DirectoryProcessing">
      <summary>
            Directory processing was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProgressState.FileTransferring">
      <summary>
            Processing of a file was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProgressState.FileTransferred">
      <summary>
            File was successfully transferred.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProgressState.DataBlockProcessed">
      <summary>
            A file data block was processed.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProgressState.TransferCompleted">
      <summary>
            The transfer action was successfully completed.
            Triggered only with multi-file operations. (For single-file operations, only <see cref="F:Rebex.IO.TransferProgressState.FileTransferred" /> is triggered.)
            </summary>
    </member>
    <member name="T:Rebex.IO.DeleteProgressState">
      <summary>
            Current delete state of the <see cref="F:Rebex.IO.TransferAction.Deleting" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.DeleteProgressState.FileDeleting">
      <summary>
            File processing was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.DeleteProgressState.FileDeleted">
      <summary>
            File was successfully deleted.
            </summary>
    </member>
    <member name="F:Rebex.IO.DeleteProgressState.DirectoryProcessing">
      <summary>
            Directory processing was started.
            </summary>
    </member>
    <member name="F:Rebex.IO.DeleteProgressState.DirectoryDeleted">
      <summary>
            Directory was successfully deleted.
            </summary>
    </member>
    <member name="F:Rebex.IO.DeleteProgressState.DeleteCompleted">
      <summary>
            The delete action was successfully completed.
            </summary>
    </member>
    <member name="T:Rebex.IO.TransferProblemType">
      <summary>
            Detailed specification of a problem that occurred during a multi-file operation.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.FileExists">
      <summary>
            A target file with the same name already exists.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.LinkDetected">
      <summary>
            A symbolic link was detected.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.InfiniteLoopDetected">
      <summary>
            Symbolic link is probably a part of an infinite loop in the file system hierarchy.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotCreateDirectory">
      <summary>
            Cannot create target directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotTransferFile">
      <summary>
            Cannot transfer file.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotReadFromDirectory">
      <summary>
            Cannot read from a directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotFindFile">
      <summary>
            Cannot find the file which was found while retrieving file system hierarchy earlier.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.FileNameIsInvalidOnTargetFileSystem">
      <summary>
            Name of the file is invalid on the target file system.
            For example, backslash is a valid filename character on Unix FTP servers, but invalid in local Windows file system.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.DirectoryNameIsInvalidOnTargetFileSystem">
      <summary>
            Name of the directory is invalid on the target file system. 
            For example, backslash is a valid directory name character on Unix FTP servers, but invalid in local Windows file system.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotFindDirectory">
      <summary>
            Cannot find the directory which was found while retrieving file system hierarchy earlier.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotFindLink">
      <summary>
            Cannot find the link which was found while retrieving file system hierarchy earlier.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotResolveLink">
      <summary>
            Link is corrupted or its target cannot be found.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.NotFileOrDirectory">
      <summary>
            Currently processed item is neither a file nor a directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.OperationCanceled">
      <summary>
            Operation was canceled.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.UnsupportedFeature">
      <summary>
            Feature required to complete the operation is not supported.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotDeleteFile">
      <summary>
            Cannot delete the file.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotDeleteDirectory">
      <summary>
            Cannot delete the directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotCalculateChecksum">
      <summary>
            Cannot calculate checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemType.CannotRetrieveItemInfo">
      <summary>
            Cannot retrieve information on an item.
            </summary>
    </member>
    <member name="T:Rebex.IO.TransferProblemReaction">
      <summary>
            Specifies the reaction to resolve the current problem that occurred during a multi-file operation.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Cancel">
      <summary>
            Cancel the whole operation. An exception with the <see cref="F:Rebex.IO.TransferProblemType.OperationCanceled" /> value is thrown.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Fail">
      <summary>
            Cancel the whole operation. An exception is thrown.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Skip">
      <summary>
            Skip the current problematic item.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Retry">
      <summary>
            Retry the current operation again.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Overwrite">
      <summary>
            Overwrite target file with the same name.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Rename">
      <summary>
            Transfer the source file to a different name.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.Resume">
      <summary>
            Resume target file.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferProblemReaction.FollowLink">
      <summary>
            Resolve the symbolic link.
            </summary>
    </member>
    <member name="T:Rebex.IO.OverwriteCondition">
      <summary>
            Specifies the condition for overwriting a file.
            </summary>
    </member>
    <member name="F:Rebex.IO.OverwriteCondition.None">
      <summary>
            No condition = always overwrite.
            </summary>
    </member>
    <member name="F:Rebex.IO.OverwriteCondition.SizeDiffers">
      <summary>
            Overwrite if size differs.
            </summary>
    </member>
    <member name="F:Rebex.IO.OverwriteCondition.Older">
      <summary>
            Overwrite if the target file is older than the source file.
            If working with remote servers, this condition is strongly discouraged 
            because modification dates are often misreported by FTP servers, 
            making this mode highly unreliable.
            </summary>
    </member>
    <member name="F:Rebex.IO.OverwriteCondition.ChecksumDiffers">
      <summary>
            Overwrite if checksum differs.
            Available for ZIP, FTP and SFTP. However, only some FTP and SFTP servers support checksums.<br />
            You can check availability of this condition using <see cref="M:Rebex.IO.ProblemDetectedEventArgs.IsOverwriteConditionPossible(Rebex.IO.OverwriteCondition)" /> method.
            </summary>
    </member>
    <member name="T:Rebex.IO.ProblemDetectedEventArgs">
      <summary>
            Provides data for the ProblemDetected event.
            </summary>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.Action">
      <summary>
            Gets the current transfer action.
            </summary>
      <value>Current transfer action.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.Exception">
      <summary>
            Gets the exception which will be raised if chosen Reaction is <see cref="F:Rebex.IO.TransferProblemReaction.Fail" />. 
            </summary>
      <value>Exception.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.ProblemType">
      <summary>
            Gets the type of the error that classifies the problem.
            </summary>
      <value>Problem type.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.LocalPath">
      <summary>
            Gets the path of the local file or directory that is currently processed.
            </summary>
      <value>Local path.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.LocalItem">
      <summary>
            Gets the local file or directory that is currently processed or null (Nothing in Visual Basic) if not available.
            </summary>
      <value>Local item.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.RemotePath">
      <summary>
            Gets the path of the remote file or directory that is currently processed.
            </summary>
      <value>Remote path.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.RemoteItem">
      <summary>
            Gets the remote file or directory that is currently processed or null (Nothing in Visual Basic) if not available.
            </summary>
      <value>Remote item.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.Reaction">
      <summary>
            Gets the currently selected reaction to the current problem.
            </summary>
      <value>The operation to be performed as the next step of the multi-file operation execution.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.OverwriteCondition">
      <summary>
            Gets the condition to apply for the Overwrite reaction.
            If the chosen reaction is not Overwrite, this property is ignored.
            </summary>
      <value>Overwrite condition.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.NewName">
      <summary>
            Gets the new name for the currently processed file or directory.
            If the chosen reaction is not Rename, this property is ignored.
            </summary>
      <value>New name.</value>
    </member>
    <member name="P:Rebex.IO.ProblemDetectedEventArgs.UserState">
      <summary>
            Gets a user state object.
            </summary>
      <value>User state object.</value>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.#ctor(System.Object)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.ProblemDetectedEventArgs" /> class (for internal use only).
            </summary>
      <param name="info">Event data.</param>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.IsReactionPossible(Rebex.IO.TransferProblemReaction)">
      <summary>
            Determines whether the specified reaction is currently possible - use this to determine which reactions can be applied.
            </summary>
      <param name="reaction">Desired reaction.</param>
      <returns>True if the specified reaction is possible; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.IsOverwriteConditionPossible(Rebex.IO.OverwriteCondition)">
      <summary>
            Determines whether the specified overwrite condition is currently possible - use this to determine which overwrite conditions can be applied.
            </summary>
      <param name="condition">Desired condition.</param>
      <returns>True if the specified condition is possible; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Skip">
      <summary>
            Indicate to the sender that the problematic item should be skipped.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Cancel">
      <summary>
            Indicate to the sender that the operation should be canceled.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Fail">
      <summary>
            Indicate to the sender that an exception should be raised.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Retry">
      <summary>
            Indicate to the sender that the operation on the current item should be retired.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Resume">
      <summary>
            Indicate to the sender that the current item should be resumed.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.FollowLink">
      <summary>
            Indicate to the sender that the current link should be resolved.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Rename">
      <summary>
            Indicate to the sender that the current item should be renamed.
            New name is generated from the current item according the pattern "filename[number].extension".
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Rename(System.String)">
      <summary>
            Indicate to the sender that the current item should be renamed.
            </summary>
      <param name="newName">New name of the item or null (Nothing in Visual Basic) to use generated name according the pattern "filename[number].extension".</param>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Overwrite">
      <summary>
            Indicate to the sender that the current item should be overwritten.
            </summary>
    </member>
    <member name="M:Rebex.IO.ProblemDetectedEventArgs.Overwrite(Rebex.IO.OverwriteCondition)">
      <summary>
            Indicate to the sender that the current item should be overwritten if the specified condition is met.
            </summary>
      <param name="condition">Condition for the overwrite.</param>
    </member>
    <member name="T:Rebex.IO.TraversingEventArgs">
      <summary>
            Provides data for the Traversing event.
            </summary>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.Action">
      <summary>
            Gets the current transfer action.
            </summary>
      <value>Current transfer action.</value>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.TraversingState">
      <summary>
            Gets the current traversing state of the current <see cref="P:Rebex.IO.TraversingEventArgs.Action" />.
            </summary>
      <value>Current traversing state of the current <see cref="P:Rebex.IO.TraversingEventArgs.Action" />.</value>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.Item">
      <summary>
            Gets the file or directory which is currently processed.
            </summary>
      <value>Currently processed item.</value>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.FilesTotal">
      <summary>
            Gets the current total number of files to be processed (traversed so far). 
            </summary>
      <value>Current total number of files to be processed (traversed so far). </value>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.BytesTotal">
      <summary>
            Gets the current total number of bytes to be processed (traversed so far).
            </summary>
      <value>Current total number of bytes (traversed so far).</value>
    </member>
    <member name="P:Rebex.IO.TraversingEventArgs.UserState">
      <summary>
            Gets a user state object.
            </summary>
      <value>User state object.</value>
    </member>
    <member name="M:Rebex.IO.TraversingEventArgs.#ctor(System.Object)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.TraversingEventArgs" /> class (for internal use only).
            </summary>
      <param name="info">Event data.</param>
    </member>
    <member name="T:Rebex.IO.TransferProgressChangedEventArgs">
      <summary>
            Provides data for the TransferProgressChanged event.
            </summary>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.Action">
      <summary>
            Gets the current transfer action.
            </summary>
      <value>Current transfer action.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.TransferState">
      <summary>
            Gets the current transfer state of the current <see cref="P:Rebex.IO.TransferProgressChangedEventArgs.Action" />.
            </summary>
      <value>Current transfer state of the current <see cref="P:Rebex.IO.TransferProgressChangedEventArgs.Action" />.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.SourceItem">
      <summary>
            Gets the file or directory which is currently processed.
            </summary>
      <value>Currently processed item.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.TargetPath">
      <summary>
            Gets the target path of the file or directory which is currently processed.
            </summary>
      <value>Target path.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.CurrentFileBytesTotal">
      <summary>
            Gets the total number of bytes to be transferred during the transfer of the current file.
            </summary>
      <value>The number of bytes to be transferred.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.CurrentFileBytesTransferred">
      <summary>
            Gets the total number of bytes transferred during the transfer of the current file.
            </summary>
      <value>The number of bytes already transferred.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.FilesTotal">
      <summary>
            Gets the total number of files to be transferred.
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.FilesProcessed">
      <summary>
            Gets the number of files that were already processed (either transferred or skipped).
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.FilesTransferred">
      <summary>
            Gets the number of files that were already successfully transferred.
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.BytesTotal">
      <summary>
            Gets the total number of bytes to be transferred.
            </summary>
      <value>The number of bytes to be transferred.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.BytesTransferred">
      <summary>
            Gets the total number of bytes transferred.
            </summary>
      <value>The number of bytes already transferred.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.BytesSinceLastEvent">
      <summary>
            Gets the number of bytes transferred during the current transfer since the last time the event was raised.
            </summary>
      <value>The number of bytes transferred since the last time the event was raised.</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.BytesPerSecond">
      <summary>
            Gets the current transfer speed in bytes transferred per second (or 0 if not available).
            </summary>
      <value>An estimate of the current speed in number of bytes per second.</value>
      <remarks>Value of 0 indicates that this information is not available.</remarks>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.ProgressPercentage">
      <summary>
            Gets a number between 0 and 100 representing the percentage of completeness of the operation.
            </summary>
      <value>Percentage value (0..100).</value>
    </member>
    <member name="P:Rebex.IO.TransferProgressChangedEventArgs.CurrentFileProgressPercentage">
      <summary>
            Gets a number between 0 and 100 representing the percentage of completeness of the current file transfer.
            </summary>
      <value>Percentage value (0..100).</value>
    </member>
    <member name="M:Rebex.IO.TransferProgressChangedEventArgs.#ctor(System.Object)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.TransferProgressChangedEventArgs" /> class (for internal use only).
            </summary>
      <param name="info">Event data.</param>
    </member>
    <member name="T:Rebex.IO.DeleteProgressChangedEventArgs">
      <summary>
            Provides data for the DeleteProgressChanged event.
            </summary>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.DeleteState">
      <summary>
            Gets the current delete state of the current <see cref="F:Rebex.IO.TransferAction.Deleting" />.
            </summary>
      <value>Current delete state of the current <see cref="F:Rebex.IO.TransferAction.Deleting" />.</value>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.Item">
      <summary>
            Gets the file or directory which is currently processed.
            </summary>
      <value>Remote item.</value>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.FilesTotal">
      <summary>
            Gets the total number of files to be deleted.
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.FilesProcessed">
      <summary>
            Gets the number of files that were already processed (either deleted or skipped).
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.FilesDeleted">
      <summary>
            Gets the number of files that were already successfully deleted.
            </summary>
      <value>Number of files.</value>
    </member>
    <member name="P:Rebex.IO.DeleteProgressChangedEventArgs.ProgressPercentage">
      <summary>
            Gets a number between 0 and 100 representing the percentage of completeness of the operation.
            </summary>
      <value>Percentage value (0..100).</value>
    </member>
    <member name="M:Rebex.IO.DeleteProgressChangedEventArgs.#ctor(System.Object)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.DeleteProgressChangedEventArgs" /> class (for internal use only).
            </summary>
      <param name="info">Event data.</param>
    </member>
    <member name="T:Rebex.IO.ChecksumAlgorithm">
      <summary>
            Specifies checksum algorithm.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.SHA1">
      <summary>
            SHA-1 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.SHA256">
      <summary>
            SHA-256 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.SHA384">
      <summary>
            SHA-384 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.SHA512">
      <summary>
            SHA-512 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.MD5">
      <summary>
            MD5 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.SHA224">
      <summary>
            SHA-224 checksum.
            </summary>
    </member>
    <member name="F:Rebex.IO.ChecksumAlgorithm.CRC32">
      <summary>
            Request CRC32 checksum.
            </summary>
    </member>
    <member name="T:Rebex.IO.Checksum">
      <summary>
            Represents data checksum.
            </summary>
    </member>
    <member name="P:Rebex.IO.Checksum.Algorithm">
      <summary>
            Returns checksum algorithm.
            </summary>
    </member>
    <member name="M:Rebex.IO.Checksum.GetBytes">
      <summary>
            Returns checksum data.
            </summary>
      <returns />
    </member>
    <member name="P:Rebex.IO.Checksum.Value">
      <summary>
            Returns a hex string representation of the checksum.
            </summary>
    </member>
    <member name="M:Rebex.IO.Checksum.#ctor(Rebex.IO.ChecksumAlgorithm,System.Byte[])">
      <summary>
            Creates an instance of an object that represents data checksum.
            </summary>
      <param name="algorithm">Checksum algorithm used to compute the checksum.</param>
      <param name="checksum">Checksum data.</param>
    </member>
    <member name="M:Rebex.IO.Checksum.op_Implicit(Rebex.IO.Checksum)~System.String">
      <summary>
            Implicit conversion from <see cref="T:Rebex.IO.Checksum" /> to string.
            </summary>
      <param name="checksum">Checksum to convert to string.</param>
      <returns>Hex string representation of the checksum.</returns>
    </member>
    <member name="M:Rebex.IO.Checksum.CompareTo(System.Object)">
      <summary>
            Compares the checksum with another object of the same type and returns a value indicating whether
            the current instance precedes, follows or occurs in the same position in the sort order.
            </summary>
      <param name="obj">Object to compare with this instance.</param>
      <returns>A value that indicates the relative order of checksums being compared.</returns>
    </member>
    <member name="M:Rebex.IO.Checksum.Equals(System.Object)">
      <summary>
            Returns a value indicating whether the specified object is equal to this checksum.
            </summary>
      <param name="obj">Object to compare with this instance.</param>
      <returns>True if the two instances are same type and represent the same checksum.</returns>
    </member>
    <member name="M:Rebex.IO.Checksum.GetHashCode">
      <summary>
            Returns the hash code for this checksum.
            </summary>
      <returns />
    </member>
    <member name="M:Rebex.IO.Checksum.ToString">
      <summary>
            Returns a hex string representation of this checksum.
            </summary>
      <returns>Hex string representation of this checksum.</returns>
    </member>
    <member name="T:Rebex.IO.FileSetMatchMode">
      <summary>
            Specifies modes of the <see cref="M:Rebex.IO.FileSet.IsMatch(System.String,Rebex.IO.FileSetMatchMode)" /> method.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSetMatchMode.MatchFile">
      <summary>
            Specifies whether the specified regular file matches the <see cref="T:Rebex.IO.FileSet" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSetMatchMode.MatchDirectory">
      <summary>
            Specifies whether the specified directory matches the <see cref="T:Rebex.IO.FileSet" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSetMatchMode.TraverseDirectory">
      <summary>
            Specifies whether the specified directory should be traversed to retrieve another matches.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSet">
      <summary>
            Set of inclusion and exclusion patterns.
            It doesn't depend on the order how the inclusion and exclusion patterns are added into the <see cref="T:Rebex.IO.FileSet" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSet.BasePath">
      <summary>
            Gets or sets the base path of the set.
            </summary>
      <value>A path to be considered as a base path of the set.</value>
    </member>
    <member name="P:Rebex.IO.FileSet.IsCaseSensitive">
      <summary>
            Gets or sets a value indicating whether the <see cref="T:Rebex.IO.FileSet" /> is case sensitive.
            </summary>
      <value>True if the <see cref="T:Rebex.IO.FileSet" /> is case sensitive; false otherwise.</value>
    </member>
    <member name="P:Rebex.IO.FileSet.EmptyDirectoriesIncluded">
      <summary>
            Gets or sets a value indicating whether a consumer of the <see cref="T:Rebex.IO.FileSet" /> should include empty directories or not.
            Also used in the <see cref="M:Rebex.IO.FileSet.GetLocalItems" /> method.
            </summary>
      <value>True if empty directories should not be included; false otherwise.</value>
    </member>
    <member name="P:Rebex.IO.FileSet.ContainingDirectoriesIncluded">
      <summary>
            Gets or sets a value indicating whether a consumer of the <see cref="T:Rebex.IO.FileSet" /> should also include directories where the files are located.
            Also used in the <see cref="M:Rebex.IO.FileSet.GetLocalItems" /> method.
            Example: Ftp.GetItems("DIR/*.txt") - this property determines whether item "DIR" should be also included in output collection.
            </summary>
      <value>True if directories where the files are located should be included; false otherwise.</value>
    </member>
    <member name="P:Rebex.IO.FileSet.Flatten">
      <summary>
            Gets or sets a value indicating whether a consumer of the <see cref="T:Rebex.IO.FileSet" /> should flatten the output.
            Flatten means to don't persist directory structure. 
            For example if used to upload files "A/a.txt" and "B/b.txt" to the "/data" directory on a FTP server,
            files "a.txt" and "b.txt" are uploaded directly into the "/data" directory
            (directories "A" and "B" are not created in the "/data" directory).
            </summary>
      <value>True if flatten the output; false otherwise.</value>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSet" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSet" /> class.
            </summary>
      <param name="basePath">A path to be considered as a base path of the set.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor(System.Char[])">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSet" /> class.
            </summary>
      <param name="directorySeparators">Directory separators to be used in all paths.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor(System.String,System.Char[])">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSet" /> class.
            </summary>
      <param name="basePath">A path to be considered as a base path of the set.</param>
      <param name="directorySeparators">Directory separators to be used in all paths.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor(System.String,System.String)">
      <summary>
            Initializes the <see cref="T:Rebex.IO.FileSet" /> object.
            </summary>
      <param name="basePath">A path to be considered as a base path of the set.</param>
      <param name="pattern">A path or mask relative to a base path which define an initial inclusion pattern.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.#ctor(System.String,System.String,Rebex.IO.TraversalMode)">
      <summary>
            Initializes the <see cref="T:Rebex.IO.FileSet" /> object.
            </summary>
      <param name="basePath">A path to be considered as a base path of the set.</param>
      <param name="pattern">A path or mask relative to a base path which define an initial inclusion pattern.</param>
      <param name="mode">Specifies traversal mode of directories for the <paramref name="pattern" />.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.Include(System.String)">
      <summary>
            Adds a path or mask into collection of inclusion patterns. The supported wildcards are '?' and '*' and '**'.
            For detailed specification with examples see the documentation.
            </summary>
      <param name="pattern">A path or mask (relative to the base path) which define an inclusion pattern.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.Include(System.String,Rebex.IO.TraversalMode)">
      <summary>
            Adds a path or mask into collection of inclusion patterns. The supported wildcards are '?' and '*' and '**'.
            For detailed specification with examples see the documentation.
            </summary>
      <param name="pattern">A path or mask (relative to the base path) which define an inclusion pattern.</param>
      <param name="mode">Specifies traversal mode of directories for the <paramref name="pattern" />.</param>
      <remarks>
            '?' matches any single character.<br />
            '*' matches any number of any characters except the directory separators.<br />
            '**' matches any number of any characters (directory separators can be reduced e.g. "a\**\b" is equivalent to "a\**\**\b" which matches "a\x\y\z\b" and also "a\b" but not "ab").<br /></remarks>
      <example>
        <table>
          <tr>
            <td>data\file-???.txt</td>
            <td>Matches files within the "data" directory e.g. "data\file-007.txt", but not "data\file-7.txt".</td>
          </tr>
          <tr>
            <td>data\*.txt</td>
            <td>Matches any ".txt" file within the "data" directory (only within the "data" directory, not in subdirectories) e.g. "data\file.txt", but not "data\a\b\c\file.txt".</td>
          </tr>
          <tr>
            <td>data\**\*.txt</td>
            <td>Matches any ".txt" file anywhere within the "data" directory and its subdirectories e.g. "data\file.txt" and also "data\a\b\c\file.txt".</td>
          </tr>
        </table>
      </example>
    </member>
    <member name="M:Rebex.IO.FileSet.Exclude(System.String)">
      <summary>
            Adds a path or mask into collection of exclusion patterns. The supported wildcards are '?' and '*' and '**'.
            For detailed specification with examples see the documentation.
            </summary>
      <param name="pattern">A path or mask (relative to the base path) which define an exclusion pattern.</param>
    </member>
    <member name="M:Rebex.IO.FileSet.Exclude(System.String,Rebex.IO.TraversalMode)">
      <summary>
            Adds a path or mask into collection of exclusion patterns. The supported wildcards are '?' and '*' and '**'.
            For detailed specification with examples see the documentation.
            </summary>
      <param name="pattern">A path or mask (relative to the base path) which define an exclusion pattern.</param>
      <param name="mode">Specifies traversal mode of directories for the <paramref name="pattern" />.</param>
      <remarks>
            '?' matches any single character.<br />
            '*' matches any number of any characters except the directory separators.<br />
            '**' matches any number of any characters (directory separators can be reduced e.g. "a\**\b" is equivalent to "a\**\**\b" which matches "a\x\y\z\b" and also "a\b" but not "ab").<br /></remarks>
      <example>
        <table>
          <tr>
            <td>data\file-???.txt</td>
            <td>Matches files within the "data" directory e.g. "data\file-007.txt", but not "data\file-7.txt".</td>
          </tr>
          <tr>
            <td>data\*.txt</td>
            <td>Matches any ".txt" file within the "data" directory (only within the "data" directory, not in subdirectories) e.g. "data\file.txt", but not "data\a\b\c\file.txt".</td>
          </tr>
          <tr>
            <td>data\**\*.txt</td>
            <td>Matches any ".txt" file anywhere within the "data" directory and its subdirectories e.g. "data\file.txt" and also "data\a\b\c\file.txt".</td>
          </tr>
        </table>
      </example>
    </member>
    <member name="M:Rebex.IO.FileSet.IsMatch(System.String,Rebex.IO.FileSetMatchMode)">
      <summary>
            Returns a value indicating whether the specified relative path matches the <see cref="T:Rebex.IO.FileSet" />.
            This method is intended to be overwritten by descendants.
            In this case please note that for optimization issues when called with parameters equal to "." and <see cref="F:Rebex.IO.FileSetMatchMode.TraverseDirectory" /> 
            this method should return false if no inclusion pattern was specified; true otherwise.
            </summary>
      <param name="relativePath">A relative path to a base path to be tested for a match.</param>
      <param name="mode">Specifies how the <paramref name="relativePath" /> should be treated for match.</param>
      <returns>True if the path matches the set; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.FileSet.GetLocalItems">
      <summary>
            Gets a collection of local file system items (files and directories) which matches this <see cref="T:Rebex.IO.FileSet" />.
            Only items which matches no exclusion pattern and matches at leas one inclusion pattern are included into result collection.
            It doesn't depend on the order how the inclusion and exclusion patterns were added into the <see cref="T:Rebex.IO.FileSet" />.<br />
            If you don't want to include empty directories into result collection, please set the <see cref="P:Rebex.IO.FileSet.EmptyDirectoriesIncluded" /> to false.
            </summary>
      <returns>A collection of local file system items which matches this <see cref="T:Rebex.IO.FileSet" />.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemException">
      <summary>
            The exception that is thrown when an error occurs while using Rebex FileSystem.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemException" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemException" /> class.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemProvider">
      <summary>
            Represents a file system provider.
            <para>
            This type is not intended to be used directly from your code. <b>To implement custom file system providers,
            add reference to the <b>Rebex.FileSystem</b> assembly and use one of the following base classes.</b></para><para><see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" /></para><para><see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /></para></summary>
      <seealso cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" />
      <seealso cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" />
      <seealso cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />
      <see cref="T:Rebex.IO.FileSystem.FileSystemProviderExtensions" />
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemProvider.#ctor">
      <summary>
            Constructor.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemProvider.Dispose">
      <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting resources.
            </summary>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemProvider.CreateChildFileSystem(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Derived classes must create a child file system with the root path equals to the <paramref name="directoryPath" />.
            </summary>
      <param name="directoryPath">Root path of the child file system.</param>
      <returns>Child file system with the root path equals to the <paramref name="directoryPath" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemProvider.Dispose(System.Boolean)">
      <summary>
            Releases the resources used by the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemProviderSettings">
      <summary>
            Configuration options for the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.FileSystemProviderSettings.#ctor">
      <summary>
            Initializes new instance of the <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" />.
             </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableGetLengthMethodForDirectories">
      <summary>
            Gets or sets value indicating 
            whether the method <see cref="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetLength(Rebex.IO.FileSystem.NodeBase)" /> is called for directories.
            <para>
            Default value is false.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableStrictChecks">
      <summary>
            Gets or sets value indicating 
            whether the strict checks for <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> is enabled.
            <para>
            Default value is false.
            </para><para>
            Enable strict checks only for debugging purposes. Do not use strict checks in production.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableGetContentMethodForDirectories">
      <summary>
            Gets or sets value indicating 
            whether the method <see cref="M:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider.GetContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContentParams)" /> is called for directories.
            <para>
            Default value is false.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableSaveContentMethodForDirectories">
      <summary>
            Gets or sets value indicating 
            whether the method <see cref="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SaveContent(Rebex.IO.FileSystem.NodeBase,Rebex.IO.FileSystem.NodeContent)" /> is called for directories.
            <para>
            Default value is false.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.LogWriter">
      <summary>
            Gets or sets <see cref="T:Rebex.ILogWriter" /> used for logging.
            <para>
            Default value is null.
            </para></summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableRegistrationAsDrive">
      <summary>
            Gets or sets whether a <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> should be registered as a <see cref="T:Rebex.IO.VDriveInfo" /> object.
            <para>
            Default value is true. The file system provider is registered as a virtual file system drive.
            </para></summary>
      <remarks>
            The file system provider is registered under the unique name derived from the name of the file system provider implementation class.
            All registered virtual file system drives can be retrieved using the <see cref="M:Rebex.IO.VDriveInfo.GetDrives" /> method.
            If the autogenerated drive name does not suit application needs, it is possible to set a custom drive name. See <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.DriveName" /> property for details.
            The drive is unregistered when the underlying file system provider is disposed.
            </remarks>
      <seealso cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.DriveName" />
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.DriveName">
      <summary>
            Gets or sets <see cref="T:Rebex.IO.VDriveInfo" /> name to use when registering the file system as a <see cref="T:Rebex.IO.VDriveInfo" /> object.
            <para>
            Default value is <see cref="F:System.String.Empty" />. In this case, an autogenerated name will be used (based on the name of the file system provider implementation class).
            </para></summary>
      <remarks>
        <ul>
          <li>When the <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableRegistrationAsDrive" /> property is set to false, then setting the <see cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.DriveName" /> property has no observable effect.
            The <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" /> is not registered as a drive, so the drive name is never used.</li>
          <li>The drive name must be unique. It is guaranteed that autogenerated name is always unique, so it is recommended to stick with the default behavior.
            If this property is set, the developer must ensure that the drive name is unique and not mistakenly reused between file system provider instances; otherwise an exception is thrown, when an attempt to register a drive,
            which has a duplicate name, fails.
            For example, when a <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" /> object is shared between file system providers,
            be careful and double-check that the same drive name is not reused between currently active providers.</li>
        </ul>
      </remarks>
      <seealso cref="P:Rebex.IO.FileSystem.FileSystemProviderSettings.EnableRegistrationAsDrive" />
    </member>
    <member name="P:Rebex.IO.FileSystem.FileSystemProviderSettings.Default">
      <summary>
            Gets or sets default <see cref="T:Rebex.IO.FileSystem.FileSystemProviderSettings" /> used by the classes 
            inherited from the <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" />
            and  <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" />.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.FileSystemType">
      <summary>
            Represents basic type of the Rebex file system.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.FileSystemType.ReadOnly">
      <summary>
            Read only Rebex file system.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.FileSystemType.ReadWrite">
      <summary>
            Read-write Rebex file system. 
             </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeAttributes">
      <summary>
            Represents an attributes of the node.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.#ctor(System.IO.FileAttributes)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /></summary>
      <param name="fileAttributes">
        <see cref="P:Rebex.IO.FileSystem.NodeAttributes.FileAttributes" /> of the node</param>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeAttributes.FileAttributes">
      <summary>
            Gets the file attributes of the node.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeAttributes.IsReadOnly">
      <summary>
             Gets a value indicating whether the <see cref="P:Rebex.IO.FileSystem.NodeAttributes.FileAttributes" />.ReadOnly flag is set.
            </summary>
      <returns>true if the <see cref="P:Rebex.IO.FileSystem.NodeAttributes.FileAttributes" />.ReadOnly flag is set, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.Equals(Rebex.IO.FileSystem.NodeAttributes)">
      <summary>Indicates whether the current object is equal to another object of the same type.</summary>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.</returns>
      <param name="other">A <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> to compare with this object.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.Equals(System.Object)">
      <summary>
            Determines whether the specified <paramref name="obj" /> is equal to this object.
            </summary>
      <param name="obj">A <see cref="T:System.Object" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="obj" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.GetHashCode">
      <summary>
            Gets a hash code of this object.
            </summary>
      <returns>
            A hash code of this object.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.op_Equality(Rebex.IO.FileSystem.NodeAttributes,Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> have the same value.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeAttributes" />to compare, or null.</param>
      <returns>true if the value of left is the same as the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.op_Inequality(Rebex.IO.FileSystem.NodeAttributes,Rebex.IO.FileSystem.NodeAttributes)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> have different values.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeAttributes" /> to compare, or null.</param>
      <returns>true if the value of left is different from the value of right; otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeAttributes.ToString">
      <summary>Returns a string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeAttributes" />.</summary>
      <returns>A string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeAttributes" />.</returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeContent">
      <summary>
            Represents a content of a file.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContent.IsReadOnly">
      <summary>
            Gets a value indicating whether the underlying stream of this instance is read only.
            </summary>
      <returns>true if the content is read only, otherwise false.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateReadOnlyContent(System.IO.Stream)" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsImmediateWriteContent" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsDelayedWriteContent" />
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContent.IsDelayedWriteContent">
      <summary>
            Gets a value indicating whether the underlying stream of this instance is a 'delayed write' stream.
            </summary>
      <returns>true if the content is a 'delayed write' content, otherwise false.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsImmediateWriteContent" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsReadOnly" />
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContent.IsImmediateWriteContent">
      <summary>
            Gets a value indicating whether the underlying stream of this instance is an 'immediate write' stream.
            </summary>
      <returns>true if the content is an 'immediate write' content, otherwise false.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateImmediateWriteContent(System.IO.Stream)" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsDelayedWriteContent" />
      <seealso cref="P:Rebex.IO.FileSystem.NodeContent.IsReadOnly" />
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContent.WasStreamClosedForcefully">
      <summary>
            Returns a value indicating whether this node's stream was closed forcefully.
            Forceful close occurs if the stream is not gracefully closed by the consumer.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContent.Length">
      <summary>
            Gets the length in bytes of the <see cref="T:System.IO.Stream" /> that is returned from the <see cref="M:Rebex.IO.FileSystem.NodeContent.GetStream" /> method.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContent.Dispose">
      <summary>Performs application-defined tasks associated with freeing, releasing, or resetting resources.</summary>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContent.CreateReadOnlyContent(System.IO.Stream)">
      <summary>
            Method creates read only content from the given <paramref name="stream" />.
            </summary>
      <param name="stream">Stream containing the content of the node.</param>
      <returns>New read only content.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" />
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateImmediateWriteContent(System.IO.Stream)" />
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)">
      <summary>
             Method creates read/delayed write content from the given stream. 
             Use this method when following is desired/acceptable behavior:
             <ul><li> Underlying stream does not support immediate writing to the file.</li><li> When <see cref="T:Rebex.IO.FileSystem.NodeContent" /> previously returned from this method is disposed 
             and underlying stream has been changed, then
             the method <see cref="M:Rebex.IO.FileSystem.ReadWriteFileSystemProvider.SaveContent" /> 
             in the <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> is called.</li></ul><para>Following events are raised in the <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />: </para><ul><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentPreview" />.</li><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentSurrogate" />.</li><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentCompleted" />.</li></ul></summary>
      <param name="stream">Stream containing the content of the node.</param>
      <returns>New read/delayed write content.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateReadOnlyContent(System.IO.Stream)" />
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateImmediateWriteContent(System.IO.Stream)" />
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContent.CreateImmediateWriteContent(System.IO.Stream)">
      <summary>
             Method creates read/immediate write content from the given stream. Use this method when following is desired/acceptable behavior:
            <ul><li>Stream supports immediate writing to the file (e. g. <see cref="T:System.IO.FileStream" />).</li><li>SaveContent method in ReadWriteFileSystemProvider is NEVER called. All data are written immediately using the suitable <paramref name="stream" /> write methods.</li></ul><para>Following events are NOT raised in the <see cref="T:Rebex.IO.FileSystem.Notifications.FileSystemNotifier" />: </para><ul><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentPreview" />.</li><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentSurrogate" />.</li><li><see cref="E:Rebex.IO.FileSystem.Notifications.FileSystemNotifier.SaveContentCompleted" />.</li></ul></summary>
      <param name="stream">Stream containing the content of the node.</param>
      <returns>New read/immediate write content.</returns>
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateReadOnlyContent(System.IO.Stream)" />
      <seealso cref="M:Rebex.IO.FileSystem.NodeContent.CreateDelayedWriteContent(System.IO.Stream)" />
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContent.GetStream">
      <summary>
            Returns <see cref="T:System.IO.Stream" /> with the content of the file.
            </summary>
      <returns>Stream with the content of the file.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeContentAccess">
      <summary>
            Represents read, write or read/write access to the file.
            <para>
            This enumeration has a <see cref="T:System.FlagsAttribute" /> attribute that allows a bitwise combination of its member values.
            </para></summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentAccess.Read">
      <summary>
            Read access to the file.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentAccess.Write">
      <summary>
            Write access to the file.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentAccess.ReadWrite">
      <summary>
             Read and write access to the file.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeContentParameters">
      <summary>
            Represents <see cref="T:Rebex.IO.FileSystem.NodeContent" /> retrieval parameters.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentParameters.ReadAccess">
      <summary>
            Represents read access requirement.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentParameters.WriteAccess">
      <summary>
            Represents write access requirement.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeContentParameters.ReadWriteAccess">
      <summary>
            Represents read and write access requirement.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.#ctor(Rebex.IO.FileSystem.NodeContentAccess)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /></summary>
      <param name="accessType">Required access type to the file.</param>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeContentParameters.AccessType">
      <summary>
            Gets required access type to the file.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.Equals(Rebex.IO.FileSystem.NodeContentParameters)">
      <summary>
            Determines whether the specified <paramref name="other" /> is equal to this object.
            </summary>
      <param name="other">The <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="other" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.Equals(System.Object)">
      <summary>
            Determines whether the specified <paramref name="obj" /> is equal to this object.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="obj" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.GetHashCode">
      <summary>
            Gets a hash code of this object.
            </summary>
      <returns>
            A hash code of this object.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.op_Equality(Rebex.IO.FileSystem.NodeContentParameters,Rebex.IO.FileSystem.NodeContentParameters)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> have the same value.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" />to compare, or null.</param>
      <returns>true if the value of left is the same as the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.op_Inequality(Rebex.IO.FileSystem.NodeContentParameters,Rebex.IO.FileSystem.NodeContentParameters)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> have different values.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" /> to compare, or null.</param>
      <returns>true if the value of left is different from the value of right; otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeContentParameters.ToString">
      <summary>Returns a string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" />.</summary>
      <returns>A string that represents the current <see cref="T:Rebex.IO.FileSystem.NodeContentParameters" />.</returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodePath">
      <summary>
            Represents a file system path.
            </summary>
      <remarks>
            Instances of <see cref="T:Rebex.IO.FileSystem.NodePath" /> are case-insensitive, which means that <see cref="M:Rebex.IO.FileSystem.NodePath.Equals(Rebex.IO.FileSystem.NodePath)" /> method
            (and the default <see cref="T:System.Collections.IEqualityComparer" /> available in <see cref="P:Rebex.IO.FileSystem.NodePath.Comparer" /> property) treat all the following paths as equal:
            <ul><li>/ab/</li><li>/AB/</li><li>/aB/</li><li>/Ab/</li></ul>
            If the need to use the case-sensitive paths arises, consider implementing a case-insensitive <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> for the <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </remarks>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodePath.DirectorySeparator">
      <summary>
            Used directory separator.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodePath.RootDirectoryName">
      <summary>
            Name of the <b>root</b> directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodePath.Empty">
      <summary>
            Represents the empty <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.#ctor(System.String)">
      <summary>
             Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodePath" />.
             <para>
             Examples of the valid path:
             <para>
             /
             </para><para>
             /dir1
            </para><para>
             /dir1/
            </para><para>
             /dir1/dir2
            </para><para>
             /dir1/dir2/
             </para><para>
             /dir1/dir2/file.txt
            </para></para></summary>
      <param name="stringPath">path in the string format</param>
      <exception cref="T:Rebex.IO.FileSystem.NodePathException">Exception is thrown when the <paramref name="stringPath" /> is malformed.</exception>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.FileName">
      <summary>
            Gets the name of the <see cref="T:Rebex.IO.FileSystem.DirectoryNode" /> 
            or the <see cref="T:Rebex.IO.FileSystem.FileNode" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.FileNameWithoutExtension">
      <summary>
            Gets the name without an extension.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.HasExtension">
      <summary>
            Indicates whether a path contains file name extension.
            </summary>
      <value>True if path contains file name extension, otherwise false.</value>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.PathParts">
      <summary>
            Gets an enumerator that iterates through the elements of this path.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.ParentPath">
      <summary>
            Gets the parent path, or <see cref="F:Rebex.IO.FileSystem.NodePath.Empty" /> path  if this path does not have parent.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.Extension">
      <summary>
            Gets the file name extension, or <see cref="F:System.String.Empty" /> if this path does not have extension.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.IsEmpty">
      <summary>
            Returns true if this path equals to <see cref="F:Rebex.IO.FileSystem.NodePath.Empty" /> path, otherwise returns false.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.StringPath">
      <summary>
            Returns this <see cref="T:Rebex.IO.FileSystem.NodePath" /> as a <see cref="T:System.String" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.IsRootPath">
      <summary>
            Indicates if this instance is the root path ('/').
            </summary>
      <value>True if this instance is the root path, otherwise false.</value>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.Item(System.Int32)">
      <summary>
            Returns an element of this path.
             </summary>
      <param name="index">Index of the element to return.</param>
      <value>An element of this path.</value>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.Comparer">
      <summary>
            Gets the IEqualityComparer that is used to determine equality of <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.GetInvalidFileNameChars">
      <summary>
            Returns an array of characters not allowed in <see cref="P:Rebex.IO.FileSystem.NodeBase.Name" />.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.PathPartsCount">
      <summary>
            Returns the number of elements in the path.
            </summary>
      <value>The number of elements in the path.</value>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodePath.AllowBackslashInFileName">
      <summary>
            Gets or sets a value indicating whether the backslash ('\') character is allowed in <see cref="P:Rebex.IO.FileSystem.NodePath.FileName" /> property.
            The default value is false, the backslash character is not allowed.
            <b>Be aware that after the property is set to true, custom providers derived from the <see cref="T:Rebex.IO.FileSystem.ReadOnlyFileSystemProvider" />
            and <see cref="T:Rebex.IO.FileSystem.ReadWriteFileSystemProvider" /> MUST check and sanitize all paths
            to prevent miscellaneous variations of path/directory traversal attacks.</b></summary>
      <remarks>
        <ul>
          <li>
            When the property is set to true,
            the <see cref="T:Rebex.IO.FileSystem.FileNode.Name" /> can be initialized
            in the <see cref="M:Rebex.IO.FileSystem.NodeBase.#ctor(System.String,Rebex.IO.FileSystem.NodeType,Rebex.IO.FileSystem.DirectoryNode,Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeAttributes,System.Boolean)" />
            constructor with the value that contains backlash.
            </li>
          <li>
            After setting the value of this property to 'true',
            all used instances of all classes derived from the <see cref="T:Rebex.IO.FileSystem.FileSystemProvider" />
            must be prepared to handle paths that contain <see cref="P:Rebex.IO.FileSystem.NodePath.FileName" /> with backslash character.
            </li>
          <li>
            In the <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" /> running on Windows operating system the backslash is always interpreted as the directory separator.
            <see cref="T:Rebex.IO.FileSystem.LocalFileSystemProvider" /> on Windows DOES NOT support <see cref="P:Rebex.IO.FileSystem.NodePath.FileName" /> with backslashes due to to the inherited platform restriction.
            </li>
        </ul>
      </remarks>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.GetEnumerator">
      <summary>
            Gets an enumerator that iterates through the elements of this path.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.Equals(Rebex.IO.FileSystem.NodePath)">
      <summary>Indicates whether the current <see cref="T:Rebex.IO.FileSystem.NodePath" /> is equal to another <see cref="T:Rebex.IO.FileSystem.NodePath" />.</summary>
      <returns>true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.</returns>
      <param name="other">An <see cref="T:Rebex.IO.FileSystem.NodePath" /> to compare with this <see cref="T:Rebex.IO.FileSystem.NodePath" />.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.GetSubPath(System.Int32)">
      <summary>
            Returns a subpath that is a subsequence of the parts of this path. 
            Subpath starts with the first part (on the index 0) of this path 
            and ends with the part on the index <paramref name="subPathEndIndex" />.
            <para><b>Root path ('/') does not have any subpath.</b></para><para /><para>
            For the <see cref="T:Rebex.IO.FileSystem.NodePath" /> with the path '/dir1/dir2/file.txt';
            </para><para>
            GetSubPath(0) returns '/dir1'.
            </para><para>
            GetSubPath(1) returns '/dir1/dir2'.
            </para><para>
            GetSubPath(2) returns 'dir1/dir2/file.txt'.
            </para><para>
            GetSubPath(3) throws <see cref="T:System.ArgumentOutOfRangeException" />.
            </para></summary>
      <param name="subPathEndIndex">Zero based index of the end part of the subpath.</param>
      <returns>A subpath that is a subsequence of the parts of this path.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.Equals(System.Object)">
      <summary>Determines whether the specified <see cref="T:Rebex.IO.FileSystem.NodePath" /> is equal to the current <see cref="T:Rebex.IO.FileSystem.NodePath" />.</summary>
      <returns>true if the specified <see cref="T:Rebex.IO.FileSystem.NodePath" /> is equal to the current <see cref="T:Rebex.IO.FileSystem.NodePath" />; otherwise, false.</returns>
      <param name="obj">The object to compare with the current object. </param>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.AddPathPart(System.String)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodePath" /> with <paramref name="pathPart" /> added to the end of this <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
      <param name="pathPart">New part of the path.</param>
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodePath" /> with the <paramref name="pathPart" /> added to the end of this <see cref="T:Rebex.IO.FileSystem.NodePath" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.AddExtension(System.String)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodePath" /> with <paramref name="extension" /> added to this <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
      <param name="extension">The new extension.</param>
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodePath" /> with the <paramref name="extension" /> added to this <see cref="T:Rebex.IO.FileSystem.NodePath" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.ChangeExtension(System.String)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodePath" /> based on this <see cref="T:Rebex.IO.FileSystem.NodePath" /> and with the new <paramref name="extension" />.
            </summary>
      <param name="extension">The new extension.</param>
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodePath" /> based on this <see cref="T:Rebex.IO.FileSystem.NodePath" /> and with the new <paramref name="extension" />.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.RemoveExtension">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodePath" /> based on this <see cref="T:Rebex.IO.FileSystem.NodePath" /> and with the extension deleted.
            </summary>
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodePath" /> based on this <see cref="T:Rebex.IO.FileSystem.NodePath" /> and with the extension deleted.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.StartsWith(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Tests if this <see cref="T:Rebex.IO.FileSystem.NodePath" /> starts with the given <paramref name="otherPath" />.
            </summary>
      <param name="otherPath">Given <see cref="T:Rebex.IO.FileSystem.NodePath" />.</param>
      <returns> True if this <see cref="T:Rebex.IO.FileSystem.NodePath" /> starts with the given <paramref name="otherPath" />, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.op_Equality(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.NodePath)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodePath" /> have the same value.
            </summary>
      <param name="left">The first path to compare, or null.</param>
      <param name="right">The second path to compare, or null.</param>
      <returns>true if the value of left is the same as the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.op_Inequality(Rebex.IO.FileSystem.NodePath,Rebex.IO.FileSystem.NodePath)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodePath" /> have different values.
            </summary>
      <param name="left">The first path to compare, or null.</param>
      <param name="right">The second path to compare, or null.</param>
      <returns>true if the value of left is different from the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.ToString">
      <summary>Returns a string that represents the current <see cref="T:Rebex.IO.FileSystem.NodePath" />.</summary>
      <returns>A string that represents the current <see cref="T:Rebex.IO.FileSystem.NodePath" />.</returns>
      <filterpriority>2</filterpriority>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.op_Explicit(Rebex.IO.FileSystem.NodePath)~System.String">
      <summary>
            Convert the value of the <paramref name="path" /> to the string representation.
            </summary>
      <param name="path">The <see cref="T:Rebex.IO.FileSystem.NodePath" /> to cast to <see cref="T:System.String" />.</param>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.op_Implicit(System.String)~Rebex.IO.FileSystem.NodePath">
      <summary>
            Convert the value of <paramref name="path" /> to the instance of the <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
      <param name="path">The path to convert to the <see cref="T:Rebex.IO.FileSystem.NodePath" />.</param>
      <exception cref="T:Rebex.IO.FileSystem.NodePathException">Exception is thrown when the <paramref name="path" /> is malformed.</exception>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.Combine(System.String[])">
      <summary>
            Combines strings in the <paramref name="pathParts" /> array into a <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
      <param name="pathParts" />
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodePath" /> combined from the strings in the <paramref name="pathParts" /> array.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.IsNullOrEmpty(Rebex.IO.FileSystem.NodePath)">
      <summary>
            Indicates whether the specified <see cref="T:Rebex.IO.FileSystem.NodePath" /> is null or an <see cref="F:Rebex.IO.FileSystem.NodePath.Empty" /> instance of the <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
      <param name="path">The <see cref="T:Rebex.IO.FileSystem.NodePath" /> to test.</param>
      <returns>true if the parameter is null or an <see cref="F:Rebex.IO.FileSystem.NodePath.Empty" /> instance of the <see cref="T:Rebex.IO.FileSystem.NodePath" />;
             otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePath.GetHashCode">
      <summary>
            Gets a hash code of this object.
            </summary>
      <returns>
            A hash code of this object.
            </returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodePathException">
      <summary>
            The exception that is thrown when an error occurs while creating new <see cref="T:Rebex.IO.FileSystem.NodePath" />.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePathException.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodePathException" /> class
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePathException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodePathException" /> class
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodePathException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodePathException" /> class
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeTimeInfo">
      <summary>
            Holds the last access time, the last write time and the creation time of the node. All dates are expressed as UTC.
            </summary>
      <remarks>Immutable type.</remarks>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.#ctor(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" />.
            </summary>
      <param name="createTime">Creation time of the node (expressed as UTC).</param>
      <param name="lastAccessTime">Last access time of the node (expressed as UTC).</param>
      <param name="lastWriteTime">Last write time of the node (expressed as UTC).</param>
      <remarks>
        <para>Missing or null parameters will have default value <see cref="F:System.DateTime.MinValue" />.</para>
        <para>Time values with 'local' or 'unspecified' kind are converted to UTC automatically.</para>
      </remarks>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeTimeInfo.Empty">
      <summary>
            Represents the empty <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" />.
            </summary>
      <remarks>
            Empty <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> has
            <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastAccessTime" /> == <see cref="F:System.DateTime.MinValue" />
            and
            <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.CreationTime" /> == <see cref="F:System.DateTime.MinValue" />
            and
            <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastWriteTime" /> == <see cref="F:System.DateTime.MinValue" />.
            </remarks>&gt;
        </member>
    <member name="P:Rebex.IO.FileSystem.NodeTimeInfo.CreationTime">
      <summary>
            Creation time of the node (expressed as UTC).
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeTimeInfo.LastAccessTime">
      <summary>
            Last access time of the node (expressed as UTC).
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystem.NodeTimeInfo.LastWriteTime">
      <summary>
             Last write time of the node (expressed as UTC).
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.Equals(Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
            Determines whether the specified <paramref name="other" /> is equal to this object.
            </summary>
      <param name="other">The <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="other" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.WithCreateTime(System.DateTime)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.CreationTime" />, which is set to <paramref name="createTime" /> value.
            </summary>
      <param name="createTime">New creation time (expressed as UTC).</param>
      <returns>New <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.CreationTime" />, which is set to <paramref name="createTime" /> value.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.WithLastAccessTime(System.DateTime)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastAccessTime" />, which is set to <paramref name="lastAccessTime" /> value.
            </summary>
      <param name="lastAccessTime">New last access time (expressed as UTC).</param>
      <returns> New <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastAccessTime" />, which is set to <paramref name="lastAccessTime" /> value.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.WithLastWriteTime(System.DateTime)">
      <summary>
            Creates new <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastWriteTime" />, which is set to <paramref name="lastWriteTime" /> value.
            </summary>
      <param name="lastWriteTime">New last write time (expressed as UTC).</param>
      <returns> New <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> instance with all properties equals to the current 
            instance properties except the property <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.LastWriteTime" />, which is set to <paramref name="lastWriteTime" /> value.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.IsNullOrEmpty(Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
            Indicates whether the specified <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> is null or an <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.Empty" /> NodeTimeInfo.
            </summary>
      <param name="timeInfo">The <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> to test.</param>
      <returns>true if the parameter is null or an <see cref="P:Rebex.IO.FileSystem.NodeTimeInfo.Empty" /> NodeTimeInfo ("CreationTime=LastAccessTime=LastWriteTime=DateTim.MinValue"),
             otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.op_Equality(Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> have the same value.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" />to compare, or null.</param>
      <returns>true if the value of left is the same as the value of right, otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.op_Inequality(Rebex.IO.FileSystem.NodeTimeInfo,Rebex.IO.FileSystem.NodeTimeInfo)">
      <summary>
            Determines whether two specified <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> have different values.
            </summary>
      <param name="left">The first <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> to compare, or null.</param>
      <param name="right">The second <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" /> to compare, or null.</param>
      <returns>true if the value of left is different from the value of right; otherwise false.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.Equals(System.Object)">
      <summary>
            Determines whether the specified <paramref name="obj" /> is equal to this object.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="obj" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.GetHashCode">
      <summary>
            Gets a hash code of this object.
            </summary>
      <returns>
            A hash code of this object.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystem.NodeTimeInfo.ToString">
      <summary>
            Returns a string representation of this <see cref="T:Rebex.IO.FileSystem.NodeTimeInfo" />.
            </summary>
      <returns>A string representation of this object.</returns>
    </member>
    <member name="T:Rebex.IO.FileSystem.NodeType">
      <summary>
            The type of the file system node.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeType.None">
      <summary>
            Invalid value.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeType.File">
      <summary>
            File node.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeType.Directory">
      <summary>
            Directory node.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeType.Link">
      <summary>
            Link node (unused).
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystem.NodeType.All">
      <summary>
            Specifies all node types, including File, Directory and Link.
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystemItem">
      <summary>
            Represents a file or directory item.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.Length">
      <summary>
            Gets file length.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.LastWriteTime">
      <summary>
            Gets the last modification time of the item.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.LastAccessTime">
      <summary>
            Gets the last access time of the item.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.CreationTime">
      <summary>
            Gets the creation time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItem.GetLastWriteTime">
      <summary>
            Gets the last modification time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItem.GetLastAccessTime">
      <summary>
            Gets the last access time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItem.GetCreationTime">
      <summary>
            Gets the creation time of the item.
            </summary>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.IsFile">
      <summary>
            Gets a value indicating whether the item is a file.
            </summary>
      <returns>True if the item is a file; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.IsDirectory">
      <summary>
            Gets a value indicating whether the item is a directory.
            </summary>
      <returns>True if the archive item is directory; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.IsLink">
      <summary>
            Gets a value indicating whether the item is a link.
            </summary>
      <returns>True if the archive item is a link; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.Name">
      <summary>
            Gets the name of the file or directory.
            </summary>
      <returns>The name of the file or directory.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItem.Path">
      <summary>
            Gets the path of the file or directory.
            It can be relative or absolute path depending on the way of use.
            </summary>
      <remarks>It contains a full path if returned by the GetItems method or a file/directory name only if returned by the GetList method.</remarks>
      <value>The path of the file or directory.</value>
    </member>
    <member name="T:Rebex.IO.FileSystemItemCollection">
      <summary>
            Provides a container for a collection of <see cref="T:Rebex.IO.FileSystemItem" /> objects.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.FileSystemItemCollection" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.CheckItem(Rebex.IO.FileSystemItem)">
      <summary>
            Validates whether the item is correct and can be added.
            </summary>
      <param name="item">Item to add.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.GetEnumerator">
      <summary>
            Gets an <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the collection.
            </summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the collection.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItemCollection.SyncRoot">
      <summary>
            Gets an object that can be used to synchronize access to the collection.
            </summary>
      <value>An object that can be used to synchronize access to the collection.</value>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.AddRange(System.Collections.Generic.IEnumerable{Rebex.IO.FileSystemItem})">
      <summary>
             Adds the elements of the specified collection to the end of the FileSystemItemCollection.
            </summary>
      <param name="collection">The collection whose elements should be added to the end of the FileSystemItemCollection.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Add(Rebex.IO.FileSystemItem)">
      <summary>
            Adds the specified item to the collection.
            </summary>
      <param name="item">The item to be added to the collection.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Remove(Rebex.IO.FileSystemItem)">
      <summary>
            Removes the specified item from the collection.
            </summary>
      <param name="item">The item to remove from the collection.</param>
      <returns>
            True if item was successfully removed from the collection; false otherwise.
            </returns>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Remove(System.String)">
      <summary>
            Removes the item with the specified path from the collection.
            </summary>
      <param name="path">The path of an item to remove from the collection.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.RemoveAt(System.Int32)">
      <summary>
            Removes the item at the specified index from the collection.
            </summary>
      <param name="index">The zero-based index of the item to remove.</param>
    </member>
    <member name="P:Rebex.IO.FileSystemItemCollection.Count">
      <summary>
            Gets the number of elements contained in the collection.
            </summary>
      <value>The number of elements contained in the collection.</value>
    </member>
    <member name="P:Rebex.IO.FileSystemItemCollection.Item(System.Int32)">
      <summary>
            Gets the item at the specified index.
            </summary>
      <param name="index">A zero-based index of the item to get.</param>
      <value>Item at the specified index.</value>
    </member>
    <member name="P:Rebex.IO.FileSystemItemCollection.Item(System.String)">
      <summary>
            Gets the item of the specified path.
            </summary>
      <param name="path">The path of the item to get.</param>
      <value>Item with the specified path, or null if not found.</value>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Clear">
      <summary>
            Removes all items from the collection.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.CopyTo(Rebex.IO.FileSystemItem[],System.Int32)">
      <summary>
            Copies the range of elements from the collection to a one-dimensional
            <see cref="T:Rebex.IO.FileSystemItem" /> array, starting at the specified index of the target array.
            </summary>
      <param name="array">One-dimensional zero-based <see cref="T:Rebex.IO.FileSystemItem" /> array that is the destination of the elements copied from the collection.</param>
      <param name="index">A zero-based index in the destination array at which copying begins.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Contains(Rebex.IO.FileSystemItem)">
      <summary>
            Determines whether the item is in the collection.
            </summary>
      <param name="item">The item to locate in the collection.</param>
      <returns>True if the item is located in the collection; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Contains(System.String)">
      <summary>
            Determines whether the item with the specified path is in the collection.
            </summary>
      <param name="path">The path to locate in the collection.</param>
      <returns>True if the item with the specified path is located in the collection; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.GetTotalSize">
      <summary>
            Gets the total size of files contained in the collection.
            </summary>
      <returns>The total size of files contained it the collection.</returns>
    </member>
    <member name="P:Rebex.IO.FileSystemItemCollection.UsePath">
      <summary>
            Gets or sets a value that indicates whether to use a <see cref="P:Rebex.IO.FileSystemItem.Path">Path</see> or <see cref="P:Rebex.IO.FileSystemItem.Name">Name</see> for pattern matching
            and return values in the <see cref="M:Rebex.IO.FileSystemItemCollection.GetFiles(System.Text.RegularExpressions.Regex)" /> method.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.GetFiles(System.Text.RegularExpressions.Regex)">
      <summary>
            Returns the paths of files in the collection that match the specified search pattern.
            </summary>
      <param name="regExp">The regular expression to match the paths or filenames against.</param>
      <returns>A <see cref="T:System.String" /> array containing the paths or names of files in the specified directory that match the specified search pattern.</returns>
      <remarks>
            The method works in two different modes (determined by <see cref="P:Rebex.IO.FileSystemItemCollection.UsePath" /> property):
            <list type="alpha"><item><see cref="P:Rebex.IO.FileSystemItem.Name">Filenames without path</see> are searched and returned. This mode is used by default for collections returned by GetList method.</item><item><see cref="P:Rebex.IO.FileSystemItem.Path">Filenames with path</see> are searched and returned. This mode is used by default for collection returned by GetItems method.</item></list></remarks>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.GetFiles(System.String,System.Boolean)">
      <summary>
            Returns the names of files in the collection that match the specified search pattern.
            </summary>
      <param name="searchPattern">The search string to match the items against.</param>
      <param name="caseSensitive">If tree, perform unix-like case-sensitive matching.</param>
      <returns>A <see cref="T:System.String" /> array containing the names of files in the specified directory that match the specified search pattern.</returns>
      <remarks>
        <p>The following wildcards are permitted in <i>searchPattern</i>:<br /><b>*</b> - Zero or more characters.<br /><b>?</b> - Exactly one character.<br />
            Characters other than the wildcards represent themselves.
            For example, the searchPattern string "*.txt" searches for all names/paths
            ending with the ".txt". The searchPattern string "s*" searches for all
            names/paths beginning with the letter "s".
            </p>
        <p>
            The method works in two different modes (determined by <see cref="P:Rebex.IO.FileSystemItemCollection.UsePath" /> property):
            <list type="alpha"><item><see cref="P:Rebex.IO.FileSystemItem.Name">Filenames without path</see> are searched and returned. This mode is used by default for collections returned by GetList method.</item><item><see cref="P:Rebex.IO.FileSystemItem.Path">Filenames with path</see> are searched and returned. This mode is used by default for collection returned by GetItems method.</item></list></p>
      </remarks>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.GetFiles(System.String)">
      <summary>
            Returns the names of files in the collection that match the specified search pattern.
            </summary>
      <param name="searchPattern">The search string to match the items against.</param>
      <returns>A <see cref="T:System.String" /> array containing the names of files in the specified directory that match the specified search pattern.</returns>
      <remarks>
        <p>The following wildcard specifiers are permitted in <i>searchPattern</i>:<br /><b>*</b> - Zero or more characters.<br /><b>?</b> - Exactly one character.<br />
            Characters other than the wild card specifiers represent themselves.
            For example, the searchPattern string "*t" searches for all names in path
            ending with the letter "t". The searchPattern string "s*" searches for all
            names in path beginning with the letter "s".
            </p>
        <p>
            The method works in two different modes (determined by <see cref="P:Rebex.IO.FileSystemItemCollection.UsePath" /> property):
            <list type="alpha"><item><see cref="P:Rebex.IO.FileSystemItem.Name">Filenames without path</see> are searched and returned. This mode is used by default for collections returned by GetList method.</item><item><see cref="P:Rebex.IO.FileSystemItem.Path">Filenames with path</see> are searched and returned. This mode is used by default for collection returned by GetItems method.</item></list></p>
      </remarks>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Sort">
      <summary>
            Sorts the items in the entire collection alphabetically.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Sort(System.Collections.IComparer)">
      <summary>
            Sorts the elements in the entire collection using the specified comparer.
            </summary>
      <param name="comparer">The <see cref="T:System.Collections.IComparer" /> implementation to use when comparing elements, or a null reference to sort alphabetically.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemCollection.Sort(System.Int32,System.Int32,System.Collections.IComparer)">
      <summary>
            Sorts the elements in a section of the collection using the specified comparer.
            </summary>
      <param name="index">The zero-based starting index of the range to sort.</param>
      <param name="count">The length of the range to sort.</param>
      <param name="comparer">The <see cref="T:System.Collections.IComparer" /> implementation to use when comparing elements, or a null reference to sort alphabetically.</param>
    </member>
    <member name="T:Rebex.IO.FileSystemItemComparerType">
      <summary>
            List of possible compare types for the FileSystemItemComparer class.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.Name">
      <summary>
            Compare by <see cref="P:Rebex.IO.FileSystemItem.Name" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.Length">
      <summary>
            Compare by <see cref="P:Rebex.IO.FileSystemItem.Length" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.CreationTime">
      <summary>
            Compare by creation date and time of the item.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.LastWriteTime">
      <summary>
            Compare by last modification date and time of the item.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.LastAccessTime">
      <summary>
            Compare by last access date and time of the item.
            </summary>
    </member>
    <member name="F:Rebex.IO.FileSystemItemComparerType.FileType">
      <summary>
            Compare by type of the item (directory/file/link).
            </summary>
    </member>
    <member name="T:Rebex.IO.FileSystemItemComparer">
      <summary>
            Class used to compare <see cref="T:Rebex.IO.FileSystemItem" /> objects.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemComparer.#ctor">
      <summary>
            Creates a new instance of FileSystemItemComparer with default sorting by file name and with ascending sort mode.
            </summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItemComparer.#ctor(Rebex.IO.FileSystemItemComparerType)">
      <summary>
            Creates a new instance of FileSystemItemComparer with specified comparer type and ascending sort mode.
            </summary>
      <param name="comparerType">Type of the comparer.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemComparer.#ctor(Rebex.IO.FileSystemItemComparerType,Rebex.SortingOrder)">
      <summary>
            Creates a new instance of FileSystemItemComparer with specified comparer type and sort mode.
            </summary>
      <param name="comparerType">Type of the comparer.</param>
      <param name="sortOrder">Sorting order.</param>
    </member>
    <member name="M:Rebex.IO.FileSystemItemComparer.Compare(System.Object,System.Object)">
      <summary>
            IComparer interface implementation. Compares two instances of <see cref="T:Rebex.IO.FileSystemItem" />.
            </summary>
      <param name="x">First object to compare.</param>
      <param name="y">Second object to compare.</param>
      <returns>Value greater than zero when x is greater then y, zero when they are equal, or less than zero when x is lesser than y.</returns>
    </member>
    <member name="T:Rebex.IO.TraversalMode">
      <summary>
            Specifies how a search pattern is treated (how to traverse a hierarchy of directories).
            </summary>
      <remarks>
            See <a href="https://blog.rebex.net/download-and-upload-with-ftp-and-sftp-components-using-traversalmode">Using TraversalMode blog post</a> for samples.
            </remarks>
    </member>
    <member name="F:Rebex.IO.TraversalMode.Recursive">
      <summary>
            Performs <strong>shallow</strong> search for files and directories; do <strong>recursive</strong> transfer of matching directories.<br />
            Shallow search means that items are searched only in the first level of given directory.<br />
            If the pattern matches a file, the file is processed.<br />
            If the pattern matches a directory, all files and subdirectories are processed.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversalMode.NonRecursive">
      <summary>
            Performs <strong>shallow</strong> search for files and directories; do <strong>non-recursive</strong> transfer of matching directories.<br />
            Shallow search means that items are searched only in the first level of given directory.<br />
            If the pattern matches a file, the file is processed.<br />
            If the pattern matches a directory, only the directory itself is processed (without any content = empty directory will be created).
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversalMode.MatchFilesShallow">
      <summary>
            Performs <strong>shallow</strong> search for files only. This is the same as <see cref="F:Rebex.IO.TraversalMode.NonRecursive" /> mode, but only files are processed.<br />
            Shallow search means that files are searched only in the first level of given directory.
            </summary>
    </member>
    <member name="F:Rebex.IO.TraversalMode.MatchFilesDeep">
      <summary>
            Performs <strong>deep</strong> search for files only. This is like DOS xcopy deep file search.<br />
            Deep search means that files are searched in the given directory and also in all its subdirectories.<br />
            However, if this mode is used in GetItems method, returned collection will also contains directories where the files were found.
            </summary>
      <remarks>
            This behavior is useful in situations where you need to prepare the containing directory before the file is processed.
            To get only files, just use Linq like this: <code>collection.Where(item =&gt; !item.IsDirectory)</code></remarks>
    </member>
    <member name="T:Rebex.IO.ActionOnExistingFiles">
      <summary>
            Specifies the default action to perform when a target file already exists.
            However, the default action can still be changed using the ProblemDetected event.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.ThrowException">
      <summary>
            Existing files are to cause the whole multi-file transfer to be canceled and an exception to be raised.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.SkipAll">
      <summary>
            Existing files are to be always skipped.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.OverwriteAll">
      <summary>
            Existing files are to be always overwritten.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.OverwriteOlder">
      <summary>
            Existing files are to be overwritten if they are older than source files.
            This is strongly discouraged because modification dates are often misreported by FTP and SFTP servers, making this mode highly unreliable.
            We strongly recommend to use a different mode or develop a custom solution using the ProblemDetected event.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.OverwriteDifferentSize">
      <summary>
            Existing files with different sizes are to be overwritten. 
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.ResumeIfPossible">
      <summary>
            Existing files are to be resumed if they are smaller than source files.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.Rename">
      <summary>
            Existing files are to be renamed according the pattern "filename[number].extension".
            You can still change the generated name using the ProblemDetected event and the <see cref="M:Rebex.IO.ProblemDetectedEventArgs.Rename(System.String)" /> method.
            </summary>
    </member>
    <member name="F:Rebex.IO.ActionOnExistingFiles.OverwriteDifferentChecksum">
      <summary>
            Existing files with different checksum are to be overwritten.<br />
            Supported by SFTP/FTP (when supported by the server) and ZIP (CRC-32 only).
            </summary>
    </member>
    <member name="T:Rebex.IO.LinkProcessingMode">
      <summary>
            Specifies behavior on links and reparse points in multi-file operations.
            </summary>
    </member>
    <member name="F:Rebex.IO.LinkProcessingMode.FollowLinks">
      <summary>
            Detected links are to be resolved and processed - however, this can still be changed by ProblemDetected handler.
            </summary>
    </member>
    <member name="F:Rebex.IO.LinkProcessingMode.SkipLinks">
      <summary>
            Detected links are to be skipped - however, this can still be changed by ProblemDetected handler.
            </summary>
    </member>
    <member name="F:Rebex.IO.LinkProcessingMode.ThrowExceptionOnLinks">
      <summary>
            Detected links cause an exception to be thrown - however, this can still be changed by ProblemDetected handler.
            </summary>
    </member>
    <member name="T:Rebex.IO.LinkType">
      <summary>
            Specifies link type.
            </summary>
    </member>
    <member name="F:Rebex.IO.LinkType.Symbolic">
      <summary>
            Symbolic link (symlink).
            </summary>
    </member>
    <member name="F:Rebex.IO.LinkType.Hard">
      <summary>
            Hard link.
            </summary>
    </member>
    <member name="T:Rebex.IO.TransferMethod">
      <summary>
            Specifies the method of the transfer.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferMethod.Copy">
      <summary>
            Items are copied.
            </summary>
    </member>
    <member name="F:Rebex.IO.TransferMethod.Move">
      <summary>
            Items are moved to the target destination (items are deleted in the source location).
            </summary>
    </member>
    <member name="T:Rebex.IO.MoveMode">
      <summary>
            Specifies the behavior of the <see cref="F:Rebex.IO.TransferMethod.Move" />.
            </summary>
    </member>
    <member name="F:Rebex.IO.MoveMode.All">
      <summary>
            All items (files and directories) are moved to the target destination deleting them in the source location.
            </summary>
    </member>
    <member name="F:Rebex.IO.MoveMode.FilesOnly">
      <summary>
            Only files are moved to the target destination. Directories remain (not deleted) in the source location.
            </summary>
    </member>
    <member name="T:Rebex.IO.ItemDateTimes">
      <summary>
            Specifies which date/time to restore.
            </summary>
    </member>
    <member name="F:Rebex.IO.ItemDateTimes.None">
      <summary>
            Restore no date/time.
            </summary>
    </member>
    <member name="F:Rebex.IO.ItemDateTimes.CreationTime">
      <summary>
            Restore CreationTime.
            </summary>
    </member>
    <member name="F:Rebex.IO.ItemDateTimes.LastWriteTime">
      <summary>
            Restore LastWriteTime.
            </summary>
    </member>
    <member name="F:Rebex.IO.ItemDateTimes.LastAccessTime">
      <summary>
            Restore LastAccessTime.
            </summary>
    </member>
    <member name="F:Rebex.IO.ItemDateTimes.All">
      <summary>
            Restore all date and times.
            </summary>
    </member>
    <member name="T:Rebex.IO.LocalItem">
      <summary>
            Represents a file or directory on the local file system.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.LocalItem" /> class.
            </summary>
      <param name="path">Path to a file or directory on the local file system.</param>
    </member>
    <member name="P:Rebex.IO.LocalItem.Exists">
      <summary>
            Gets a value indicating whether the file or directory exists.
            </summary>
      <returns>True if the file or directory exists; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.Length">
      <summary>
            Gets file length.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetLastWriteTime">
      <summary>
            Gets the last modification time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.SetLastWriteTime(System.DateTime)">
      <summary>
            Sets the last modification time of the item.
            </summary>
      <param name="date">The last modification time.</param>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetLastAccessTime">
      <summary>
            Gets the last access time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.SetLastAccessTime(System.DateTime)">
      <summary>
            Sets the last access time of the item.
            </summary>
      <param name="date">The last access time.</param>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetCreationTime">
      <summary>
            Gets the creation time of the item.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.SetCreationTime(System.DateTime)">
      <summary>
            Sets the creation time of the item.
            </summary>
      <param name="date">The creation time.</param>
    </member>
    <member name="P:Rebex.IO.LocalItem.IsFile">
      <summary>
            Gets a value indicating whether the item is a file.
            </summary>
      <returns>True if the item is a file; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.IsDirectory">
      <summary>
            Gets a value indicating whether the item is a directory.
            </summary>
      <returns>True if the archive item is directory; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.IsLink">
      <summary>
            Gets a value indicating whether the item is a link.
            </summary>
      <returns>True if the archive item is a link; false otherwise.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.Name">
      <summary>
            Gets the name of the file or directory.
            </summary>
      <returns>The name of the file or directory.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.Path">
      <summary>
            Gets the relative path of the file or directory.
            </summary>
      <returns>The relative path of the file or directory.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItem.FullPath">
      <summary>
            Gets the full path of the file or directory.
            </summary>
      <returns>The full path of the file or directory.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.ToString">
      <summary>
            Returns the full path of the item.
            </summary>
      <returns>The full path of the item.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.Delete">
      <summary>
            Deletes the local item.
            </summary>
    </member>
    <member name="P:Rebex.IO.LocalItem.Attributes">
      <summary>
            Gets item attributes.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetFiles">
      <summary>
            Gets the list of file items in a directory represented by this object.
            Fails if this object is not a directory.
            </summary>
      <remarks>
            This is only valid for directories.
            </remarks>
      <returns>List of file items.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetDirectories">
      <summary>
            Gets the list of directory items in a directory represented by this object.
            Fails if this object is not a directory.
            </summary>
      <remarks>
            This is only valid for directories.
            </remarks>
      <returns>List of directory items.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.ComputeCrc32">
      <summary>
            Computes the CRC32 (Cyclic Redundancy Check) value of the file.
            </summary>
      <remarks>
            This is only valid for files.
            </remarks>
      <returns>
            CRC32 checksum value.
            </returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetChecksum(System.String,Rebex.IO.ChecksumAlgorithm)">
      <summary>
            Calculates the checksum for the specified file.
            </summary>
      <param name="path">Path to the file.</param>
      <param name="algorithm">Desired checksum algorithm.</param>
      <returns>Checksum of the specified file.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItem.GetChecksum(System.String,Rebex.IO.ChecksumAlgorithm,System.Int64,System.Int64)">
      <summary>
            Calculates the checksum of the specified part of the specified file.
            </summary>
      <param name="path">Path to the file.</param>
      <param name="algorithm">Desired checksum algorithm.</param>
      <param name="offset">The offset in the local file at which to start processing.</param>
      <param name="count">The maximum number of bytes to process.</param>
            /// <returns>Checksum of the specified file.</returns></member>
    <member name="T:Rebex.IO.LocalItemCollection">
      <summary>
            Provides a container for a collection of <see cref="T:Rebex.IO.LocalItem" /> objects.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.#ctor">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.IO.LocalItemCollection" /> class.
            </summary>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.CheckItem(Rebex.IO.FileSystemItem)">
      <summary>
            Validates whether the item is correct and can be added.
            </summary>
      <param name="item">Item to add.</param>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.Add(Rebex.IO.LocalItem)">
      <summary>
            Adds the item to the collection.
            </summary>
      <param name="item">The item to be added to the collection.</param>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.AddRange(System.Collections.Generic.IEnumerable{Rebex.IO.LocalItem})">
      <summary>
             Adds the elements of the specified collection to the end of the LocalItemCollection.
            </summary>
      <param name="collection">The collection whose elements should be added to the end of the FtpItemCollection.</param>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.Contains(Rebex.IO.LocalItem)">
      <summary>
            Determines whether the item is in the collection.
            </summary>
      <param name="item">The item to locate in the collection.</param>
      <returns>True if the item is located in the collection; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.Contains(System.String)">
      <summary>
            Determines whether the item with the specified path is in the colleciton.
            </summary>
      <param name="path">The path to locate in the collection.</param>
      <returns>True if the item with the specified path is located in the collection; false otherwise.</returns>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.CopyTo(Rebex.IO.LocalItem[],System.Int32)">
      <summary>
            Copies the range of elements from the collection to a one-dimensional
            <see cref="T:Rebex.IO.LocalItem" /> array, starting at the specified index of the target array.
            </summary>
      <param name="array">One-dimensional zero-based <see cref="T:Rebex.IO.LocalItem" /> array that is the destination of the elements copied from the collection.</param>
      <param name="arrayIndex">A zero-based index in the destination array at which copying begins.</param>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.Remove(Rebex.IO.LocalItem)">
      <summary>
            Removes the specified item from the collection.
            </summary>
      <param name="item">The item to remove from the collection.</param>
      <returns>
            True if item was successfully removed from the collection; false otherwise.
            </returns>
    </member>
    <member name="M:Rebex.IO.LocalItemCollection.GetEnumerator">
      <summary>
            Gets an <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the collection.
            </summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the collection.</returns>
    </member>
    <member name="P:Rebex.IO.LocalItemCollection.Item(System.Int32)">
      <summary>
            Gets the item at the specified index.
            </summary>
      <param name="index">A zero-based index of the item to get.</param>
      <value>Item at the specified index.</value>
    </member>
    <member name="P:Rebex.IO.LocalItemCollection.Item(System.String)">
      <summary>
            Gets the item of the specified path.
            </summary>
      <param name="path">The path of the item to get.</param>
      <value>Item with the specified path, or null if not found.</value>
    </member>
    <member name="T:Rebex.Licensing">
      <summary>
            License key infrastructure for trial versions of Rebex components.
            </summary>
    </member>
    <member name="P:Rebex.Licensing.Key">
      <summary>
            Gets or sets the license key.
            </summary>
      <value>License key.</value>
    </member>
    <member name="P:Rebex.Licensing.Keys">
      <summary>
            Gets collection of license keys.
            </summary>
    </member>
    <member name="T:Rebex.LogWriterBase">
      <summary>
            Common base class for log writers. A derived class must override either the <see cref="M:Rebex.LogWriterBase.WriteMessage(System.String)" /> method or both Write methods.
            </summary>
    </member>
    <member name="M:Rebex.LogWriterBase.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.LogWriterBase" />.
            </summary>
    </member>
    <member name="P:Rebex.LogWriterBase.Level">
      <summary>
            Gets or sets the log level - only log messages with log level equal to or greater than the specified one.
            </summary>
      <value>Log level.</value>
    </member>
    <member name="P:Rebex.LogWriterBase.IsClosed">
      <summary>
            Get a value indicating whether the log writer is closed.
            </summary>
      <value>True when log writer is closed. False if log writer is opened and ready for writing.</value>
      <remarks>Implementation in this base class returns false, as the close method actually does not close any resource.</remarks>
    </member>
    <member name="M:Rebex.LogWriterBase.Close">
      <summary>
            Closes the log writer.
            </summary>
    </member>
    <member name="M:Rebex.LogWriterBase.Dispose(System.Boolean)">
      <summary>
            Releases unmanaged and managed resources (depending on the scenario).
            If <paramref name="disposing" /> is false, the method has been called from
            the finalizer and should not reference other objects (therefore only unmanaged resources can be disposed).
            </summary>
      <param name="disposing">True indicates that the method has been called via IDisposable.Dispose.
            False indicates that it has been called by the finalizer.</param>
    </member>
    <member name="M:Rebex.LogWriterBase.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)">
      <summary>
            Writes a message into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
    </member>
    <member name="M:Rebex.LogWriterBase.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Writes a message and data block into the log.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
      <param name="buffer">Data block.</param>
      <param name="offset">Data offset.</param>
      <param name="length">Date length.</param>
    </member>
    <member name="M:Rebex.LogWriterBase.WriteMessage(System.String)">
      <summary>
            Appends the specified message text into a text-based log. This method is only called by <see cref="M:Rebex.LogWriterBase.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)" /> method
            and is only used by text-based loggers.
            </summary>
      <param name="message">Full message info.</param>
    </member>
    <member name="M:Rebex.LogWriterBase.Dispose">
      <summary>
            Disposes the object.
            </summary>
    </member>
    <member name="T:Rebex.MultiComparer">
      <summary>
            Class for chained comparison of objects.
            </summary>
    </member>
    <member name="M:Rebex.MultiComparer.#ctor(System.Collections.IComparer[])">
      <summary>
            Creates a new instance of MultiComparer.
            </summary>
      <param name="comparerChain">An array of comparers to use.</param>
    </member>
    <member name="M:Rebex.MultiComparer.Compare(System.Object,System.Object)">
      <summary>
            IComparer interface implementation. Compares two instances of provided objects.
            </summary>
      <param name="x">The first object to compare.</param>
      <param name="y">The second object to compare.</param>
      <returns>
            A signed integer that indicates the result of x and y comparison.
            Value Less than zero means x is less than y. Zero x equals y. Greater than zero x is greater than y.
            </returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId">
      <summary>
            Specifies asymmetric algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.RSA">
      <summary>
            RSA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.DSA">
      <summary>
            DSA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.DiffieHellman">
      <summary>
            Diffie-Hellman.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.ECDsa">
      <summary>
            Elliptic Curve Digital Signature Algorithm (.NET &gt;= 4.0 or through a plugin).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.ECDH">
      <summary>
            Elliptic Curve Diffie-Hellman algorithm (.NET &gt;= 4.0 or through a plugin).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId.EdDsa">
      <summary>
            Twisted Edwards Curve DSA algorithm such as ED25519 (supported through a plugin).
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.AsymmetricKeyFormat">
      <summary>
            Specifies key blob format.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyFormat.ECPrivateKey">
      <summary>
            ECPrivateKey (defined by RFC 5915).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyFormat.RawPublicKey">
      <summary>
            Raw public key data.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.AsymmetricKeyFormat.RawPrivateKey">
      <summary>
            Raw private key data.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm">
      <summary>
            A platform-independent asymmetric algorithm object.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Register(System.Func{System.String,System.Object})">
      <summary>
            Register custom asymmetric key algorithm.
            </summary>
      <param name="algFactory">Factory function that accepts algorithm name and returns algorithm.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.KeySize">
      <summary>
            Gets the current key size.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Algorithm">
      <summary>
            Gets the current key algorithm.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.PublicOnly">
      <summary>
            Gets a value indicating whether this instance only contains the public key.
            </summary>
      <remarks>
            Always returns <code>true</code> for instances of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" /> created from <see cref="T:System.Security.Cryptography.ECDsa" /> due
            to lack of <see cref="T:System.Security.Cryptography.ECDsa" />.<code>PublicOnly</code> property.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GetCspParameters">
      <summary>
            Gets CSP parameters if the instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" /> represents a key stored in a Windows Cryptographic Service Provider.
            </summary>
      <returns>CSP parameters if available; null if not available.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" />.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Dispose">
      <summary>
            Frees the resources used by this object.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.CreateFrom(System.Security.Cryptography.AsymmetricAlgorithm,System.Boolean)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" /> from the specified asymmetric algorithm object.
            </summary>
      <param name="algorithm">Asymmetric algorithm object.</param>
      <param name="ownsAlgorithm">True if the created object owns the asymmetric algorithm object.</param>
      <returns>An instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" />.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GetPublicKey">
      <summary>
            Exports a public key to the specified private key info object.
            </summary>
      <returns>Public key info object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GetPrivateKey">
      <summary>
            Exports a private key to the specified private key info object.
            </summary>
      <returns>Private key info object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(Rebex.Security.Cryptography.Pkcs.PublicKeyInfo)">
      <summary>
            Imports a key from the specified public key info object.
            </summary>
      <param name="key">Public key info object.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo)">
      <summary>
            Imports a key from the specified private key info object.
            </summary>
      <param name="key">Private key info object.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(System.Security.Cryptography.RSAParameters)">
      <summary>
            Imports a key from the specified RSA parameters.
            </summary>
      <param name="key">RSA key parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(System.Security.Cryptography.DSAParameters)">
      <summary>
            Imports a key from the specified DSA parameters.
            </summary>
      <param name="key">DSA key parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(Rebex.Security.Cryptography.DiffieHellmanParameters)">
      <summary>
            Imports a private key from the specified Diffie-Hellman parameters, or generates a new key using P and G parameters.
            </summary>
      <param name="key">Diffie-Hellman key parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.ImportKey(Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId,System.String,System.Byte[],Rebex.Security.Cryptography.AsymmetricKeyFormat)">
      <summary>
            Imports a private key for the specified algorithm/curve. Only some algorithms/curves are supported.
            </summary>
      <param name="algorithm">Key algorithm.</param>
      <param name="curve">Key algorithm curve.</param>
      <param name="key">Key data.</param>
      <param name="format">Key format.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.IsSupported(Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId,System.String,System.Int32)">
      <summary>
            Returns a value indicating whether the specified algorithm is supported.
            </summary>
      <param name="algorithm">Asymmetric algorithm.</param>
      <param name="curve">Curve name or OID (if needed).</param>
      <param name="keySize">Key size (specify 0 to indicate default key size).</param>
      <returns>True if supported; false if not supported.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GenerateDiffieHellmanParameters(System.Int32)">
      <summary>
            Generates Diffie-Hellman parameters corresponding to the specified key size.
            </summary>
      <param name="keySize">Key size.</param>
      <returns>Diffie-Hellman parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GenerateKey(Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId,System.Int32)">
      <summary>
            Generates a private key for the specified asymmetric algorithm with of the specified key size.
            </summary>
      <param name="algorithm">Key algorithm.</param>
      <param name="keySize">Key size. Specify 0 to use default key size.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GenerateKey(Rebex.Security.Cryptography.AsymmetricKeyAlgorithmId,System.String)">
      <summary>
            Generates a private key for the specified asymmetric algorithm based on the specified curve.
            </summary>
      <param name="algorithm">Key algorithm.</param>
      <param name="curve">Curve name or OID.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.SignHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm)">
      <summary>
            Computes the signature for the specified hash value.
            </summary>
      <param name="hash">The hash value of the data to be signed.</param>
      <param name="hashAlgorithm">A hash algorithm used to create the hash value.</param>
      <returns>The signature for the specified hash value.</returns>
      <remarks>
        <p>
            The private key must be available for this method to succeed.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.SignMessage(System.Byte[])">
      <summary>
            Computes the signature for the specified message (using default parameters).
            </summary>
      <param name="message">Message to be signed.</param>
      <returns>Signature for the specified message.</returns>
      <remarks>
        <p>
            The private key must be available for this method to succeed.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.SignMessage(System.Byte[],Rebex.Security.Cryptography.SignatureParameters)">
      <summary>
            Computes the signature for the specified message.
            </summary>
      <param name="message">Message to be signed.</param>
      <param name="parameters">Signature parameters.</param>
      <returns>Signature for the specified message.</returns>
      <remarks>
        <p>
            The private key must be available for this method to succeed.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.VerifyHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Byte[])">
      <summary>
            Verifies the specified signature.
            </summary>
      <param name="hash">The hash value of the signed data.</param>
      <param name="hashAlgorithm">A hash algorithm used to create the hash value.</param>
      <param name="signature">The signature for the specified hash value.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.VerifyMessage(System.Byte[],System.Byte[])">
      <summary>
            Verifies the specified signature (using default parameters).
            </summary>
      <param name="message">Signed message.</param>
      <param name="signature">The signature for the specified message.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.VerifyMessage(System.Byte[],System.Byte[],Rebex.Security.Cryptography.SignatureParameters)">
      <summary>
            Verifies the specified signature.
            </summary>
      <param name="message">Signed message.</param>
      <param name="signature">The signature for the specified message.</param>
      <param name="parameters">Signature parameters.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Encrypt(System.Byte[])">
      <summary>
            Encrypts data.
            </summary>
      <param name="rgb">Data to be encrypted.</param>
      <returns>Encrypted data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Encrypt(System.Byte[],Rebex.Security.Cryptography.EncryptionParameters)">
      <summary>
            Encrypts data.
            </summary>
      <param name="rgb">Data to be encrypted.</param>
      <param name="parameters">Encryption parameters.</param>
      <returns>Encrypted data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Decrypt(System.Byte[])">
      <summary>
            Decrypts data.
            </summary>
      <param name="rgb">Data to be decrypted.</param>
      <returns>Decrypted data.</returns>
      <remarks>
            If silent operation is requested and the CSP must display UI to operate, this method will fail.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.Decrypt(System.Byte[],Rebex.Security.Cryptography.EncryptionParameters)">
      <summary>
            Decrypts data.
            </summary>
      <param name="rgb">Data to be decrypted.</param>
      <param name="parameters">Encryption parameters.</param>
      <returns>Decrypted data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm.GetKeyMaterialDeriver(System.Byte[])">
      <summary>
            Gets key material deriver. Only supported by Diffie-Hellman-like algorithms.
            </summary>
      <param name="otherPublicKey">Other side's public key in raw form.</param>
      <returns>Key material deriver.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.CryptoHelper">
      <summary>
            Provides various cryptography-related helper methods.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptoHelper.UseFipsAlgorithmsOnly">
      <summary>
            Enables or disables an option that specifies whether only FIPS 140-2 compliant cryptographic algorithm providers are to be used.
            </summary>
      <value>True if only FIPS 140-2 compliant algorithms are to be used; false to allow all supported algorithms.</value>
      <remarks>
            In .NET Framework 2.0/3.5/4.x, this option reflects the Windows OS settings unless explicitly set to a different value.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.CreateRandomNumberGenerator">
      <summary>
            Creates an instance of default random number generator.
            </summary>
      <returns />
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.GetRandomBytes(System.Int32)">
      <summary>
            Returns an array of bytes with a cryptographically strong random sequence of values.
            </summary>
      <param name="count">Array length.</param>
      <returns>Array filled with random data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.GetRandomBytes(System.Byte[])">
      <summary>
            Fills specified array of bytes with a cryptographically strong random sequence of values.
            </summary>
      <param name="buffer">Array to fill random data with.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.DecodeSignature(System.Byte[],Rebex.Security.Certificates.KeyAlgorithm)">
      <summary>
            Decodes a signature from a PKCS #7 form.
            </summary>
      <param name="encodedSignature">Signature.</param>
      <param name="keyAlgorithm">Key algorithm.</param>
      <returns>Decoded signature.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.EncodeSignature(System.Byte[],Rebex.Security.Certificates.KeyAlgorithm)">
      <summary>
            Encodes a signature to a PKCS #7 form.
            </summary>
      <param name="signature">Signature.</param>
      <param name="keyAlgorithm">Key algorithm.</param>
      <returns>Encoded signature.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptoHelper.EncodeString(System.String,System.Text.Encoding)">
      <summary>
            Encodes string as ASN.1 value (IA5String or UTF8String).
            </summary>
      <param name="value">String.</param>
      <param name="encoding">Encoding (only ASCII and UTF-8 are currently supported.</param>
      <returns>Encoded string.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.DiffieHellman">
      <summary>
            Implements Diffie-Hellman key agreement protocol (also called exponential key agreement).
            </summary>
      <remarks>
            This algorithm was developed by Diffie and Hellman in 1976. It allows two users
            to exchange a secret key over an insecure medium without any prior secrets.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.#ctor">
      <summary>
            Initializes a new instance of DiffieHellman.
            </summary>
      <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.DiffieHellmanManaged" /> class instead.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetPublicKey">
      <summary>
            Returns the public key.
            </summary>
      <returns>The public key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetSharedSecretKey(System.Byte[])">
      <summary>
            Calculates the shared secret key from the other side's public key.
            </summary>
      <param name="otherPublicKey">Other side's public key.</param>
      <returns>The shared secret key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.ImportParameters(Rebex.Security.Cryptography.DiffieHellmanParameters)">
      <summary>
            Imports the specified <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="param">The Diffie-Hellman parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="includePrivateParameters">true to include private parameter; otherwise, false.</param>
      <returns>The Diffie-Hellman parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetOakleyGenerator">
      <summary>
            Returns Oakley generator value.
            </summary>
      <returns>Oakley generator.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetOakleyGroup2">
      <summary>
            Returns Oakley group 2.
            </summary>
      <returns>Oakley group 2.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetOakleyGroup14">
      <summary>
            Returns Oakley group 14.
            </summary>
      <returns>Oakley group 14.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider">
      <summary>
            Wrapper around Diffie-Hellman CSP.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider" /> using the default key size of 1024.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.#ctor(System.Int32)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider" /> using the specified key size.
            </summary>
      <param name="keySize">Key size.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.GetPublicKey">
      <summary>
            Returns the public key.
            </summary>
      <returns>The public key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.GetSharedSecretKey(System.Byte[])">
      <inheritdoc />
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.ImportParameters(Rebex.Security.Cryptography.DiffieHellmanParameters)">
      <summary>
            Imports the specified <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="parameters">The Diffie-Hellman parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="includePrivateParameters">true to include private parameter; otherwise, false.</param>
      <returns>The Diffie-Hellman parameters.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.SignatureAlgorithm">
      <summary>
            Gets the name of the signature algorithm available with this implementation of DiffieHellman.
            </summary>
      <value>The name of the signature algorithm.</value>
      <remarks>DiffieHellman does not support signatures. This property will throw an exception.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.KeyExchangeAlgorithm">
      <summary>
            Gets the name of the key exchange algorithm available with this implementation of DiffieHellman.
            </summary>
      <value>The name of the key exchange algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.ToXmlString(System.Boolean)">
      <summary>
            Creates and returns an XML string representation of the current object.
            </summary>
      <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
      <returns>An XML string encoding of the current object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.FromXmlString(System.String)">
      <summary>
            When overridden in a derived class, reconstructs a DiffieHellmanManaged object from an XML string.
            </summary>
      <param name="xmlString">The XML string to use to reconstruct the DiffieHellmanManaged object. </param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanCryptoServiceProvider.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.DiffieHellmanManaged">
      <summary>
            Managed implementation of Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.#ctor">
      <summary>
            Initializes a new instance of the DiffieHellmanManaged class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the DiffieHellmanManaged class
            with a specified key size.
            </summary>
      <param name="keySize">The size of the key to use in bits.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.DiffieHellmanManaged.SignatureAlgorithm">
      <summary>
            Gets the name of the signature algorithm available with this implementation of DiffieHellman.
            </summary>
      <value>The name of the signature algorithm.</value>
      <remarks>DiffieHellman does not support signatures. This property will throw an exception.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.DiffieHellmanManaged.KeyExchangeAlgorithm">
      <summary>
            Gets the name of the key exchange algorithm available with this implementation of DiffieHellman.
            </summary>
      <value>The name of the key exchange algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ToXmlString(System.Boolean)">
      <summary>
            Creates and returns an XML string representation of the current object.
            </summary>
      <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
      <returns>An XML string encoding of the current object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.FromXmlString(System.String)">
      <summary>
            When overridden in a derived class, reconstructs a DiffieHellmanManaged object from an XML string.
            </summary>
      <param name="xmlString">The XML string to use to reconstruct the DiffieHellmanManaged object. </param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.GetPublicKey">
      <summary>
            Returns the public key.
            </summary>
      <returns>The public key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.GetSharedSecretKey(System.Byte[])">
      <inheritdoc />
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ImportParameters(Rebex.Security.Cryptography.DiffieHellmanParameters)">
      <summary>
            Imports the specified <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="parameters">The Diffie-Hellman parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters" />.
            </summary>
      <param name="includePrivateParameters">true to include private parameter; otherwise, false.</param>
      <returns>The Diffie-Hellman parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.DiffieHellmanParameters">
      <summary>
            Contains the parameters for Diffie-Hellman algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.P">
      <summary>
            The prime modulus used for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman" /> operation.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.G">
      <summary>
            The generator used for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman" /> operation.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.X">
      <summary>
            The private key for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman" /> operation.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.Y">
      <summary>
            The public key for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman" /> operation.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.DSAManaged">
      <summary>
            Managed implementation of DSA signature algorithm.
            </summary>
      <remarks>
        <p>
            The purpose of this class is to make it possible to verify
            signatures without the need to use CryptoAPI, which is not available
            in some scenarios.
            </p>
        <p>
            Even though it is possible to generate DSA keys and sign data using
            this class, but this process has not been optimized for speed and is
            very slow.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor">
      <summary>
            Initializes a new instance of the DSAManaged class with the key size of 1024.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the DSAManaged class with the specified key size.
            </summary>
      <param name="keySize">The size of the key to use in bits.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor(System.Int32,System.Byte[])">
      <summary>
            Initializes a new instance of the DSAManaged class with the specified key size and seed.
            </summary>
      <param name="keySize">The size of the key to use in bits.</param>
      <param name="seed">The initial seed to use for key generation.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.DSAManaged.SignatureAlgorithm">
      <summary>
            Gets the name of the signature algorithm available with this implementation of DSA.
            </summary>
      <value>The name of the signature algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.DSAManaged.KeyExchangeAlgorithm">
      <summary>
            Gets the name of the key exchange algorithm available with this implementation of DSA.
            </summary>
      <value>The name of the key exchange algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.ToXmlString(System.Boolean)">
      <summary>
            Creates and returns an XML string representation of the current object.
            </summary>
      <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
      <returns>An XML string encoding of the current object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.FromXmlString(System.String)">
      <summary>
            When overridden in a derived class, reconstructs a DSAManaged object from an XML string.
            </summary>
      <param name="xmlString">The XML string to use to reconstruct the DSAManaged object. </param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:System.Security.Cryptography.DSAParameters" />.
            </summary>
      <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
      <returns>The DSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.ImportParameters(System.Security.Cryptography.DSAParameters)">
      <summary>
            Imports the specified <see cref="T:System.Security.Cryptography.DSAParameters" />.
            </summary>
      <param name="parameters">The DSA parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.CreateSignature(System.Byte[])">
      <summary>
            Creates the DSA signature for the specified data.
            </summary>
      <param name="rgbHash">The SHA1 hash of data to be signed.</param>
      <returns>The DSA signature for the specified hash value.</returns>
      <remarks>
            DSA signature is a pair of numbers r and s.
            This method always returns an array of 40 bytes.
            Bytes 0..19 contain the value of r, bytes 20..39 contain the value of s.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifySignature(System.Byte[],System.Byte[])">
      <summary>
            Verifies the DSA signature for the specified data.
            </summary>
      <param name="rgbHash">The SHA1 hash of signed data to be verified.</param>
      <param name="rgbSignature">The signature to be verified for rgbData.</param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
      <remarks>
            DSA signature is a pair of numbers r and s.
            The rgbSignature parameter must be 40 bytes long.
            Bytes 0..19 must contain the value of r, bytes 20..39 must contain the value of s.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.SignHash(System.Byte[])">
      <summary>
            Computes the signature for the specified hash value by signing
            it with the private key.
            </summary>
      <param name="rgbHash">The SHA1 hash of data to be signed.</param>
      <returns>The DSA signature for the specified hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifyHash(System.Byte[],System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
      <param name="rgbHash">The hash value of the signed data.</param>
      <param name="rgbSignature">The signature data to be verified.</param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithm)">
      <summary>
            Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.
            </summary>
      <param name="buffer">The input data for which to compute the hash.</param>
      <param name="halg">The hash algorithm to use to create the hash value.</param>
      <returns>The DSA signature for the specified data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifyData(System.Byte[],System.Security.Cryptography.HashAlgorithm,System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified data.
            </summary>
      <param name="buffer">The signed data.</param>
      <param name="halg">The hash algorithm used to create the hash value of the data.</param>
      <param name="signature">The signature data to be verified. </param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.DSAManaged.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.EncryptionPaddingScheme">
      <summary>
            Encryption schemes.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.EncryptionPaddingScheme.Default">
      <summary>
            Default padding scheme (depends on key algorithm).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.EncryptionPaddingScheme.Pkcs1">
      <summary>
            RSAES-PKCS1-v1_5 (RFC 3447).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.EncryptionPaddingScheme.Oaep">
      <summary>
            RSAES-OAEP (RFC 3447).
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.EncryptionParameters">
      <summary>
            Encryption parameters.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.EncryptionParameters.PaddingScheme">
      <summary>
            Encryption scheme.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.EncryptionParameters.HashAlgorithm">
      <summary>
            Hashing algorithm for padding generation.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.EncryptionParameters.Label">
      <summary>
            Optional input parameter for <see cref="F:Rebex.Security.Cryptography.EncryptionPaddingScheme.Oaep" />.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.EncryptionParameters.Silent">
      <summary>
            If set to true (default), the cryptographic provider should not display any user interface (UI) when working with private keys.
            Only used for decryption operations.
            </summary>
      <remarks>
            If silent operation is requested and the cryptographic provider needs to display a UI to operate, the requested method will fail.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.EncryptionParameters.#ctor">
      <summary>
            Initialize new instance of the <see cref="T:Rebex.Security.Cryptography.SignatureParameters" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.HashingAlgorithmId">
      <summary>
            Specifies hash algorithm for <see cref="T:Rebex.Security.Cryptography.HashingAlgorithm" /> class.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.SHA1">
      <summary>
            SHA-1.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.SHA224">
      <summary>
            SHA-224.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.SHA256">
      <summary>
            SHA-256.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.SHA384">
      <summary>
            SHA-384.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.SHA512">
      <summary>
            SHA-512.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.MD4">
      <summary>
            MD4.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmId.MD5">
      <summary>
            MD5.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.HashingAlgorithmKeyMode">
      <summary>
            Specifies hash algorithm key mode.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmKeyMode.None">
      <summary>
            No keyed hash.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.HashingAlgorithmKeyMode.HMAC">
      <summary>
            HMAC.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.IHashTransform">
      <summary>
            Represents a hash transform.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.IHashTransform.HashSize">
      <summary>
            Represents the size, in bits, of the computed hash code.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.IHashTransform.Process(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Computes the hash value for the specified region of the input byte array.
            </summary>
      <param name="buffer">The input to compute the hash code for.</param>
      <param name="offset">The offset into the input byte array from which to begin using data.</param>
      <param name="count">The number of bytes in the input byte array to use as data.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.IHashTransform.GetHash">
      <summary>
            Gets the value of the computed hash code.
            </summary>
      <returns>The computed hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.IHashTransform.Reset">
      <summary>
            Resets the transform.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.HashingAlgorithm">
      <summary>
            Represents a hash algorithm.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.HashingAlgorithm.Algorithm">
      <summary>
            Gets algorithm ID.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.HashingAlgorithm.HashSize">
      <summary>
            Gets the size of the computed hash code (in bits).
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.GetKey">
      <summary>
            Gets the current key.
            </summary>
      <returns>The current key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.SetKey(System.Byte[])">
      <summary>
            Sets the current key to the specified value.
            </summary>
      <param name="key">Key to be set.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.HashingAlgorithm.KeyMode">
      <summary>
            Gets or sets the algorithm's key mode.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.#ctor(Rebex.Security.Cryptography.HashingAlgorithmId)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.HashingAlgorithmId" /> for the specified algorithm.
            </summary>
      <param name="algorithm">Algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.IsSupported(Rebex.Security.Cryptography.HashingAlgorithmId)">
      <summary>
            Gets a value indicating whether the specified algorithm is supported.
            </summary>
      <param name="algorithm">Algorithm.</param>
      <returns>True if supported; false if not supported.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.ToHashAlgorithm">
      <summary>
            Creates a hash transform object for this algorithm based on the currently set parameters.
            </summary>
      <returns>Hash transform object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.CreateTransform">
      <summary>
            Creates a hash transform object for this algorithm based on the currently set parameters.
            </summary>
      <returns>Hash transform object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.ComputeHash(System.Byte[])">
      <summary>
            Computes the hash value for the specified data.
            </summary>
      <param name="input">Input data.</param>
      <returns>Hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.ComputeHash(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Computes the hash value for the specified data.
            </summary>
      <param name="input">Input data.</param>
      <param name="offset">Input offset.</param>
      <param name="count">Input length.</param>
      <returns>Hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.ComputeHash(Rebex.Security.Cryptography.HashingAlgorithmId,System.Byte[])">
      <summary>
            Computes the hash value for the specified data using the specified algorithm.
            </summary>
      <param name="algorithm">Hash algorithm.</param>
      <param name="input">Input data.</param>
      <returns>Hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.ComputeHash(Rebex.Security.Cryptography.HashingAlgorithmId,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Computes the hash value for the specified data using the specified algorithm.
            </summary>
      <param name="algorithm">Hash algorithm.</param>
      <param name="input">Input data.</param>
      <param name="offset">Input offset.</param>
      <param name="count">Input length.</param>
      <returns>Hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HashingAlgorithm.Dispose">
      <summary>
            Disposes the object.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.HMAC">
      <summary>
            Computes a Hash-based Message Authentication Code (HMAC)
            for the input data using the specified hash function.
            </summary>
      <remarks>
            HMAC is defined by RFC 2104 and look like this:
            alg(K XOR opad + alg(K XOR ipad + text))<br />
            where alg is the base hash algorithm,<br />
            K is an n byte key,<br />
            ipad is the byte 0x36 repeated 64 times (or 128 times),<br />
            opad is the byte 0x5c repeated 64 times (or 128 times),<br />
            and text is the data being protected.<br /></remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.#ctor(Rebex.Security.Cryptography.HashingAlgorithmId,System.Byte[])">
      <summary>
            Initializes a new instance of the HMAC class with the specified hash algorithm and key data.
            </summary>
      <param name="algorithm">A type of hash algorithm to use.</param>
      <param name="rgbKey">The secret key for HMAC encryption.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.#ctor(Rebex.Security.Cryptography.HashingAlgorithmId)">
      <summary>
            Initializes a new instance of the HMAC class with the specified hash algorithm and a randomly generated key.
            </summary>
      <param name="algorithm">A type of hash algorithm to use.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.HMAC.Key">
      <summary>
            Gets or sets the key to be used in the hash algorithm.
            </summary>
      <value>The key to be used in the hash algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.Initialize">
      <summary>
            Initializes an instance of HMAC.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.HashCore(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Routes data written to the object into the hash algorithm for computing the HMAC.
            </summary>
      <param name="array">The input data.</param>
      <param name="ibStart">The offset into the byte array from which to begin using data.</param>
      <param name="cbSize">The number of bytes in the array to use as data.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.HashFinal">
      <summary>
            Returns the computed Hash-based Message Authentication Code (HMAC) after all data has been written to the object.
            </summary>
      <returns>The computed HMAC.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.HMAC.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources used by the HMAC and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
    </member>
    <member name="T:Rebex.Security.Cryptography.KeyDerivationParameters">
      <summary>
            Key derivation parameters.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.KeyDerivationParameters.KeyDerivationFunction">
      <summary>
            Gets or sets key derivation function ("HASH" or "HMAC").
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.KeyDerivationParameters.HashAlgorithm">
      <summary>
            Hashing algorithm.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.KeyDerivationParameters.HmacKey">
      <summary>
            HMAC key.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.KeyDerivationParameters.SecretAppend">
      <summary>
            Data to append to shared secret when hashing.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.KeyDerivationParameters.SecretPrepend">
      <summary>
            Data to prepend to shared secret when hashing.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.KeyMaterialDeriver">
      <summary>
            Key material deriver.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.KeyMaterialDeriver.DeriveKeyMaterial(Rebex.Security.Cryptography.KeyDerivationParameters)">
      <summary>
            Derives key material.
            </summary>
      <param name="parameters">Parameters that specify how to derive the key material..</param>
      <returns>Key material.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.KeyMaterialDeriver.Finalize">
      <summary>
            Finalizer. Called by garbage collector during object destruction.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.KeyMaterialDeriver.Dispose">
      <summary>
            Disposes the deriver object.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.ArcFour">
      <summary>
            Represents the base class from which all implementations of the ArcFour algorithm must derive.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFour.#ctor">
      <summary>
            Initializes a new instance of ArcFour.
            </summary>
      <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.ArcFourManaged" /> class instead.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcFour.BlockSize">
      <summary>
            Gets or sets the block size of the cryptographic operation in bits.
            </summary>
      <value>The block size.</value>
      <remarks>ArcFour is a stream cipher, blocks can be of any size.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcFour.IV">
      <summary>
            Gets or sets the initialization vector (IV) for the symmetric algorithm.
            </summary>
      <value>Initialization vector.</value>
      <remarks>ArcFour is a stream cipher, it does not use IV.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcFour.Mode">
      <summary>
            Gets or sets the mode for operation of the symmetric algorithm.
            </summary>
      <value>The mode for operation.</value>
      <remarks>ArcFour is a stream cipher, the only mode supported is CipherMode.OFB.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcFour.Padding">
      <summary>
            Gets or sets the padding mode used in the symmetric algorithm.
            </summary>
      <value>The padding mode.</value>
      <remarks>ArcFour is a stream cipher, no padding is done.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFour.GenerateIV">
      <summary>
            Generates a random initialization vector (IV) to be used for the algorithm.
            </summary>
      <remarks>ArcFour is a stream cipher, it does not use IV.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFour.GenerateKey">
      <summary>
            Generates a random key to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random key when none is specified.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFour.Create">
      <summary>
            Creates a cryptographic object to perform the ArcFour algorithm.
            </summary>
      <returns>A cryptographic object to perform the ArcFour algorithm.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.ArcFourManaged">
      <summary>
            The managed version of the ArcFour algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFourManaged.#ctor">
      <summary>
            Initializes a new instance of ArcFourManaged class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFourManaged.CreateDecryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a symmetric ArcFour decryptor object with the specified Key and initialization vector (IV).
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The IV. Not used by ArcFour.</param>
      <returns>A symmetric ArcFour decryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcFourManaged.CreateEncryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a symmetric ArcFour encryptor object with the specified Key and initialization vector (IV).
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The IV. Not used by ArcFour.</param>
      <returns>A symmetric ArcFour encryptor object.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.ArcTwoManaged">
      <summary>
            The managed version of the algorithm defined by RFC 2268.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcTwoManaged.#ctor">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.ArcTwoManaged" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcTwoManaged.GenerateIV">
      <summary>
            Generates a random initialization vector (IV) to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random initialization vector (IV) when none is specified.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcTwoManaged.GenerateKey">
      <summary>
            Generates a random key to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random key when none is specified.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcTwoManaged.Mode">
      <summary>
            Gets or sets the mode for operation of the symmetric algorithm.
            </summary>
      <value>The mode for operation of the symmetric algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.ArcTwoManaged.Padding">
      <summary>
            Gets or sets the padding mode used in the symmetric algorithm.
            </summary>
      <value>The padding mode used in the symmetric algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcTwoManaged.CreateEncryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a RC2 encryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for
            <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A RC2 encryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.ArcTwoManaged.CreateDecryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a RC2 decryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A RC2 decryptor object.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Blowfish">
      <summary>
            Represents the base class from which all implementations of Bruce Schneier's Blowfish algorithm must derive.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Blowfish.#ctor">
      <summary>
            Initializes a new instance of Blowfish.
            </summary>
      <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.BlowfishManaged" /> class instead.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.Blowfish.Create">
      <summary>
            Creates a cryptographic object to perform the Schneier's Blowfish algorithm.
            </summary>
      <returns>A cryptographic object to perform the Schneier's Blowfish algorithm.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.BlowfishManaged">
      <summary>
            The managed version of the Blowfish algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.BlowfishManaged.#ctor">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.BlowfishManaged" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.BlowfishManaged.GenerateIV">
      <summary>
            Generates a random initialization vector (IV) to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random initialization vector (IV) when none is specified.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.BlowfishManaged.GenerateKey">
      <summary>
            Generates a random key to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random key when none is specified.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.BlowfishManaged.Mode">
      <summary>
            Gets or sets the mode for operation of the symmetric algorithm.
            </summary>
      <value>The mode for operation of the symmetric algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.BlowfishManaged.Padding">
      <summary>
            Gets or sets the padding mode used in the symmetric algorithm.
            </summary>
      <value>The padding mode used in the symmetric algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.BlowfishManaged.CreateEncryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a Blowfish encryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for
            <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A Blowfish encryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.BlowfishManaged.CreateDecryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a Blowfish decryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for
            <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A Blowfish decryptor object.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.MD5SHA1">
      <summary>
            Computes the combined MD5/SHA1 hash for the input data.
            </summary>
      <remarks>
            The resulting hash value is 36 bytes long.
            Bytes 0..15 contain the MD5 hash and bytes 16..35 contain the SHA1 hash.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.#ctor">
      <summary>
            Initializes a new instance of the MD5SHA1 class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.Create">
      <summary>
            Creates an instance of the MD5SHA1 hash algorithm.
            </summary>
      <returns>A new instance of the MD5SHA1 hash algorithm.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.Initialize">
      <summary>
            Initializes an instance of MD5SHA1.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.HashCore(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Routes data written to the object into MD5 and SHA1 hash algorithms for computing the hash.
            </summary>
      <param name="array">The array of data bytes.</param>
      <param name="ibStart">The offset into the byte array from which to begin using data.</param>
      <param name="cbSize">The number of bytes in the array to use as data.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.MD5SHA1.MD5">
      <summary>
            Returns the underlying instance of the MD5 object that is used to compute the MD5 part of the combined hash.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.MD5SHA1.SHA1">
      <summary>
            Returns the underlying instance of the SHA1 object that is used to compute the SHA1 part of the combined hash.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.HashFinal">
      <summary>
            Returns the computed MD5SHA1 hash as an array of bytes after all data has been written to the object.
            </summary>
      <returns>The computed hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5SHA1.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources used by the MD5SHA1 and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Twofish">
      <summary>
            Represents the base class from which all implementations of Bruce Schneier's Twofish algorithm must derive.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Twofish.#ctor">
      <summary>
            Initializes a new instance of Twofish.
            </summary>
      <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.TwofishManaged" /> class instead.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.Twofish.Create">
      <summary>
            Creates a cryptographic object to perform the Schneier's Twofish algorithm.
            </summary>
      <returns>A cryptographic object to perform the Schneier's Twofish algorithm.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.TwofishManaged">
      <summary>
            The managed version of the Twofish algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.TwofishManaged.#ctor">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.TwofishManaged" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.TwofishManaged.GenerateIV">
      <summary>
            Generates a random initialization vector (IV) to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random initialization vector (IV) when none is specified.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.TwofishManaged.GenerateKey">
      <summary>
            Generates a random key to be used for the algorithm.
            </summary>
      <remarks>Use this method to generate a random key when none is specified.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.TwofishManaged.Mode">
      <summary>
            Gets or sets the mode for operation of the symmetric algorithm.
            </summary>
      <value>The mode for operation of the symmetric algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.TwofishManaged.Padding">
      <summary>
            Gets or sets the padding mode used in the symmetric algorithm.
            </summary>
      <value>The padding mode used in the symmetric algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.TwofishManaged.CreateEncryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a Twofish encryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for
            <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A Twofish encryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.TwofishManaged.CreateDecryptor(System.Byte[],System.Byte[])">
      <summary>
            Creates a Twofish decryptor object with the specified key.
            </summary>
      <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
      <param name="rgbIV">The initialization vector for
            <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</param>
      <returns>A Twofish decryptor object.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.MD5Managed">
      <summary>
            Managed implementation of MD5 algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5Managed.#ctor">
      <summary>
            Initializes a new instance.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5Managed.Initialize">
      <summary>
            Initializes an instance of MD5.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Updates the MD5 hash code.
            </summary>
      <param name="buffer">The array of data bytes.</param>
      <param name="offset">The zero based offset into the byte array from which to begin using data.</param>
      <param name="count">The number of bytes in the array to use as data.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD5Managed.HashFinal">
      <summary>
            Returns the computed MD5 hash as an array of bytes.
            </summary>
      <returns>The computed MD5 hash value.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.MD4Managed">
      <summary>
            Managed implementation of MD4 algorithm.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD4Managed.#ctor">
      <summary>
            Initializes a new instance.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD4Managed.Initialize">
      <summary>
            Initializes an instance of MD4.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD4Managed.HashCore(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Updates the MD4 hash code.
            </summary>
      <param name="buffer">The array of data bytes.</param>
      <param name="offset">The zero based offset into the byte array from which to begin using data.</param>
      <param name="count">The number of bytes in the array to use as data.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.MD4Managed.HashFinal">
      <summary>
            Returns the computed MD4 hash as an array of bytes.
            </summary>
      <returns>The computed MD4 hash value.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.ObjectIdentifier">
      <summary>
            Represents a cryptographic object identifier.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" /> class using the specified object. 
            </summary>
      <param name="oid">The object identifier information to use to create the new object identifier.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.#ctor(System.String)">
      <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" /> class using the specified OID dotted number string.
            </summary>
      <param name="oid">An object identifier in dotted number format.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.op_Implicit(System.String)~Rebex.Security.Cryptography.ObjectIdentifier">
      <summary>
            Converts a <see cref="T:System.String" /> OID to an <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" />.
            </summary>
      <param name="oid">An object identifier in dotted number format.</param>
      <returns>An <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" />.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.Parse(System.Byte[])">
      <summary>
            Parses an OID from an ASN.1 encoded byte array.
            </summary>
      <param name="buffer">Byte array.</param>
      <returns>OID.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.ObjectIdentifier.Value">
      <summary>
            Gets the dotted number representation of the object identifier.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.Encode">
      <summary>
            Gets an ASN.1 DER-encoded byte array representation of this OID.
            </summary>
      <returns>Byte array.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.ToArray">
      <summary>
            Returns a byte array that represents the inner content of DER-encoded form of this OID.
            Note: This is almost never used. Most likely, <see cref="M:Rebex.Security.Cryptography.ObjectIdentifier.Encode" /> should be used instead.
            </summary>
      <returns>Byte array.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.ToString">
      <summary>
            Returns a string in dotted number format that represents the current <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" />.
            </summary>
      <returns>A string representation of the current Oid.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs12KeyGenerator">
      <summary>
            PKCS #12 key derivation algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs12KeyGenerator.KeyMaterial">
      <summary>
            ID value for key material.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs12KeyGenerator.IVMaterial">
      <summary>
            ID value for IV material.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs12KeyGenerator.MacMaterial">
      <summary>
            ID value for MAC material.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs12KeyGenerator.#ctor(Rebex.Security.Cryptography.HashingAlgorithmId,System.String,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Initializes a new instance of PKCS #12 key derivation algorithm.
            </summary>
      <param name="algorithm">Hash algorithm.</param>
      <param name="password">Password.</param>
      <param name="salt">Salt value.</param>
      <param name="iterations">Number of iterations.</param>
      <param name="id">ID value.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs12KeyGenerator.Reset">
      <summary>Resets the state of the operation.</summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs12KeyGenerator.GetBytes(System.Int32)">
      <summary>Returns a pseudo-random key from a password, salt and iteration count.</summary>
      <returns>A byte array filled with pseudo-random key bytes.</returns>
      <param name="cb">The number of pseudo-random key bytes to generate. </param>
    </member>
    <member name="T:Rebex.Security.Cryptography.RSAManaged">
      <summary>
            Managed implementation of RSA algorithm.
            </summary>
      <p>
            The purpose of this class is to make it possible to verify
            signatures and encrypt data without the need to use CryptoAPI, which
            is not available in some scenarios.
            </p>
      <p>
            Even though it is possible to generate RSA keys and sign data using
            this class, it is not recommended because the generated keys are not
            being checked to ensure they are strong primes.
            </p>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.#ctor">
      <summary>
            Initializes a new instance of the RSAManaged class with the key size of 1024.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.#ctor(System.Int32)">
      <summary>
            Initializes a new instance of the RSAManaged class with the specified key size.
            </summary>
      <param name="keySize">The size of the key to use in bits.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.RSAManaged.SignatureAlgorithm">
      <summary>
            Gets the name of the signature algorithm available with this implementation of RSA.
            </summary>
      <value>The name of the signature algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.RSAManaged.KeyExchangeAlgorithm">
      <summary>
            Gets the name of the key exchange algorithm available with this implementation of RSA.
            </summary>
      <value>The name of the key exchange algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.ExportParameters(System.Boolean)">
      <summary>
            Exports the <see cref="T:System.Security.Cryptography.RSAParameters" />.
            </summary>
      <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
      <returns>The RSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.ImportParameters(System.Security.Cryptography.RSAParameters)">
      <summary>
            Imports the specified <see cref="T:System.Security.Cryptography.RSAParameters" />.
            </summary>
      <param name="parameters">The RSA parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.DecryptValue(System.Byte[])">
      <summary>
            Decrypts data with the RSA algorithm.
            </summary>
      <param name="rgb">The data to be decrypted.</param>
      <returns>The decrypted data.</returns>
      <remarks>No processing of raw data is performed.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.DecryptRaw(System.Byte[])">
      <summary>
            Decrypts data with the RSA algorithm. Replacement for deprecated <see cref="M:Rebex.Security.Cryptography.RSAManaged.DecryptValue(System.Byte[])" /> method.
            </summary>
      <param name="rgb">The data to be decrypted.</param>
      <returns>The decrypted data.</returns>
      <remarks>No processing of raw data is performed.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.EncryptValue(System.Byte[])">
      <summary>
            Encrypts data with the RSA algorithm.
            </summary>
      <param name="rgb">The data to be encrypted.</param>
      <returns>The encrypted data.</returns>
      <remarks>No processing of raw data is performed.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.EncryptRaw(System.Byte[])">
      <summary>
            Decrypts data with the RSA algorithm. Replacement for deprecated <see cref="M:Rebex.Security.Cryptography.RSAManaged.EncryptValue(System.Byte[])" /> method.
            </summary>
      <param name="rgb">The data to be decrypted.</param>
      <returns>The decrypted data.</returns>
      <remarks>No processing of raw data is performed.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.Decrypt(System.Byte[])">
      <summary>
            Decrypts data with the RSA algorithm.
            </summary>
      <param name="rgb">The data to be decrypted.</param>
      <returns>The decrypted data.</returns>
      <remarks>Uses PKCS#1 v1.5 padding.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.Encrypt(System.Byte[])">
      <summary>
            Encrypts data with the RSA algorithm.
            </summary>
      <param name="rgb">The data to be encrypted.</param>
      <returns>The encrypted data.</returns>
      <remarks>Uses PKCS#1 v1.5 padding.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.VerifyHash(System.Byte[],System.String,System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
      <param name="rgbHash">The hash value of the signed data.</param>
      <param name="algorithm">A hash algorithm used to create the hash value.</param>
      <param name="rgbSignature">The signature data to be verified.</param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.SignHash(System.Byte[],System.String)">
      <summary>
            Computes the signature for the specified hash value by signing
            it with the private key.
            </summary>
      <param name="rgbHash">The hash of data to be signed.</param>
      <param name="algorithm">A hash algorithm used to create the hash value.</param>
      <returns>The RSA signature for the specified hash value.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.VerifyData(System.Byte[],System.Security.Cryptography.HashAlgorithm,System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified data.
            </summary>
      <param name="buffer">The data that was signed.</param>
      <param name="halg">The hash algorithm used to create the hash value of the data.</param>
      <param name="signature">The signature data to be verified.</param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithm)">
      <summary>
            Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.
            </summary>
      <param name="buffer">The input data for which to compute the hash.</param>
      <param name="halg">The hash algorithm to use to create the hash value.</param>
      <returns>The RSA signature for the specified data.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.RSAManaged.Dispose(System.Boolean)">
      <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
      <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.SignatureFormat">
      <summary>
            Signature format.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SignatureFormat.Raw">
      <summary>
            Raw signature data.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SignatureFormat.Pkcs">
      <summary>
            DER-encoded ASN.1 form of the signature formatted according to Cryptographic Message Syntax (PKCS #7).
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.SignaturePaddingScheme">
      <summary>
            Signature padding scheme.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SignaturePaddingScheme.Default">
      <summary>
            Default padding scheme (depends on key algorithm).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SignaturePaddingScheme.Pkcs1">
      <summary>
            PKCS #1 padding scheme (RSASSA-PKCS1-v1_5 defined by RFC 3447).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SignaturePaddingScheme.Pss">
      <summary>
            Probabilistic Signature Scheme (PSS) padding scheme (RSASSA-PSS defined by RFC 3447).
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.SignatureParameters">
      <summary>
            Signature parameters.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SignatureParameters.HashAlgorithm">
      <summary>
            Hashing algorithm.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SignatureParameters.Format">
      <summary>
            Signature format.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SignatureParameters.PaddingScheme">
      <summary>
            Signature padding scheme.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SignatureParameters.SaltLength">
      <summary>
            Salt length in bytes (only used for <see cref="F:Rebex.Security.Cryptography.SignaturePaddingScheme.Pss" />).
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SignatureParameters.Silent">
      <summary>
            If set to true (default), the cryptographic provider should not display any user interface (UI) when working with private keys.
            Only used for signing operations.
            </summary>
      <remarks>
            If silent operation is requested and the cryptographic provider needs to display a UI to operate, the requested method will fail.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.SignatureParameters.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.SignatureParameters" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId">
      <summary>
            Specifies symmetric algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.AES">
      <summary>
            AES.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.TripleDES">
      <summary>
            3DES.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.Twofish">
      <summary>
            Twofish.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.DES">
      <summary>
            DES.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.ArcTwo">
      <summary>
            RC2.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.ArcFour">
      <summary>
            An algorithm compatible with RC4.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId.Blowfish">
      <summary>
            Blowfish.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.SymmetricKeyAlgorithm">
      <summary>
            Represents a symmetric cipher algorithm.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.Algorithm">
      <summary>
            Gets algorithm ID.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.BlockSize">
      <summary>
            Gets or sets the desired block size in bits.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.KeySize">
      <summary>
            Gets or sets the desired key size in bits.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.EffectiveKeySize">
      <summary>
            Gets or sets the desired effective key size in bits.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.Padding">
      <summary>
            Gets or sets the desired block cipher padding mode.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.Mode">
      <summary>
            Gets or sets the desired block cipher mode.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.GetIV">
      <summary>
            Gets the current initialization vector.
            </summary>
      <returns>Initialization vector.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.GetKey">
      <summary>
            Gets the current key.
            </summary>
      <returns>Key.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.DeriveKey(System.Security.Cryptography.DeriveBytes)">
      <summary>
            Derives a key (of <see cref="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.KeySize" /> length) using the specified generator.
            </summary>
      <param name="generator">Generator algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.DeriveIV(System.Security.Cryptography.DeriveBytes)">
      <summary>
            Derives an initialization vector (of <see cref="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.BlockSize" /> length) using the specified generator.
            </summary>
      <param name="generator">Generator algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.GenerateKey">
      <summary>
            Generates a random key (of <see cref="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.KeySize" /> length).
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.GenerateIV">
      <summary>
            Generates a initialization vector (of <see cref="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.BlockSize" /> length).
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.SetKey(System.Byte[])">
      <summary>
            Sets the current key to the specified value and changes the <see cref="P:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.KeySize" /> accordingly.
            </summary>
      <param name="key">Key. Cannot be null.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.SetIV(System.Byte[])">
      <summary>
            Sets the current initialization vector to the specified value.
            </summary>
      <param name="iv">Initialization vector.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.CreateEncryptor">
      <summary>
            Creates an encryptor object for this algorithm based on the currently set parameters.
            </summary>
      <returns>Encryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.CreateDecryptor">
      <summary>
            Creates a decryptor object for this algorithm based on the currently set parameters.
            </summary>
      <returns>Decryptor object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.ToSymmetricAlgorithm">
      <summary>
            Creates a symmetric algorithm object for this algorithm based on the currently set parameters.
            </summary>
      <returns>Symmetric algorithm object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.Dispose">
      <summary>
            Disposes the object.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.#ctor(Rebex.Security.Cryptography.SymmetricKeyAlgorithmId)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.SymmetricKeyAlgorithmId" /> for the specified algorithm.
            </summary>
      <param name="algorithm">Algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.SymmetricKeyAlgorithm.IsSupported(Rebex.Security.Cryptography.SymmetricKeyAlgorithmId)">
      <summary>
            Gets a value indicating whether the specified algorithm is supported.
            </summary>
      <param name="algorithm">Algorithm.</param>
      <returns>True if supported; false if not supported.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier">
      <summary>
            The AlgorithmIdentifier class defines an algorithm used for a cryptographic operation.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
      <summary>
            Creates an instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> class
            with the specified algorithm identifier.
            </summary>
      <param name="oid">An object identifier for the algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
      <summary>
            Creates an instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> class with
            the specified algorithm identifier and parameters.
            </summary>
      <param name="oid">An object identifier for the algorithm.</param>
      <param name="parameters">ASN.1 DER encoded parameters.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Oid">
      <summary>
            Gets the object identifier for the algorithm.
            </summary>
      <value>On <see cref="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Oid" /> that represents the algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Parameters">
      <summary>
            Gets the algorithm parameters.
            </summary>
      <value>The algorithm parameters.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection">
      <summary>
            A collection of values associated with a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" />.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection.Item(System.Int32)">
      <summary>
            Gets the value at the specified index.
            </summary>
      <value>An array of bytes in ASN.1 format.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection.CopyTo(System.Byte[][],System.Int32)">
      <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection" /> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
      <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection" />.</param>
      <param name="index">A zero-based index in the destination array at which copying begins.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode">
      <summary>
            A cryptographic attribute that contains a type and a collection of associated values.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Collections.ICollection)">
      <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" />.
            </summary>
      <param name="oid">The object identifier that identifies the attribute type.</param>
      <param name="values">Parameters in ASN.1 format, in a form of one or more byte arrays.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[][])">
      <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" />.
            </summary>
      <param name="oid">The object identifier that identifies the attribute type.</param>
      <param name="values">Parameters in ASN.1 format.</param>
      <remarks>Not supported in .NET 1.0, use <see cref="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Collections.ICollection)" /> instead.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.Oid">
      <summary>
            Gets the object identifier that identifies the attribute type.
            </summary>
      <value>The object identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.Values">
      <summary>
            Gets the collection of values associated with the attribute. 
            </summary>
      <value>A <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection" />.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection">
      <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" /> objects.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Item(System.Int32)">
      <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" /> at the specified index.
            </summary>
      <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" /> to get or set.</param>
      <value>A cryptographic attribute.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Item(System.String)">
      <summary>
            Gets the first <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode" /> with the specified object identifier.
            </summary>
      <param name="oid">The object identifier, either friendly name or dotted string format.</param>
      <value>A cryptographic attribute if found, or null if not found.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids">
      <summary>
            Contains string representations of common extended usage OIDs.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.AnyPurpose">
      <summary>Any purpose.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.ServerAuthentication">
      <summary>TLS Web server authentication.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.ClientAuthentication">
      <summary>TLS Web client authentication.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.CodeSigning">
      <summary>Code signing.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.EmailProtection">
      <summary>E-mail protection.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.TimeStamping">
      <summary>Timestamping.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.ExtendedUsageOids.OcspSigning">
      <summary>OCSP response signing.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateIssuer">
      <summary>
            A utility class that features a certificate issuer functionality. This can be used as a base of simple custom certification authority.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.Issue(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.CertificateInfo,Rebex.Security.Cryptography.Pkcs.PublicKeyInfo)">
      <summary>
            Issues a certificate signed by the specified certification authority.
            </summary>
      <param name="certificationAuthority">Certification authority certificate to issue and sign the certificate.</param>
      <param name="certificateInfo">Certificate info.</param>
      <param name="publicKey">Certificate public key.</param>
      <returns>A new certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.Issue(Rebex.Security.Cryptography.Pkcs.CertificateInfo,Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo)">
      <summary>
            Issues a self-signed certificate.
            </summary>
      <param name="certificateInfo">Certificate info.</param>
      <param name="privateKey">Certificate private key.</param>
      <returns>A new certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.IssueRevocationList(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.SignatureHashAlgorithm,Rebex.Security.Cryptography.Pkcs.RevocationListInfo,System.Collections.IEnumerable)">
      <summary>
            Issues a certificate signed by the specified certification authority using the specified signature hash algorithm.
            </summary>
      <param name="certificationAuthority">Certification authority certificate to issue and sign the certificate.</param>
      <param name="signatureHashAlgorithm">Signature hash algorithm.</param>
      <param name="revocationListInfo">Certificate revocation list info.</param>
      <param name="revokedCertificates">A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.RevokedCertificate" /> objects.</param>
      <returns>A new certificate.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateInfo">
      <summary>
            Contains information describing the certificate for the <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificateIssuer" />.<see cref="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.Issue(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.CertificateInfo,Rebex.Security.Cryptography.Pkcs.PublicKeyInfo)">Issue</see> method.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificateInfo" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.GetSerialNumber">
      <summary>
            Gets the certificate serial number.
            </summary>
      <returns>Serial number.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SetSerialNumber(System.Byte[])">
      <summary>
            Sets the certificate serial number.
            </summary>
      <param name="serialNumber">Serial number.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SetSerialNumber(System.Int32)">
      <summary>
            Sets the certificate serial number.
            </summary>
      <param name="serialNumber">Serial number.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.Subject">
      <summary>
            Gets or sets the certificate subject.
            </summary>
      <value>Certificate subject.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.Usage">
      <summary>
            Gets or sets the basic certificate usage.
            </summary>
      <value>Basic certificate usage.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.GetExtendedUsage">
      <summary>
            Gets the extended certificate usage.
            </summary>
      <value>Extended certificate usage.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SetExtendedUsage(System.String[])">
      <summary>
            Sets the extended certificate usage.
            </summary>
      <param name="extendedUsage">Extended certificate usage.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.EffectiveDate">
      <summary>
            Gets or sets the certificate effective date.
            </summary>
      <value>Certificate effective date.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.ExpirationDate">
      <summary>
            Gets or sets the certificate expiration date.
            </summary>
      <value>Certificate expiration date.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.Extensions">
      <summary>
            Gets the certificate extensions collection.
            </summary>
      <value>Certificate extensions collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.CrlDistributionPoints">
      <summary>
            Gets the CRL distribution points collection.
            </summary>
      <value>CRL distribution points collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.MailAddress">
      <summary>
            Gets or sets the certificate owner's e-mail address.
            </summary>
      <value>E-mail address.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SetAlternativeHostnames(System.String[])">
      <summary>
            Sets alternative hostnames.
            </summary>
      <param name="hostnames">Alternative hostnames.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.GetAlternativeHostnames">
      <summary>
            Sets alternative hostnames.
            </summary>
      <returns>Alternative hostnames.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SetOtherNames(System.Collections.Generic.KeyValuePair{Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[]}[])">
      <summary>
            Sets other names (see https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 for details).
            </summary>
      <param name="names">Other names.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateInfo.GetOtherNames">
      <summary>
            Sets alternative hostnames.
            </summary>
      <returns>Alternative hostnames.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateInfo.SignatureHashAlgorithm">
      <summary>
            Gets or sets the hash algorithm to be used to create the signature of the certificate.
            </summary>
      <value>The hash algorithm to be used to create the signature of the certificate.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevocationListInfo">
      <summary>
            Contains information describing the certificate for the <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificateIssuer" />.<see cref="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.IssueRevocationList(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.SignatureHashAlgorithm,Rebex.Security.Cryptography.Pkcs.RevocationListInfo,System.Collections.IEnumerable)">IssueRevocationList</see> method.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevocationListInfo.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.RevocationListInfo" /> class.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevocationListInfo.ThisUpdate">
      <summary>
            Gets or sets the datetime of this CRL update.
            </summary>
      <value>Datetime of this CRL update.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevocationListInfo.NextUpdate">
      <summary>
            Gets or sets the datetime of the next CRL update.
            </summary>
      <value>Datetime of the next CRL update.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevocationReason">
      <summary>
            Specifies the reason for inclusion in the certificate revocation list.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.Unspecified">
      <summary>Used to revoke certificates for reasons other than the specific codes.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.KeyCompromise">
      <summary>Used in revoking an end-entity certificate. Indicates that it is known or suspected that the subject's private key, or other aspects of the subject validated in the certificate, have been compromised.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.CACompromise">
      <summary>Used in revoking a CA-certificate. Indicates that it is known or suspected that the subject's private key, or other aspects of the subject validated in the certificate, have been compromised.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.AffiliationChanged">
      <summary>The subject's name or other information in the certificate has been modified (but there is no cause to suspect that the private key has been compromised).</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.Superseded">
      <summary>Certificate has been superseded (but there is no cause to suspect that the private key has been compromised).</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.CessationOfOperation">
      <summary>Certificate is no longer needed for the purpose for which it was issued (but there is no cause to suspect that the private key has been compromised).</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.CertificateHold">
      <summary>Certificate has been places on hold.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.RemoveFromCrl">
      <summary>Only for use with delta-CRLs. Indicates that an existing CRL entry should now be removed owing to certificate expiration or hold release.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.PrivilegeWithdrawn">
      <summary>Certificate was revoked because a privilege contained within that certificate has been withdrawn.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.AACompromise">
      <summary>It is known or suspected that aspects of the AA validated in the attribute certificate have been compromised.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList">
      <summary>
            The certificate revocation list.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.#ctor(System.Byte[])">
      <summary>
            Creates a certificate revocation list from an ASN.1 block.
            </summary>
      <param name="crl">ASN.1 block.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.Load(System.IO.Stream)">
      <summary>
            Loads a certificate revocation list from given stream.
            </summary>
      <param name="input">Stream to load the certificate revocation list from.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.ToArray">
      <summary>
            Converts a certificate revocation list into a byte array.
            </summary>
      <returns>Byte array.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.Issuer">
      <summary>
            Gets the DN of the issuer of this certificate revocation list.
            </summary>
      <value>DN of the issuer of this certificate revocation list.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.ThisUpdate">
      <summary>
            Gets the datetime of this CRL update.
            </summary>
      <value>Datetime of this CRL update.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.NextUpdate">
      <summary>
            Gets the datetime of the next CRL update.
            </summary>
      <value>Datetime of the next CRL update.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.CrlNumber">
      <summary>
            Gets the CRL number if appropriate extension is present.
            </summary>
      <value>CRL number or null (Nothing in VB.NET) if not specified.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.Extensions">
      <summary>
            Gets the collection of CRL's extensions.
            </summary>
      <value>Extensions collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.RevokedCertificates">
      <summary>
            Gets the collection of revoked certificates.
            </summary>
      <value>Revoked certificate collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.KeyAlgorithm">
      <summary>
            Returns the key algorithm used to sign this certificate revocation list.
            </summary>
      <value>The key algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.SignatureHashAlgorithm">
      <summary>
            Returns the hash algorithm used to create the signed hash value.
            </summary>
      <value>Hash algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.GetHash">
      <summary>
            Returns the certificate revocation list hash.
            </summary>
      <returns>CRL hash.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.GetSignature">
      <summary>
            Returns the certificate revocation list signature.
            </summary>
      <returns>CRL signature.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.GetDistributionPointUrl">
      <summary>
            Returns distribution point URL from issuing distribution point extension, if both present. Otherwise returns null.
            </summary>
      <returns>Distribution point URL.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList.CheckCertificate(Rebex.Security.Certificates.Certificate)">
      <summary>
            Checks whether the certificate revocation list contains the specified certificate.
            Also makes sure that the CRL is suitable for the certificate.
            </summary>
      <param name="subject">Certificate to check.</param>
      <returns>Revocation check result.</returns>
      <remarks>
            Please note that this method does not check the validity of the CRL itself.
            Call <see cref="M:Rebex.Security.Certificates.Certificate.ValidateRevocationList(Rebex.Security.Cryptography.Pkcs.CertificateRevocationList,System.Nullable{System.DateTime})" /> on the issuer certificate
            to perform this check.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevokedCertificateCollection">
      <summary>
            Collection of information about revoked certificates. A part of <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificateRevocationList" />.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevokedCertificateCollection.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.RevokedCertificateCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevokedCertificate">
      <summary>
            Information about revoked certificate.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.#ctor(System.Byte[],System.DateTime,Rebex.Security.Cryptography.Pkcs.RevocationReason)">
      <summary>
            Creates a new instance of revoked certificate based on the supplied data.
            </summary>
      <param name="serialNumber">Serial number.</param>
      <param name="revocationDate">Revocation date.</param>
      <param name="reason">Revocation reason.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.#ctor(System.Int32,System.DateTime,Rebex.Security.Cryptography.Pkcs.RevocationReason)">
      <summary>
            Creates a new instance of revoked certificate based on the supplied data.
            </summary>
      <param name="serialNumber">Serial number.</param>
      <param name="revocationDate">Revocation date.</param>
      <param name="reason">Revocation reason.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.GetSerialNumber">
      <summary>
            Gets the certificate's serial number.
            </summary>
      <returns>Serial number.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.RevocationDate">
      <summary>
            Gets the revocation date.
            </summary>
      <value>Revocation date.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.Extensions">
      <summary>
            Gets the collection of revoked certificate info's extensions.
            </summary>
      <value>Extensions collection.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RevokedCertificate.GetRevocationReason">
      <summary>
            Returns revocation reason of the revoked certificate.
            </summary>
      <returns>If the revocation reason extension is present, returns the reason from that extension; otherwise returns <see cref="F:Rebex.Security.Cryptography.Pkcs.RevocationReason.Unspecified" />.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevocationCheckStatus">
      <summary>
            Represents revocation check outcome.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationCheckStatus.IssuerMismatch">
      <summary>
            The issuer of the certificate does not match the issuer of the CRL.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationCheckStatus.NotSuitable">
      <summary>
            This CRL is not supposed to be used to check the status of this certificate (try the next CRL).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationCheckStatus.NotRevoked">
      <summary>
            The certificate has not been revoked according to this CRL.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.RevocationCheckStatus.Revoked">
      <summary>
            The certificate has been revoked.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RevocationCheckResult">
      <summary>
            Represents the result of certificate revocation check.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevocationCheckResult.Status">
      <summary>
            Gets revocation check outcome.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevocationCheckResult.RevocationDate">
      <summary>
            Gets the revocation date.
            </summary>
      <value>Revocation date.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RevocationCheckResult.RevocationReason">
      <summary>
            Gets revocation reason of the revoked certificate.
            </summary>
      <returns>If the revocation reason extension is present, returns the reason from that extension; otherwise returns null (Nothing in VB.NET).</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus">
      <summary>
            Certificate revocation list status.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.Valid">
      <summary>
            The CRL is valid (make sure to check the issuer certificate for validity as well).
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.TimeNotValid">
      <summary>
            The CRL has expired or is not valid yet.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.IssuerMismatch">
      <summary>
            The CRL has not been issued by the specified issuer.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.UnknownCriticalExtension">
      <summary>
            The CRL contains an unsupported critical extension.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.WrongCrlUpdateTime">
      <summary>
            The CRL update time is outside the issuer certificate's time validity range.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.WrongIssuerUsage">
      <summary>
            The CRL issuer is not intended to issue CRLs.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.SignatureNotValid">
      <summary>
            The CRL signature is not valid.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListStatus.Malformed">
      <summary>
            Malformed structure of the CRL or its extensions.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateRevocationListCollection">
      <summary>
            Collection of certificate revocation lists.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificationRequest">
      <summary>
            PKCS #10 certification request. This is the standard certificate format.
            It is used (for example) by Internet Explorer's XEnroll control, but non-IE browsers generally use <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedPublicKeyAndChallenge" /> instead.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.#ctor(Rebex.Security.Certificates.DistinguishedName,Rebex.Security.Cryptography.Pkcs.PublicKeyInfo)">
      <summary>
            Creates a new PKCS #10 request for the specified subject and public key.
            </summary>
      <param name="subject">Request subject.</param>
      <param name="publicKey">Request public key.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.#ctor(System.Byte[])">
      <summary>
            Parses a PKCS #10 request from an ASN.1 block.
            </summary>
      <param name="request">ASN.1 block.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Save(System.String)">
      <summary>
            Saves the certification request to the supplied file. 
            </summary>
      <param name="filePath">Path to the file to save the certification request to. If the file exists, it is overwritten.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Save(System.IO.Stream)">
      <summary>
            Saves the certification request to the supplied stream. 
            </summary>
      <param name="stream">Stream to save the certification request to.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Validate">
      <summary>
            Validates the PKCS #10 request's signature.
            </summary>
      <returns>True if valid; false if not valid.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Validate(Rebex.Security.Certificates.DistinguishedName)">
      <summary>
            Validates the PKCS #10 request's signature.
            </summary>
      <param name="subject">Subject - in practice, this is used in place of a challenge string.</param>
      <returns>True if valid; false if not valid.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Sign(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo,Rebex.Security.Certificates.SignatureHashAlgorithm)">
      <summary>
            Signs the certification request using a private key corresponding to the request's public key.
            </summary>
      <param name="privateKey">An instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />.</param>
      <param name="signatureHashAlgorithm">Hash algorithm to use for the signature.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Sign(Rebex.Security.Cryptography.AsymmetricKeyAlgorithm,Rebex.Security.Certificates.SignatureHashAlgorithm)">
      <summary>
            Signs the certification request using a private key corresponding to the request's public key.
            </summary>
      <param name="algorithm">An instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" /> representing the private key.</param>
      <param name="signatureHashAlgorithm">Hash algorithm to use for the signature.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Sign(System.Security.Cryptography.AsymmetricAlgorithm,Rebex.Security.Certificates.SignatureHashAlgorithm)">
      <summary>
            Signs the certification request using a private key corresponding to the request's public key.
            </summary>
      <param name="algorithm">An instance of asymmetric algorithm such as RSACryptoServiceProvider, DSACryptoServiceProvider, RSAManaged or DSAManaged.</param>
      <param name="signatureHashAlgorithm">Hash algorithm to use for the signature.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificationRequest.PublicKey">
      <summary>
            Gets the PKCS #10 request's public key info. This includes the key itself.
            </summary>
      <value>Public key info.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Subject">
      <summary>
            Gets the PKCS #10 request's subject.
            </summary>
      <value>Request subject.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.GetAlternativeHostnames">
      <summary>
            Gets list of alternative hostnames.
            </summary>
      <returns>List of alternative hostnames.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Attributes">
      <summary>
            Gets the PKCS #10 request's attributes.
            </summary>
      <value>Request attributes.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.CertificationRequest.CertificateExtensions">
      <summary>
            Gets the PKCS #10 request's certificate extension collection (represented by 1.2.840.113549.1.9.14 attribute in <see cref="P:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Attributes" /> collection).
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificationRequest.Encode">
      <summary>
            Gets ASN.1 encoded form of this <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificationRequest" /> object.
            </summary>
      <returns>Array of bytes.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.ContentInfo">
      <summary>
            The <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo" /> class represents the CMS/PKCS #7 ContentInfo data structure.
            It encapsulates the content of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> or <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> messages.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.#ctor(System.Byte[])">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo" /> using the specified array of bytes
            as content and an object identifier "data" as content type. 
            </summary>
      <param name="content">The message content.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
      <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo" /> using the specified array of bytes
            as content and the specified object identifier as content type. 
            </summary>
      <param name="contentType">The message content type.</param>
      <param name="content">The message content.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.ContentInfo.ContentType">
      <summary>
            Gets the object identifier of the CMS/PKCS #7 message content type.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.ToArray">
      <summary>
            Gets the content of the CMS/PKCS #7 message.
            </summary>
      <value>An array of bytes that represent the content data.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.CopyTo(System.IO.Stream)">
      <summary>
            Copies the content of the CMS/PKCS #7 message into the supplied stream.
            </summary>
      <param name="output">Stream into which the content will be written.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.ToStream">
      <summary>
            Returns a Stream representation of the content.
            </summary>
      <returns>Stream.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData">
      <summary>
            Represents a CMS/PKCS #7 encrypted data.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.CertificateFinder">
      <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder" /> to be used to find certificates
            corresponding to a <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier" />.
            </summary>
      <value>The certificate finder.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Silent">
      <summary>
            Gets or sets a value indicating whether cryptographic providers
            are allowed to display any user interface (UI) when working with private keys.
            </summary>
      <value>A value indicating whether a cryptographic provider can display a UI.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.UseDer">
      <summary>
            Gets or sets a value indicating whether to use DER encoding rules when encoding <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" />.
            </summary>
      <remarks>
            When set to false, BER encoding is used.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.IgnoreRedundantData">
      <summary>
            Gets or sets a value indicating whether to ignore redundant data in ASN.1 structure.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.IsEncrypted">
      <summary>
            Gets a value indicating whether the content is encrypted.
            </summary>
      <value>A value indicating whether the content is encrypted.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.UnprotectedAttributes">
      <summary>
            Gets the collection of unprotected (unencrypted) attributes associated with this CMS/PKCS #7 message.
            </summary>
      <value>Unprotected attribute collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Certificates">
      <summary>
            Gets the collection of certificates that are embedded in the message.
            </summary>
      <value>Collection of certificates</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.CertificateRevocationLists">
      <summary>
            Gets the collection of certificate revocation lists (CRLs) that are embedded in the message.
            </summary>
      <value>Collection of CRLs</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.RecipientInfos">
      <summary>
            Gets the collection of recipients associated with this CMS/PKCS #7 message.
            </summary>
      <value>A collection of recipients.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.ContentInfo">
      <summary>
            Gets the inner content information for this CMS/PKCS #7 message.
            It contains the content type identifier and content data.
            </summary>
      <value>The inner content.</value>
      <remarks>
            This method returns the encrypted content for parsed messages
            and unencrypted content for newly created messages. To encrypt or decrypt
            the content, use <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encrypt" /> and <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decrypt" /> methods.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.ContentEncryptionAlgorithm">
      <summary>
            Gets the identifier of the algorithm used to encrypt the content.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> object.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.HasPrivateKey">
      <summary>
            Returns a value indicating whether the private key to decrypt the symmetric key
            and encrypted content is available.
            </summary>
      <value>True if the private key is available, false if it isn't.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.AcquirePrivateKey">
      <summary>
            Tries acquiring a private key unless it is already available.
            </summary>
      <value>True if the key has been acquired, false otherwise.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.GetSymmetricKey">
      <summary>
            Gets the symmetric key used to encrypt the message,
            or null if it cannot be retrieved.
            </summary>
      <returns>The symmetric key used to encrypt the message, or null.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.GetSymmetricAlgorithm">
      <summary>
            Gets the symmetric algorithm used to encrypt or decrypt the content,
            or null if it cannot be retrieved.
            </summary>
      <returns>The <see cref="T:System.Security.Cryptography.SymmetricAlgorithm" />.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encrypt">
      <summary>
            Encrypts the contents of the CMS/PKCS #7 message.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decrypt">
      <summary>
            Decrypts the contents of the CMS/PKCS #7 message.
            </summary>
      <remarks>For a successful decryption, a symmetric key must be available.</remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decode(System.Byte[])">
      <summary>
            Decodes an encoded CMS/PKCS #7 encrypted message from raw data.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" />
            methods and properties.
            </summary>
      <param name="encodedMessage">Arrays of bytes representing a CMS/PKCS #7 message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encode">
      <summary>
            Encodes the <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> object into CMS/PKCS #7 message data.
            </summary>
      <returns>Array of bytes representing a CMS/PKCS #7 message.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.IsEnvelopedData(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Determines whether the specified content info ASN.1 sequence is an enveloped data sequence.
            </summary>
      <param name="data">Sequence data.</param>
      <param name="offset">Offset.</param>
      <param name="count">Count.</param>
      <returns>True if yes; false if not.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Load(System.IO.Stream)">
      <summary>
            Loads a CMS/PKCS #7 encrypted message from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" />
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Save(System.IO.Stream)">
      <summary>
            Saves <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> into a stream.
            </summary>
      <param name="output">A stream to which to save the message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Clone">
      <summary>
            Creates a copy of this object.
            </summary>
      <returns>A new object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> class.
            It must be initialized using <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Load(System.IO.Stream)" /> or <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decode(System.Byte[])" /> methods before
            any other methods and properties can be accessed.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> class using the specified content
            information as the inner content.
            </summary>
      <param name="contentInfo">The inner content of the encrypted message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,Rebex.Security.Cryptography.ObjectIdentifier)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> class using the specified content
            information and encryption algorithm.
            </summary>
      <param name="contentInfo">The inner content of the encrypted message.</param>
      <param name="encryptionAlgorithm">Encryption algorithm identifier (see remarks). Can be null for 3DES.</param>
      <remarks>
            Currently, 3DES ("1.2.840.113549.3.7"),
            AES ("2.16.840.1.101.3.4.1.2" for 128-bit, "2.16.840.1.101.3.4.1.22" for 192-bit and "2.16.840.1.101.3.4.1.42" for 256-bit),
            DES ("1.3.14.3.2.7") and RC2 ("1.2.840.113549.3.2") algorithms are supported.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,Rebex.Security.Cryptography.ObjectIdentifier,System.Int32)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> class using the specified content
            information and encryption algorithm.
            </summary>
      <param name="contentInfo">The inner content of the encrypted message.</param>
      <param name="encryptionAlgorithm">Encryption algorithm identifier (see remarks). Can be null for 3DES.</param>
      <param name="keyLength">The effective key length in bits (only used by RC2 algorithm).</param>
      <remarks>
            Currently, 3DES ("1.2.840.113549.3.7"),
            AES ("2.16.840.1.101.3.4.1.2" for 128-bit, "2.16.840.1.101.3.4.1.22" for 192-bit and "2.16.840.1.101.3.4.1.42" for 256-bit),
            DES ("1.3.14.3.2.7") and RC2 ("1.2.840.113549.3.2") algorithms are supported.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder">
      <summary>
            Defines the interface that certificate finder classes must implement.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.ICertificateFinder.Find(Rebex.Security.Cryptography.Pkcs.SubjectIdentifier,Rebex.Security.Certificates.CertificateStore)">
      <summary>
            Finds a certificate corresponding to the specified subject identifier.
            </summary>
      <param name="subjectIdentifier">Identifier of the subject certificate.</param>
      <param name="additionalStore">A certificate store containing the certificates that were included with the message.</param>
      <returns>Certificate chain if found, or null (Nothing in Visual Basic).</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateFinder">
      <summary>
            Provides a set of common certificate finders.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateFinder.CreateFinder(Rebex.Security.Certificates.CertificateChain[])">
      <summary>
            Certificate finder.
            </summary>
      <param name="certificates">CertificateChain array.</param>
      <returns>A new instance of ICertificateFinder.</returns>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateFinder.Default">
      <summary>
            Default certificate finder.
            </summary>
      <remarks>
            Searches for certificates in the current user's "My",
            "Trusted people" and "Other people" stores.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.PkcsBase">
      <summary>
            Base class for various PKCS objects.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PkcsBase.LoadSignedOrEnvelopedData(System.IO.Stream,Rebex.Security.Cryptography.Pkcs.ICertificateFinder,System.Boolean)">
      <summary>
            Loads a CMS/PKCS #7 signed or enveloped message from a stream.
            Returns an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> for signed message, <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> for enveloped message, or null for
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the message.</param>
      <param name="finder">Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder" /> to be used to find certificates corresponding to a <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier" />.</param>
      <param name="silent">A value indicating whether cryptographic providers are permitted to display a user interface.</param>
      <returns>An instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" />, <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData" /> or null.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat">
      <summary>
            Specifies private key file format.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.Base64Pkcs8">
      <summary>Base64-encoded PKCS #8 format.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.Putty">
      <summary>PuTTY PPKv2 format.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.OpenSsh">
      <summary>OpenSSH/OpenSSL SSLeay format.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.RawPkcs8">
      <summary>Raw PKCS #8 format.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.NewOpenSsh">
      <summary>New OpenSSH format with bcrypt key expansion (Base64-encoded keys with "BEGIN OPENSSH PRIVATE KEY" header).</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat.PPK3">
      <summary>PuTTY PPKv3 format.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo">
      <summary>
            Represents a private key.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />. Use the <see cref="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.IO.Stream,System.String)" /> method to load a private key.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" /> that clones the supplied instance.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(System.Security.Cryptography.RSAParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" /> based on the specified RSA parameters.
            </summary>
      <param name="parameters">RSA parameters including private keys.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(System.Security.Cryptography.DSAParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" /> based on the specified DSA parameters.
            </summary>
      <param name="parameters">DSA parameters including private keys.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Generate(Rebex.Security.Certificates.KeyAlgorithm)">
      <summary>
            Generates a private key using the specified algorithm and default key size.
            </summary>
      <param name="algorithm">Key algorithm.</param>
      <returns>An instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Generate(Rebex.Security.Certificates.KeyAlgorithm,System.Int32)">
      <summary>
            Generates a private key using the specified algorithm and key size.
            </summary>
      <param name="algorithm">Key algorithm.</param>
      <param name="keySize">Key size. Specify 0 to use default key size.</param>
      <returns>An instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.KeyAlgorithm">
      <summary>
            Gets the key algorithm identifier.
            </summary>
      <value>Key algorithm identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Comment">
      <summary>
            Gets or sets the key comment. The comment is used while saving in some formats.
            </summary>
      <value>Key comment.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.ToBytes">
      <summary>
            Gets the raw form of the private key.
            </summary>
      <returns>Array of bytes.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetPublicKey">
      <summary>
            Gets a public key corresponding to the private key.
            </summary>
      <returns>An instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" />.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetDSAParameters">
      <summary>
            Gets the DSA parameters for a DSA key. May only be used for DSA private keys.
            </summary>
      <returns>DSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetRSAParameters">
      <summary>
            Gets the RSA parameters for a RSA key. May only be used for RSA private keys.
            </summary>
      <returns>RSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Encode">
      <summary>
            Gets ASN.1 encoded form of this <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" /> object.
            </summary>
      <returns>Array of bytes.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.IO.Stream,System.String,Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat)">
      <summary>
            Saves the private key into the supplied stream in the specified format.
            </summary>
      <param name="output">A stream to which to save the private key.</param>
      <param name="password">Password to encrypt the private key, or null if no encryption desired.</param>
      <param name="format">Private key file format.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.IO.Stream,System.Byte[],Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat)">
      <summary>
            Saves the private key into the supplied stream in the specified format.
            </summary>
      <param name="output">A stream to which to save the private key.</param>
      <param name="password">Password to encrypt the private key, or null if no encryption desired.</param>
      <param name="format">Private key file format.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.String,System.String,Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat)">
      <summary>
            Saves the private key into the supplied stream in the specified format.
            </summary>
      <param name="fileName">A file to which to save the public key.</param>
      <param name="password">Password to encrypt the private key, or null if no encryption desired.</param>
      <param name="format">Private key file format.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.IO.Stream,System.String,Rebex.Security.Cryptography.ObjectIdentifier)">
      <summary>
            Saves the private key into the supplied stream in Base64-encoded PKCS #8 format.
            </summary>
      <param name="output">A stream to which to save the private key.</param>
      <param name="password">Password to encrypt the private key, or null if no encryption desired.</param>
      <param name="encryptionAlgorithm">Encryption algorithm identifier. Ignored if password is null.</param>
      <remarks>
            Currently, AES-128 ("2.16.840.1.101.3.4.1.2"), AES-192 ("2.16.840.1.101.3.4.1.22"), AES-256 ("2.16.840.1.101.3.4.1.42"),
            3DES ("1.2.840.113549.3.7"), DES ("1.3.14.3.2.7"), and RC2 ("1.2.840.113549.3.2") algorithms are supported
            and SHA-1 is used. For AES-256 with SHA-256, use <see cref="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.IO.Stream,System.String,Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat)" /> method.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.IO.Stream,System.String)">
      <summary>
            Loads a PKCS #8, PuTTY or SSLeay (OpenSSL/OpenSSH) format private key from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the private key.</param>
      <param name="password">Password used to encrypt the private key, or null if no password needed.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.IO.Stream,System.Byte[])">
      <summary>
            Loads a PKCS #8, PuTTY or SSLeay (OpenSSL/OpenSSH) format private key from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the private key.</param>
      <param name="password">Password used to encrypt the private key, or null if no password needed.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.String,System.String)">
      <summary>
            Loads a PKCS #8, PuTTY or SSLeay (OpenSSL/OpenSSH) format private key from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo" />
            methods and properties.
            </summary>
      <param name="fileName">A file from which to load the private key.</param>
      <param name="password">Password used to encrypt the private key, or null if no password needed.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo">
      <summary>
            Represents a public key.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" />. Use the <see cref="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Load(System.IO.Stream)" /> method to load a public key.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.#ctor(System.Security.Cryptography.RSAParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" /> based on the specified RSA parameters.
            </summary>
      <param name="parameters">RSA parameters.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.#ctor(System.Security.Cryptography.DSAParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" /> based on the specified DSA parameters.
            </summary>
      <param name="parameters">DSA parameters.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.KeyAlgorithm">
      <summary>
            Gets the key algorithm identifier.
            </summary>
      <value>Key algorithm identifier.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.ToBytes">
      <summary>
            Gets the raw form of the public key.
            </summary>
      <returns>Array of bytes.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Encode">
      <summary>
            Gets ASN.1 encoded form of this <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" /> object.
            </summary>
      <returns>Array of bytes.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.GetDSAParameters">
      <summary>
            Gets the DSA parameters for a DSA public key. May only be used for DSA public keys.
            </summary>
      <returns>DSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.GetRSAParameters">
      <summary>
            Gets the RSA parameters for a RSA public key. May only be used for RSA public keys.
            </summary>
      <returns>RSA parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.GetKeySize">
      <summary>
            Returns the size of the key in bits.
            </summary>
      <returns>Size of the key in bits.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.GetKeyAlgorithm">
      <summary>
            Returns the key algorithm.
            </summary>
      <returns>Key algorithm.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Save(System.IO.Stream)">
      <summary>
            Saves the public key into the supplied stream in Base64-encoded PKCS #8 format.
            </summary>
      <param name="output">A stream to which to save the public key.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Save(System.String)">
      <summary>
            Saves the public key into the supplied stream in Base64-encoded PKCS #8 format.
            </summary>
      <param name="fileName">A file to which to save the public key.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Load(System.IO.Stream)">
      <summary>
            Loads a PKCS #8 public key from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" />
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the public key.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo.Load(System.String)">
      <summary>
            Loads a PKCS #8 public key from a file.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PublicKeyInfo" />
            methods and properties.
            </summary>
      <param name="fileName">A file from which to load the public key.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo">
      <summary>
            Represents a CMS/PKCS #7 encrypted message recipient.
            This class is inherited by <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo" /> and <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo" /> classes. 
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.RecipientIdentifier">
      <summary>
            Gets the identifier of the recipient.
            </summary>
      <value>Identifier of the recipient.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.KeyEncryptionAlgorithm">
      <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> object.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfo.GetEncryptionParameters">
      <summary>
            Gets signature parameters (if available).
            </summary>
      <returns>Signature parameters.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.EncryptedKey">
      <summary>
            Gets the encrypted key for the recipient.
            </summary>
      <value>Encrypted key.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.Certificate">
      <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate, or null.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.CertificateChain">
      <summary>
            Gets the certificate chain associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate chain, or null.</remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo">
      <summary>
            Defines key transport recipient information, typically using the RSA algorithm to
            encrypt the shared symmetric key to transport.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo" /> that defines the
            key transport recipient information for the owner of the specified RSA certificate.
            Use <see cref="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.EncryptionParameters)" /> to specify RSAES-OAEP parameters.
            </summary>
      <param name="recipientCertificate">The recipient's certificate.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo" /> that defines the
            key transport recipient information for the owner of the specified RSA certificate.
            Use <see cref="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.EncryptionParameters,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)" /> to specify RSAES-OAEP parameters.
            </summary>
      <param name="recipientCertificate">The recipient's certificate.</param>
      <param name="recipientIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.EncryptionParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo" /> that defines the
            key transport recipient information for the owner of the specified RSA certificate.
            </summary>
      <param name="recipientCertificate">The recipient's certificate.</param>
      <param name="encryptionParameters">Encryption parameters (to specify RSAES-OAEP parameters). Can be null (for PKCS #1).</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.EncryptionParameters,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo" /> that defines the
            key transport recipient information for the owner of the specified RSA certificate.
            </summary>
      <param name="recipientCertificate">The recipient's certificate.</param>
      <param name="recipientIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
      <param name="encryptionParameters">Encryption parameters (to specify RSAES-OAEP parameters). Can be null (for PKCS #1).</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.RecipientIdentifier">
      <summary>
            Gets the identifier of the recipient.
            </summary>
      <value>Identifier of the recipient.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.KeyEncryptionAlgorithm">
      <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> object.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.GetEncryptionParameters">
      <summary>
            Gets signature parameters (if available).
            </summary>
      <returns>Signature parameters.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.EncryptedKey">
      <summary>
            Gets the encrypted key for the recipient.
            </summary>
      <value>Encrypted key.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.Certificate">
      <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate, or null.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.CertificateChain">
      <summary>
            Gets the certificate chain associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate chain, or null.</remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo">
      <summary>
            Defines key agreement algorithm recipient information. The key itself is not transported - the two
            parties that will be using a symmetric key both take part in its generation. Please note that
            this method is not yet fully supported by Rebex Security library.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.OriginatorIdentifier">
      <summary>
            Gets the identifier of the key originator.
            </summary>
      <value>Identifier of the key originator.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.RecipientIdentifier">
      <summary>
            Gets the identifier of the recipient.
            </summary>
      <value>Identifier of the recipient.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.KeyEncryptionAlgorithm">
      <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> object.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.EncryptedKey">
      <summary>
            Gets the encrypted key for the recipient.
            </summary>
      <value>Encrypted key.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.Certificate">
      <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate, or null.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.CertificateChain">
      <summary>
            Gets the certificate chain associated with the recipient, or null if not available.
            </summary>
      <remarks>The recipient's certificate chain, or null.</remarks>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection">
      <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo" /> objects.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.#ctor">
      <summary>
            Creates an empty and read-only instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignedData">
      <summary>
            Represents a CMS/PKCS #7 signed data.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.IncludeOption">
      <summary>
            Specifies what parts of the certificate chain should be included in the signed data.
            </summary>
      <value>Certificate include option.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.CertificateFinder">
      <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder" /> to be used to find certificates
            corresponding to a <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier" />.
            </summary>
      <value>The certificate finder.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Silent">
      <summary>
            Gets or sets a value indicating whether cryptographic providers
            are allowed to display any user interface (UI) when working with private keys.
            </summary>
      <value>A value indicating whether cryptographic providers can display a UI.</value>
      <remarks>
            In case of signing, the actual behavior is determined by the combination of this value and the value of
            <see cref="P:Rebex.Security.Cryptography.SignatureParameters.Silent" /> passed to associated <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> objects.
            Cryptographic providers are only permitted to display a UI if both Silent properties are set to true.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.UseDer">
      <summary>
            Gets or sets a value indicating whether to use DER encoding rules when encoding <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" />.
            </summary>
      <remarks>
            When set to false, BER encoding is used.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.IgnoreRedundantData">
      <summary>
            Gets or sets a value indicating whether to ignore redundant data in ASN.1 structure.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Certificates">
      <summary>
            Gets the collection of certificates that are embedded in the message.
            </summary>
      <value>Collection of certificates</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.CertificateRevocationLists">
      <summary>
            Gets the collection of certificate revocation lists (CRLs) that are embedded in the message.
            </summary>
      <value>Collection of CRLs</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.SignerInfos">
      <summary>
            Gets the collection of signers associated with this CMS/PKCS #7 message.
            </summary>
      <value>A collection of signers.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.ContentInfo">
      <summary>
            Gets or sets the inner content information for this CMS/PKCS #7 message.
            It contains the content type identifier and content data.
            </summary>
      <value>The inner content.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Detached">
      <summary>
            Gets or sets a value indicating whether the actual content is detached from the message.
            </summary>
      <value>True if the content is detached; False if the content is embedded within the message.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Sign">
      <summary>
            Creates a signatures for all signers that do not have one yet.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Sign(Rebex.Security.Cryptography.Pkcs.SignatureOptions)">
      <summary>
            Creates a signatures for all signers that do not have one yet.
            </summary>
      <param name="options">Signature options.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Validate">
      <summary>
            Validates all digital signatures on this CMS/PKCS #7 signed message
            and validates all the signers' certificates.
            </summary>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Validates all digital signatures on this CMS/PKCS #7 signed message.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
      <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
      <param name="options">Signature and certificate validation options.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Validates all digital signatures on this CMS/PKCS #7 signed message.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
      <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
      <param name="options">Signature and certificate validation options.</param>
      <param name="engine">Certificate chain engine.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Decode(System.Byte[])">
      <summary>
            Decodes an encoded CMS/PKCS #7 signed message from raw data.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" />
            methods and properties.
            </summary>
      <param name="encodedMessage">Array of bytes representing a CMS/PKCS #7 message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Encode">
      <summary>
            Encodes the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> object into CMS/PKCS #7 message data.
            </summary>
      <returns>Array of bytes representing a CMS/PKCS #7 message.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.IsSignedData(System.Byte[],System.Int32,System.Int32)">
      <summary>
            Determines whether the specified content info ASN.1 sequence is a signed data sequence.
            </summary>
      <param name="data">Sequence data.</param>
      <param name="offset">Offset.</param>
      <param name="count">Count.</param>
      <returns>True if yes; false if not.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Load(System.IO.Stream)">
      <summary>
            Loads a CMS/PKCS #7 signed message from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" />
            methods and properties.
            </summary>
      <param name="input">A stream from which to load the message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Save(System.IO.Stream)">
      <summary>
            Saves <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> into a stream.
            </summary>
      <param name="output">A stream to which to save the message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Clone">
      <summary>
            Creates a copy of this object.
            </summary>
      <returns>A new object.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> class using the specified content
            information as the inner content.
            </summary>
      <param name="contentInfo">The inner content of the signed message.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,System.Boolean)">
      <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData" /> class using the specified content
            information as the inner content.
            </summary>
      <param name="contentInfo">The inner content of the signed message.</param>
      <param name="detached">
            Specifies whether the signature is detached.
            If detached, the actual content is not included within the signed message.
            </param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption">
      <summary>
            Specifies what parts of the certificate chain should be included in the message.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.LeaveExisting">
      <summary>Leave the existing certificate in the collection.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.None">
      <summary>The certificate chain is not included.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.ExcludeRoot">
      <summary>The certificate chain is included, except for the root certificate.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.EndCertificateOnly">
      <summary>Only the end certificate is included.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.WholeChain">
      <summary>The certificate chain, including the root certificate, is included.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignedPublicKeyAndChallenge">
      <summary>
            A SPKAC certificate request. This is used by Mozilla, Opera and other browsers except Internet Explorer.
            For Internet Explorer, use <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificationRequest" />.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedPublicKeyAndChallenge.#ctor(System.Byte[])">
      <summary>
            Creates a SPKAC request from an ASN.1 block.
            </summary>
      <param name="request">ASN.1 block.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignedPublicKeyAndChallenge.Validate(System.String)">
      <summary>
            Validates the SPKAC request's signature.
            </summary>
      <param name="challenge">Challenge string.</param>
      <returns>True if valid; false if not valid.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignedPublicKeyAndChallenge.PublicKey">
      <summary>
            Gets the SPKAC request's public key info. This includes the key itself.
            </summary>
      <value>Public key info.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignerInfo">
      <summary>
            Represents a CMS/PKCS #7 message signer.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignerIdentifier">
      <summary>
            Gets the identifier of the signer.
            </summary>
      <value>Identifier of the signer.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.DigestAlgorithm">
      <summary>
            Gets the identifier of the digest algorithm.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier" /> object.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.ToDigestAlgorithm">
      <summary>
            Gets a value that identifies the digest algorithm.
            </summary>
      <returns>Digest algorithm.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignatureAlgorithm">
      <summary>
            Gets the identifier of the signature algorithm.
            </summary>
      <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier" /> object.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Signature">
      <summary>
            Gets the signature, or null if it is not available yet.
            </summary>
      <value>The signature.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignedAttributes">
      <summary>
            Gets the collection of signed attributes associated with this CMS/PKCS #7 message.
            </summary>
      <value>Signed attribute collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.UnsignedAttributes">
      <summary>
            Gets the collection of unsigned attributes associated with this CMS/PKCS #7 message.
            </summary>
      <value>Unsigned attribute collection.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Certificate">
      <summary>
            Gets the certificate associated with the signer, or null if not available.
            </summary>
      <remarks>The signer's certificate, or null.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.CertificateChain">
      <summary>
            Gets the certificate chain associated with the signer, or null if not available.
            </summary>
      <remarks>The signer's certificate chain, or null.</remarks>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SigningTime">
      <summary>
            Gets the signing time, or 1970-01-01 if not available.
            </summary>
      <value>Singing time.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.EncryptionKeyPreference">
      <summary>
            Gets the preferred subject identifier for key encryption.
            </summary>
      <value>The preferred subject identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Capabilities">
      <summary>
            Gets the collection of S/MIME capabilities the signer supports.
            </summary>
      <value>Collection of supported S/MIME capabilities.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.GetSignatureParameters">
      <summary>
            Gets signature parameters (if available).
            </summary>
      <returns>Signature parameters.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Validate">
      <summary>
            Validates the signer's digital signature and validates the certificate.
            </summary>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Validates the signer's digital signatures.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
      <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
      <param name="options">Signature and certificate validation options.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Validates the signer's digital signatures.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
      <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
      <param name="options">Signature and certificate validation options.</param>
      <param name="engine">Certificate chain engine.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Sign">
      <summary>
            Creates a signatures for the signer.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Sign(Rebex.Security.Cryptography.Pkcs.SignatureOptions)">
      <summary>
            Creates a signature for the signer.
            </summary>
      <param name="options">Signature options.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> that defines
            a signer corresponding to the specified certificate. An associated private
            key for the certificate must be available.
            Use <see cref="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.SignatureParameters)" /> to specify RSASSA-PSS parameters.
            </summary>
      <param name="signerCertificate">The signer's certificate.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> that defines
            a signer corresponding to the specified certificate. An associated private
            key for the certificate must be available.
            Use <see cref="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.SignatureParameters,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)" /> to specify RSASSA-PSS parameters.
            </summary>
      <param name="signerCertificate">The signer's certificate.</param>
      <param name="signerIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType,Rebex.Security.Certificates.SignatureHashAlgorithm)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> that defines
            a signer corresponding to the specified certificate. An associated private
            key for the certificate must be available.
            Use <see cref="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.SignatureParameters,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)" /> to specify RSASSA-PSS parameters.
            </summary>
      <param name="signerCertificate">The signer's certificate.</param>
      <param name="signerIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
      <param name="digestAlgorithm">Digest algorithm.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.SignatureParameters)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> that defines
            a signer corresponding to the specified certificate. An associated private
            key for the certificate must be available.
            </summary>
      <param name="signerCertificate">The signer's certificate.</param>
      <param name="signatureParameters">Signature parameters (to specify RSASSA-PSS parameters). Can be null (for PKCS #1).</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.SignatureParameters,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> that defines
            a signer corresponding to the specified certificate using the
            specified subject identifier type. An associated private
            key for the certificate must be available. 
            </summary>
      <param name="signerCertificate">The signer's certificate.</param>
      <param name="signatureParameters">Signature parameters (to specify RSASSA-PSS parameters). Can be null (for PKCS #1).</param>
      <param name="signerIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection">
      <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo" /> objects.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.#ctor">
      <summary>
            Creates an empty and read-only instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignatureOptions">
      <summary>
            Options for <see cref="M:Rebex.Security.Cryptography.Pkcs.SignedData.Sign(Rebex.Security.Cryptography.Pkcs.SignatureOptions)" /> and <see cref="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Sign(Rebex.Security.Cryptography.Pkcs.SignatureOptions)" /> methods.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureOptions.DisableSignedAttributes">
      <summary>Don't include any signed attributes in the signature. Not recommended.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureOptions.DisableMicrosoftExtensions">
      <summary>Don't include key Microsoft extensions in the signature attributes.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureOptions.DisableSMimeCapabilities">
      <summary>Don't include S/MIME capabilities extensions in the signature attributes.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureOptions.SkipCertificateUsageCheck">
      <summary>Skip certificate usage check.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus">
      <summary>
            Signature validation status.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.CertificateNotValid">
      <summary>Certificate is not valid.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.CertificateNotAvailable">
      <summary>Certificate is not available.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.UnsupportedDigestAlgorithm">
      <summary>A digest algorithm is not supported.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.UnsupportedSignatureAlgorithm">
      <summary>A signature algorithm is not supported.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.InvalidSignature">
      <summary>A signature is invalid.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.InvalidKeyUsage">
      <summary>Invalid key usage. The certificate usage doesn't include message signing.</summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.ContentTypeMismatch">
      <summary>Content type mismatch.</summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult">
      <summary>
            Represents the result of signature validation.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.Status">
      <summary>
            Gets the status mask.
            </summary>
      <value>Status mask.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.CertificateValidationStatus">
      <summary>
            Gets the certificate validation status mask.
            </summary>
      <value>Certificate validation status mask.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.Valid">
      <summary>
            Gets the certificate chain validity status.
            </summary>
      <value>True if valid, false if not valid.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability">
      <summary>
            Represents an S/MIME capability.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
      <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" /> with no parameters.
            </summary>
      <param name="oid">The object identifier that identifies the S//MIME capability.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
      <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" />.
            </summary>
      <param name="oid">The object identifier that identifies the S//MIME capability.</param>
      <param name="parameters">Capability parameters in ASN.1 format.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.Oid">
      <summary>
            Gets the object identifier that identifies the S/MIME capability.
            </summary>
      <value>The object identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.Parameters">
      <summary>
            Gets the S/MIME capability parameters.
            </summary>
      <value>An array of bytes in ASN.1 format.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection">
      <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" /> objects.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Item(System.Int32)">
      <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" /> at the specified index.
            </summary>
      <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" /> to get or set.</param>
      <value>An S/MIME capability.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Item(System.String)">
      <summary>
            Gets the first <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability" /> with the specified object identifier.
            </summary>
      <param name="oid">The object identifier, either friendly name or dotted string format.</param>
      <value>An S/MIME capability if found, or null if not found.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType">
      <summary>
            Defines the type of subject identifier that identifies a subject and a certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.Unknown">
      <summary>
            The type of subject identifier is unknown.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.IssuerAndSerialNumber">
      <summary>
            The subject is identified by the certificate issuer and serial number.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.SubjectKeyIdentifier">
      <summary>
            The subject is identified by the hash of the subject's public key. The hash algorithm used is determined by the signature algorithm suite in the subject's certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.PublicKey">
      <summary>
            The subject is identified by the subject's public key.
            </summary>
    </member>
    <member name="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier">
      <summary>
            The <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier" /> class identifies a subject, either by certificate issuer
            and serial number, by the subject key identifier or by a public key.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.Type">
      <summary>
            Gets the type of the subject identifier.
            </summary>
      <value>The type of the subject identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.Issuer">
      <summary>
            Gets the <see cref="T:Rebex.Security.Certificates.DistinguishedName" /> of the certificate issuer if
            this subject identifier is identified by the issuer name and serial number.
            Otherwise, this property will return null.
            </summary>
      <value>Certificate issuer.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.SerialNumber">
      <summary>
            Gets the serial number of the certificate if
            this subject identifier is identified by the issuer name and serial number.
            Otherwise, this property will return null.
            </summary>
      <value>Certificate serial number.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.SubjectKeyIdentifier">
      <summary>
            Gets the subject key identifier of the certificate if
            this subject identifier is identified by the subject key identifier.
            Otherwise, this property will return null.
            </summary>
      <value>Certificate subject key identifier.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.PublicKeyAlgorithm">
      <summary>
            Gets the public algorithm of the certificate if
            this subject identifier is identified by the public key.
            Otherwise, this property will return null.
            </summary>
      <value>Certificate public key algorithm.</value>
    </member>
    <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.PublicKey">
      <summary>
            Gets the public of the certificate if
            this subject identifier is identified by the public key.
            Otherwise, this property will return null.
            </summary>
      <value>Certificate public key.</value>
    </member>
    <member name="T:Rebex.Security.Cryptography.CryptographicCollection`1">
      <summary>
            A base class for various collections of cryptographic objects.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptographicCollection`1.IsReadOnly">
      <summary>
            Returns a value indicating whether the collection is read-only.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.Add(`0)">
      <summary>
            Adds an item to the collection.
            </summary>
      <param name="item">Item to add.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.Clear">
      <summary>
            Removes all elements from the collection.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.Contains(`0)">
      <summary>
            Determines whether the collection contains the specified item.
            </summary>
      <param name="item">Item.</param>
      <returns>True if the collection contains the item; false if it does not.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.IndexOf(`0)">
      <summary>
            Returns a position of the specified item within the collection, or -1 if not found.
            </summary>
      <param name="item">Item to find.</param>
      <returns>Zero-based position of the item; or -1 if not found.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.CopyTo(`0[],System.Int32)">
      <summary>
            Copies the range of elements from the collection to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
      <param name="array">One-dimensional zero-based array that is the destination of the elements copied from the collection.</param>
      <param name="index">A zero-based index in the destination array at which copying begins.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.Remove(`0)">
      <summary>
            Removes an item from the collection.
            </summary>
      <param name="item">An item to remove.</param>
      <returns>True if the item was removed; false if not removed.</returns>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.RemoveAt(System.Int32)">
      <summary>
            Removes an item at the specified position from the collection.
            </summary>
      <param name="index">An index of an item to remove.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.Insert(System.Int32,`0)">
      <summary>
            Adds an item to the collection at the specified position.
            </summary>
      <param name="index">Position at which to insert the item.</param>
      <param name="item">Item to add.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptographicCollection`1.Item(System.Int32)">
      <summary>
            Gets or sets an instance of an item at the specified index.
            </summary>
      <param name="index">The zero-based index of the item to get or set.</param>
      <value>An item.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection`1.GetEnumerator">
      <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
      <returns>Enumerator.</returns>
    </member>
    <member name="T:Rebex.Security.Cryptography.CryptographicCollection">
      <summary>
            A base class for various collections of cryptographic objects.
            </summary>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptographicCollection.Count">
      <summary>
            Gets the number of items in the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" />.
            </summary>
      <value>The number of items in collection.</value>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection.GetEnumerator">
      <summary>
            Gets an <see cref="T:System.Collections.IEnumerator" /> for the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" />.
            </summary>
      <returns>An <see cref="T:System.Collections.IEnumerator" /> for the collection.</returns>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptographicCollection.IsSynchronized">
      <summary>
            Gets a value indicating whether access to the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" /> is synchronized.
            </summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.CryptographicCollection.CopyTo(System.Array,System.Int32)">
      <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" /> to a compatible one-dimensional
            <see cref="T:System.Array" />, starting at the specified index of the target array.
            </summary>
      <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" />.</param>
      <param name="index">A zero-based index in the destination array at which copying begins.</param>
    </member>
    <member name="P:Rebex.Security.Cryptography.CryptographicCollection.SyncRoot">
      <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Authentication.ChannelBinding">
      <summary>
            Holds the unique <see cref="P:Rebex.Security.Authentication.ChannelBinding.BindingData" /> that matches the binding <see cref="P:Rebex.Security.Authentication.ChannelBinding.Type" />.
            An instance of the type that plays a role of the low-level secure channel provides 
            a <see cref="T:Rebex.Security.Authentication.ChannelBinding" />. See remarks for details.
            <p>
            An instance of the <see cref="T:Rebex.Security.Authentication.ChannelBinding" /> can be tied with the authentication logic of the application 
            to prevent a man-in-the-middle (MITM) attack.
            </p><p>
            To set up a relationship between a secure channel and an authentication logic,
            set the <see cref="P:Rebex.Security.Authentication.SspiAuthentication.SecureChannelBinding" /> property to an <see cref="T:Rebex.Security.Authentication.ChannelBinding" /> instance.
            </p><p>
            See <a href="https://datatracker.ietf.org/doc/html/rfc5056">RFC 5056 - On the Use of Channel Bindings to Secure Channels</a> for details.
            </p></summary>
      <remarks>
            The following Rebex types provide <see cref="T:Rebex.Security.Authentication.ChannelBinding" />.
            Use their GetChannelBinding instance method to retrieve <see cref="T:Rebex.Security.Authentication.ChannelBinding" />.
            <ul><li><see cref="T:Rebex.Net.TlsSocket" /></li><li><see cref="T:Rebex.Net.TlsStream" /></li><li><see cref="T:Rebex.Net.TlsClientSocket" /></li><li><see cref="T:Rebex.Net.TlsServerSocket" /></li></ul></remarks>
      <seealso cref="P:Rebex.Security.Authentication.SspiAuthentication.SecureChannelBinding" />
      <seealso cref="M:Rebex.Net.TlsSocket.GetChannelBinding(Rebex.Security.Authentication.ChannelBindingSpecification)" />
      <seealso cref="M:Rebex.Net.TlsStream.GetChannelBinding(Rebex.Security.Authentication.ChannelBindingSpecification)" />
    </member>
    <member name="M:Rebex.Security.Authentication.ChannelBinding.#ctor(Rebex.Security.Authentication.ChannelBindingType,System.Byte[])">
      <summary>
             Initializes a new instance of the <see cref="T:Rebex.Security.Authentication.ChannelBinding" />.
             </summary>
      <param name="bindingType">Channel binding type.</param>
      <param name="bindingData">A byte array that contains binding data that matches the <paramref name="bindingType" />. Can be empty.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="bindingData" /> is null.
             </exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="bindingType" /> is invalid.
             </exception>
    </member>
    <member name="P:Rebex.Security.Authentication.ChannelBinding.Type">
      <summary>
            Get the channel binding type.
            </summary>
    </member>
    <member name="P:Rebex.Security.Authentication.ChannelBinding.BindingData">
      <summary>
            Gets the binding data that matches the binding <see cref="P:Rebex.Security.Authentication.ChannelBinding.Type" /> or an empty array when the binding data are unavailable.
            </summary>
    </member>
    <member name="P:Rebex.Security.Authentication.ChannelBinding.IsEmpty">
      <summary>
            Gets the indication whether the <see cref="P:Rebex.Security.Authentication.ChannelBinding.BindingData" /> array is empty.
            </summary>
      <c>true</c> if the <see cref="P:Rebex.Security.Authentication.ChannelBinding.BindingData" /> array is empty; otherwise, <c>false</c>.
        </member>
    <member name="M:Rebex.Security.Authentication.ChannelBinding.Equals(Rebex.Security.Authentication.ChannelBinding)">
      <summary>
            Determines whether the specified <paramref name="other" /> is equal to this object.
            </summary>
      <param name="other">The <see cref="T:Rebex.Security.Authentication.ChannelBinding" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="other" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.Security.Authentication.ChannelBinding.Equals(System.Object)">
      <summary>
            Determines whether the specified <paramref name="obj" /> is equal to this object.
            </summary>
      <param name="obj">The <see cref="T:System.Object" /> to compare with this object.</param>
      <returns>
        <c>true</c> if the specified <paramref name="obj" /> is equal to this object; otherwise, <c>false</c>.
            </returns>
    </member>
    <member name="M:Rebex.Security.Authentication.ChannelBinding.GetHashCode">
      <summary>
            Gets a hash code of this object.
            </summary>
      <returns>
            A hash code of this object.
            </returns>
    </member>
    <member name="M:Rebex.Security.Authentication.ChannelBinding.ToString">
      <summary>
            Returns a string representation of the current <see cref="T:Rebex.Security.Authentication.ChannelBinding" />.
            </summary>
      <returns>A string representation of this instance.</returns>
    </member>
    <member name="T:Rebex.Security.Authentication.ChannelBindingType">
      <summary>
            Specifies channel binding type. See <a href="https://datatracker.ietf.org/doc/html/rfc5056">RFC 5056</a>
            and <a href="https://datatracker.ietf.org/doc/html/rfc5929">RFC 5929</a> for details.
            </summary>
      <seealso cref="T:Rebex.Security.Authentication.ChannelBinding" />
    </member>
    <member name="F:Rebex.Security.Authentication.ChannelBindingType.Invalid">
      <summary>
            Invalid channel binding type.
            </summary>
    </member>
    <member name="F:Rebex.Security.Authentication.ChannelBindingType.TlsUnique">
      <summary>
            Represents 'tls-unique' channel binding type.
            See <a href="https://datatracker.ietf.org/doc/html/rfc5929#section-3"> section 3 of RFC 5929</a> for details.
            </summary>
    </member>
    <member name="F:Rebex.Security.Authentication.ChannelBindingType.TlsServerEndPoint">
      <summary>
            Represents 'tls-server-end-point' channel binding type.
            See <a href="https://datatracker.ietf.org/doc/html/rfc5929#section-4"> section 4 of RFC 5929</a> for details.
            </summary>
    </member>
    <member name="T:Rebex.Security.Authentication.SspiAuthentication">
      <summary>
            Wrapper class for SSPI authentication.
            </summary>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.#ctor(System.String,Rebex.Security.Authentication.SspiDataRepresentation,System.String,Rebex.Security.Authentication.SspiRequirements,System.String,System.String,System.String)">
      <summary>
            Creates a new SSPI session.
            </summary>
      <param name="package">Authentication package.</param>
      <param name="dataRepresentation">Data representation.</param>
      <param name="targetName">Target name.</param>
      <param name="requirements">Requirements.</param>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <param name="userDomain">User domain</param>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.#ctor(System.String,Rebex.Security.Authentication.SspiCredentialUsage,Rebex.Security.Authentication.SspiDataRepresentation,System.String,Rebex.Security.Authentication.SspiRequirements,System.String,System.String,System.String)">
      <summary>
            Creates a new SSPI session.
            </summary>
      <param name="package">Authentication package.</param>
      <param name="usage">Credential usage.</param>
      <param name="dataRepresentation">Data representation.</param>
      <param name="targetName">Target name.</param>
      <param name="requirements">Requirements.</param>
      <param name="userName">User name.</param>
      <param name="password">Password.</param>
      <param name="userDomain">User domain</param>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.Register(System.Func{System.String,System.Object})">
      <summary>
            Register authentication plugin.
            </summary>
      <param name="authFactory">Plugin's factory function.</param>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.Dispose">
      <summary>
            Disposes the SSPI session.
            </summary>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.GetNextMessage(System.Byte[],System.Boolean@)">
      <summary>
            Get next SSPI message.
            </summary>
      <param name="challenge">Challenge.</param>
      <param name="complete">Receives a value indicating whether the SSPI has finished.</param>
      <returns>Next SSPI message.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.VerifySignature(System.Byte[],System.Byte[])">
      <summary>
            Verifies an SSPI signature.
            </summary>
      <param name="message">Message.</param>
      <param name="signature">Signature.</param>
      <returns>True if valid, false otherwise.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.MakeSignature(System.Byte[])">
      <summary>
            Creates an SSPI signature.
            </summary>
      <param name="challenge">Challenge.</param>
      <returns>Signature.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.Unwrap(System.Byte[],System.Int32@)">
      <summary>
            Unwraps (decrypts) the SSPI message.
            </summary>
      <param name="challenge">Challenge.</param>
      <param name="qop">QOP</param>
      <returns>Unwrapped (decrypted) message.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.Wrap(System.Byte[],System.Int32,System.Boolean@)">
      <summary>
            Wraps (encrypts) SSPI message.
            </summary>
      <param name="response">Response.</param>
      <param name="qop">QOP.</param>
      <param name="complete">Receives a value indicating whether the SSPI has finished.</param>
      <returns>Wrapped (encrypted) message.</returns>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Authentication.SspiAuthentication.SecureChannelBinding">
      <summary>
            Gets or sets the instance of the <see cref="T:Rebex.Security.Authentication.ChannelBinding" />
            that contains a lower-layer secure channel binding data.
            Binding data will be verified during the authentication to prevent a man-in-the-middle (MITM) attack.
            <p>
            Default value is null. The <see cref="T:Rebex.Security.Authentication.ChannelBinding" /> is not used.
            </p></summary>
      <remarks>
        <ul>
          <li>The channel binding is supported only on Windows. On other operating systems, the value of this property is always ignored.</li>
          <li>When the property is set to null or an empty instance (<see cref="T:Rebex.Security.Authentication.ChannelBinding.IsEmpty" /> property returns true),
            then the value is not used during the authentication.</li>
        </ul>
            See <a href="https://datatracker.ietf.org/doc/html/rfc5056">RFC 5056 - On the Use of Channel Bindings to Secure Channels</a> for details.
            </remarks>
      <seealso cref="T:Rebex.Security.Authentication.ChannelBinding" />
    </member>
    <member name="M:Rebex.Security.Authentication.SspiAuthentication.IsSupported(System.String)">
      <summary>
            Gets a value indicating whether the specified security package is supported.
            </summary>
      <param name="package">Security package name</param>
      <returns>True if the security package is supported; otherwise false.</returns>
    </member>
    <member name="T:Rebex.Security.Authentication.SspiCredentialUsage">
      <summary>
            SSPI credential usage.
            </summary>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiCredentialUsage.Inbound">
      <summary>
            Inbound.
            </summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiCredentialUsage.Outbound">
      <summary>
            Outbound.
            </summary>
    </member>
    <member name="T:Rebex.Security.Authentication.SspiDataRepresentation">
      <summary>
            SSPI data representation.
            </summary>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiDataRepresentation.Native">
      <summary>Native.</summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiDataRepresentation.Network">
      <summary>Network.</summary>
    </member>
    <member name="T:Rebex.Security.Authentication.SspiException">
      <summary>
            Represents an SSPI error.
            </summary>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Authentication.SspiRequirements">
      <summary>
            SSPI requirements flag.
            </summary>
      <remarks>
            Only supported on Windows platforms.
            </remarks>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiRequirements.Delegation">
      <summary>The server can use the context to authenticate to other servers as the client. Must be used with MutualAuthentication flag.</summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiRequirements.MutualAuthentication">
      <summary>Mutual authentication.</summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiRequirements.Confidentiality">
      <summary>Confidentiality.</summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiRequirements.Connection">
      <summary>Connection.</summary>
    </member>
    <member name="F:Rebex.Security.Authentication.SspiRequirements.Integrity">
      <summary>Integrity.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.SignatureHashAlgorithm">
      <summary>
            The hash algorithm used to compute the hash for hash signing
            and verification methods.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.Unsupported">
      <summary>
            Unsupported hash algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.MD5">
      <summary>
            MD5.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA1">
      <summary>
            SHA1.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.MD5SHA1">
      <summary>
            MD5SHA1.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA256">
      <summary>
            SHA-256.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA384">
      <summary>
            SHA-384.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA512">
      <summary>
            SHA-512.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.MD4">
      <summary>
            MD4.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA224">
      <summary>
            SHA-224.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.KeyAlgorithm">
      <summary>
            The key algorithm for the certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyAlgorithm.Unsupported">
      <summary>
            Unsupported key algorithm.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyAlgorithm.RSA">
      <summary>
            RSA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyAlgorithm.DSA">
      <summary>
            DSA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyAlgorithm.ECDsa">
      <summary>
            Elliptic Curve DSA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyAlgorithm.ED25519">
      <summary>
            ED25519.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.KeyUses">
      <summary>
            Intended key usage.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.DigitalSignature">
      <summary>Digital signature.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.NonRepudiation">
      <summary>Non-repudiation.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.KeyEncipherment">
      <summary>Key encipherment.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.DataEncipherment">
      <summary>Data encipherment.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.KeyAgreement">
      <summary>Key agreement.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.KeyCertSign">
      <summary>Certificate signing.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.CrlSign">
      <summary>CRL signing.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.EncipherOnly">
      <summary>Key encipherment only.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeyUses.DecipherOnly">
      <summary>Key decipherment only.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.KeySetOptions">
      <summary>
            Key set options.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.Exportable">
      <summary>Imported keys are marked as exportable.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.UserProtected">
      <summary>The user is to be notified through a dialog box or other method when certain attempts to use this key are made.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.MachineKeySet">
      <summary>Private keys are stored under the local computer and not under the current user.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.UserKeySet">
      <summary>Private keys are stored under the current user and not under the local computer even if the PFX BLOB specifies that they should go into the local computer.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.PersistKeySet">
      <summary>Private keys are persisted on disk when importing a certificate</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.AlwaysCng">
      <summary>Always load the key into CNG key storage provider. Only supported on Windows Vista or higher.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.KeySetOptions.PreferCng">
      <summary>Load the key into CNG key storage provider if possible. Only supported on Windows Vista or higher.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateFormat">
      <summary>
            Specifies certificate file format.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFormat.Der">
      <summary>Binary DER encoded X.509 certificate.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFormat.Base64Der">
      <summary>Base-64 encoded DER X.509 certificate.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFormat.Pfx">
      <summary>P12/PFX certificate with private key.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.Certificate">
      <summary>
            Represents an X.509 v3 certificate.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.Handle">
      <summary>
            Gets a handle of the certificate.
            </summary>
      <value>A handle of the certificate.</value>
      <remarks>
        <p>
            Only supported on Windows platforms.
            </p>
      </remarks>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.Extensions">
      <summary>
            Gets the certificates extensions collection.
            </summary>
      <value>Extensions collection.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.#ctor(System.Byte[])">
      <summary>
            Loads a certificate from an array.
            </summary>
      <param name="data">An array containing DER encoded certificate data.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadDer(System.String)">
      <summary>
            Loads a DER encoded certificate from the specified file.
            </summary>
      <param name="path">Path to a file.</param>
      <returns>A certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadDer(System.IO.Stream)">
      <summary>
            Loads a DER encoded certificate from the specified stream.
            </summary>
      <param name="stream">Stream to load a certificate from.</param>
      <returns>A certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadDerWithKey(System.String,System.String,System.String)">
      <summary>
            Loads a DER encoded certificate and a private key (in PKCS #8, PuTTY or SSLeay format) from the specified files.
            </summary>
      <param name="certificatePath">Path to a certificate file.</param>
      <param name="privateKeyPath">Path to the private key file.</param>
      <param name="privateKeyPassword">Private key password.</param>
      <returns>A certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadDerWithKey(System.IO.Stream,System.IO.Stream,System.String)">
      <summary>
            Loads a DER encoded certificate and a private key (in PKCS #8, PuTTY or SSLeay format) from the specified streams.
            </summary>
      <param name="certificateStream">Stream with the certificate.</param>
      <param name="privateKeyStream">Stream with the private key.</param>
      <param name="privateKeyPassword">Private key password.</param>
      <returns>A certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(System.Security.Cryptography.AsymmetricAlgorithm)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">An instance of RSA, DSA, RSACryptoServiceProvider or DSACryptoServiceProvider.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">The private key.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(Rebex.Security.Cryptography.AsymmetricKeyAlgorithm)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">The private key.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(System.Security.Cryptography.AsymmetricAlgorithm,System.Boolean)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">An instance of RSA, DSA, RSACryptoServiceProvider or DSACryptoServiceProvider.</param>
      <param name="permanentBind">Specifies whether to permanently bind the certificate to the specified CSP. Only supported on Windows.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo,System.Boolean)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">The private key.</param>
      <param name="permanentBind">Specifies whether to permanently bind the certificate to the specified CSP. Only supported on Windows.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Associate(Rebex.Security.Cryptography.AsymmetricKeyAlgorithm,System.Boolean)">
      <summary>
            Associates the supplied private key with the certificate to perform operations that need a private key.
            </summary>
      <param name="privateKey">The private key.</param>
      <param name="permanentBind">Specifies whether to permanently bind the certificate to the specified CSP. Only supported on Windows.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Bind(System.Security.Cryptography.AsymmetricAlgorithm,Rebex.Security.Certificates.CertificateKeyParameters)">
      <summary>
            Permanently binds the supplied private key with the certificate. Only supported on Windows.
            </summary>
      <param name="privateKey">An instance of RSA, DSA, RSACryptoServiceProvider or DSACryptoServiceProvider.</param>
      <param name="parameters">Parameters for private key storage.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Bind(Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo,Rebex.Security.Certificates.CertificateKeyParameters)">
      <summary>
            Permanently binds the supplied private key with the certificate. Only supported on Windows.
            </summary>
      <param name="privateKey">The private key.</param>
      <param name="parameters">Parameters for private key storage.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Bind(Rebex.Security.Cryptography.AsymmetricKeyAlgorithm,Rebex.Security.Certificates.CertificateKeyParameters)">
      <summary>
            Permanently binds the supplied private key with the certificate. Only supported on Windows.
            </summary>
      <param name="privateKey">The private key.</param>
      <param name="parameters">Parameters for private key storage.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.String,System.String)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
      <param name="path">Path to a file.</param>
      <param name="password">Encryption password.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.Byte[],System.String)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) array.
            </summary>
      <param name="data">An array containing DER encoded PKCS#12 data.</param>
      <param name="password">Encryption password.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.String,System.String,Rebex.Security.Certificates.KeySetOptions)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
      <param name="path">Path to a file.</param>
      <param name="password">Encryption password.</param>
      <param name="options">Key set options.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.Byte[],System.String,Rebex.Security.Certificates.KeySetOptions)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) array.
            </summary>
      <param name="data">An array containing DER encoded PKCS#12 data.</param>
      <param name="password">Encryption password.</param>
      <param name="options">Key set options.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.String)">
      <summary>
            Saves the certificate to the supplied file in DER format. 
            </summary>
      <param name="fileName">Path to the file to save the certificate to. If the file exists, it is overwritten.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.IO.Stream)">
      <summary>
            Saves the certificate to the supplied stream in DER format. 
            </summary>
      <param name="stream">Stream to save the certificate to.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.String,Rebex.Security.Certificates.CertificateFormat)">
      <summary>
            Saves the certificate to the supplied file in specified format. 
            </summary>
      <param name="fileName">Path to the file to save the certificate to. If the file exists, it is overwritten.</param>
      <param name="format">Certificate format.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.IO.Stream,Rebex.Security.Certificates.CertificateFormat)">
      <summary>
            Saves the certificate to the supplied stream in specified format. 
            </summary>
      <param name="stream">Stream to save the certificate to.</param>
      <param name="format">Certificate format.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.String,Rebex.Security.Certificates.CertificateFormat,System.String)">
      <summary>
            Saves the certificate to the supplied file in specified format. 
            </summary>
      <param name="fileName">Path to the file to save the certificate to. If the file exists, it is overwritten.</param>
      <param name="format">Certificate format.</param>
      <param name="password">Password (only used by PFX/P12 format).</param>
      <remarks>On .NET Compact Framework, this is only supported in Windows CE 5.0 or later.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Save(System.IO.Stream,Rebex.Security.Certificates.CertificateFormat,System.String)">
      <summary>
            Saves the certificate to the supplied stream in specified format. 
            </summary>
      <param name="stream">Stream to save the certificate to.</param>
      <param name="format">Certificate format.</param>
      <param name="password">Password (only used by PFX/P12 format).</param>
      <remarks>On .NET Compact Framework, this is only supported in Windows CE 5.0 or later.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.SavePrivateKey(System.String,System.String,Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat,System.Boolean)">
      <summary>
            Saves the certificate's private key to the supplied file. 
            </summary>
      <param name="fileName">Path to the file to save the certificate to. If the file exists, it is overwritten.</param>
      <param name="password">Private key password.</param>
      <param name="format">Private key file format.</param>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.SavePrivateKey(System.IO.Stream,System.String,Rebex.Security.Cryptography.Pkcs.PrivateKeyFormat,System.Boolean)">
      <summary>
            Saves the certificate's private key to the supplied stream.
            </summary>
      <param name="stream">Stream to save the private key to.</param>
      <param name="password">Private key password.</param>
      <param name="format">Private key file format.</param>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetPrivateKeyInfo(System.Boolean)">
      <summary>
            Returns the private key info for the X.509v3 certificate.
            </summary>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters.</param>
      <returns>The private key info for the X.509v3 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.#ctor(System.IntPtr)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.Certificate" /> based on the specified context.
            </summary>
      <param name="handle">A pointer to the certificate context.</param>
      <remarks>
        <p>
            Only supported on Windows platforms.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate)">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.Certificate" /> based on the specified certificate <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" /> or <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />.
            </summary>
      <param name="certificate">An instance of <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" /> or <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.op_Implicit(System.Security.Cryptography.X509Certificates.X509Certificate)~Rebex.Security.Certificates.Certificate">
      <summary>
            Converts an <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" /> or <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" /> to a <see cref="T:Rebex.Security.Certificates.Certificate" />.
            </summary>
      <param name="certificate">An instance of <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" /> or <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />.</param>
      <returns>A <see cref="T:Rebex.Security.Certificates.Certificate" />.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.op_Implicit(Rebex.Security.Certificates.Certificate)~System.Security.Cryptography.X509Certificates.X509Certificate2">
      <summary>
            Converts a <see cref="T:Rebex.Security.Certificates.Certificate" /> to <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" /> (or <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate" />).
            </summary>
      <param name="certificate">An instance of <see cref="T:Rebex.Security.Certificates.Certificate" />.</param>
      <returns>An <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2" />.</returns>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.KeyAlgorithm">
      <summary>
            Returns the key algorithm for this certificate.
            </summary>
      <value>The key algorithm for this certificate.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetSignatureHashAlgorithm">
      <summary>
            Returns the hash algorithm used to create the signature of this certificate.
            </summary>
      <value>Hash algorithm.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetCrlDistributionPoints">
      <summary>
            Returns the collection of CRL distribution points.
            </summary>
      <returns>Collection of CRL distribution points, or null if not available.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetIssuer">
      <summary>
            Returns the DN of the certification authority that issued the X.509v3 certificate.
            </summary>
      <returns>DN of the certification authority that issued the X.509 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetIssuerName">
      <summary>
            Returns the name of the certification authority that issued the X.509v3 certificate.
            </summary>
      <returns>The name of the certification authority that issued the X.509 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetSubject">
      <summary>
            Returns DN of the principal to which the certificate was issued.
            </summary>
      <returns>DN of the principal to which the certificate was issued.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetSubjectName">
      <summary>
            Returns the name of the principal to which the certificate was issued.
            </summary>
      <returns>The name of the principal to which the certificate was issued.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetPublicKey">
      <summary>
            Returns the public key for the X.509v3 certificate.
            </summary>
      <returns>The public key for the X.509v3 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetKeyAlgorithmParameters">
      <summary>
            Returns the key algorithm parameters for the X.509v3 certificate.
            </summary>
      <returns>The key algorithm parameters for the X.509v3 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetPublicKeyInfo">
      <summary>
            Returns the public key info for the X.509v3 certificate.
            </summary>
      <returns>The public key info for the X.509v3 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetSubjectKeyIdentifier">
      <summary>
            Returns the certificate's subject key identifier (SKI).
            </summary>
      <returns>Subject key identifier.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetAuthorityKeyIdentifier">
      <summary>
            Returns the certificate's issuer key identifier (AKI).
            </summary>
      <returns>Issuer (authority) key identifier.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetCommonName">
      <summary>
            Returns the certificate's common name, if available.
            </summary>
      <returns>Common name; or null if not available.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetCommonNames">
      <summary>
            Returns the list of certificate's common names.
            </summary>
      <returns>The list of common names.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetMailAddresses">
      <summary>
            Returns the list of certificate's e-mail addresses.
            </summary>
      <returns>The list of addresses.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetSerialNumber">
      <summary>
            Returns the serial number of the X.509v3 certificate.
            </summary>
      <returns>The serial number of the X.509 certificate as an array of bytes.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetExpirationDate">
      <summary>
            Returns the expiration date of this X.509v3 certificate (in local time).
            </summary>
      <returns>The expiration date for this X.509 certificate.</returns>
      <remarks>The expiration date is the date after which the X.509 certificate is no longer considered valid.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetEffectiveDate">
      <summary>
            Returns the effective date of this X.509v3 certificate (in local time).
            </summary>
      <returns>The effective date for this X.509 certificate.</returns>
      <remarks>The effective date is the date after which the X.509 certificate is considered valid.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetCertHash">
      <summary>
            Returns the hash value for the X.509v3 certificate as an array of bytes.
            </summary>
      <returns>The hash value for the X.509 certificate.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetRawCertData">
      <summary>
            Returns the raw data for the entire X.509v3 certificate.
            </summary>
      <returns>The raw data for the entire X.509v3 certificate.</returns>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.Thumbprint">
      <summary>
            Gets the thumbprint of the certificate.
            </summary>
      <value>Certificate's thumbprint.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.IsTimeValid">
      <summary>
            Checks whether a certificate is time valid.
            </summary>
      <returns>true if valid, false if not valid.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetIntendedUsage">
      <summary>
            Returns the intended key usage value.
            </summary>
      <returns>Intended key usage.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetEnhancedUsage">
      <summary>
            Returns an array of enhanced key usage identifiers.
            </summary>
      <returns>An array of enhanced key usage identifiers, or null if the certificate is valid for all uses.</returns>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.FriendlyName">
      <summary>
            Gets or sets the friendly name associated with the certificate.
            </summary>
      <value>Friendly name associated with the certificate.</value>
      <remarks>Not available in .NET CF.</remarks>
    </member>
    <member name="P:Rebex.Security.Certificates.Certificate.Tag">
      <summary>
            Gets or sets a custom object associated with this particular instance of <see cref="T:Rebex.Security.Certificates.Certificate" />. This value is not persisted.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetDSAParameters">
      <summary>
            Returns the DSA parameters of certificate's public key.
            </summary>
      <returns>The DSA parameters of certificate's public key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetRSAParameters">
      <summary>
            Returns the RSA parameters of certificate's public key.
            </summary>
      <returns>The RSA parameters of certificate's public key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetRSAParameters(System.Boolean,System.Boolean)">
      <summary>
            Returns the RSA parameters of certificate's public or private key.
            </summary>
      <param name="exportPrivateKeys">True if private key parameters are to be exported as well.</param>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters.</param>
      <returns>The RSA parameters of certificate's public or private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetDSAParameters(System.Boolean,System.Boolean)">
      <summary>
            Returns the DSA parameters of certificate's public or private key.
            <param name="exportPrivateKeys">True if private key parameters are to be exported as well.</param><param name="silent">If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters.</param></summary>
      <returns>The DSA parameters of certificate's public or private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.HasPrivateKey">
      <summary>
            Checks whether a private key for this certificate is available.
            </summary>
      <returns>True if available, false if not available.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetPrivateKeyAlgorithm(System.Boolean)">
      <summary>
            Gets the private key algorithm for this certificate.
            </summary>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI).</param>
      <returns>Instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" />.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetPublicKeyAlgorithm">
      <summary>
            Gets the public key algorithm for this certificate.
            </summary>
      <returns>Instance of <see cref="T:Rebex.Security.Cryptography.AsymmetricKeyAlgorithm" />.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.GetKeySize">
      <summary>
            Returns the size of the key in bits.
            </summary>
      <returns>Size of the key in bits.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.VerifyHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
      <param name="hash">The hash value of the signed data.</param>
      <param name="alg">A hash algorithm used to create the hash value.</param>
      <param name="signature">The signature for the specified hash value.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.VerifyMessage(System.Byte[],System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified message.
            </summary>
      <param name="message">The message.</param>
      <param name="signature">The signature for the specified message.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.VerifyMessage(System.Byte[],System.Byte[],Rebex.Security.Cryptography.SignatureParameters)">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified message.
            </summary>
      <param name="message">The message.</param>
      <param name="signature">The signature for the specified message.</param>
      <param name="parameters">Signature parameters.</param>
      <returns>True if the signature verifies as valid; otherwise, false.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.SignHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Boolean)">
      <summary>
            Computes the signature for the specified hash value by encrypting it with the private key.
            </summary>
      <param name="hash">The hash value of the data to be signed.</param>
      <param name="alg">A hash algorithm used to create the hash value.</param>
      <param name="silent">If set to true, the cryptographic should not display any user interface (UI).</param>
      <returns>The signature for the specified hash value.</returns>
      <remarks>
        <p>
            The private key for a certificate must be available for this method to succeed.
            </p>
        <p>
            If silent operation is requested and the CSP must display UI to operate, this method will fail.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.SignMessage(System.Byte[])">
      <summary>
            Computes the signature for the specified message by encrypting it with the private key.
            </summary>
      <param name="message">The message to be signed.</param>
      <returns>The signature for the specified message.</returns>
      <remarks>
        <p>
            The private key for a certificate must be available for this method to succeed.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.SignMessage(System.Byte[],Rebex.Security.Cryptography.SignatureParameters)">
      <summary>
            Computes the signature for the specified message by encrypting it with the private key.
            </summary>
      <param name="message">The message to be signed.</param>
      <param name="parameters">Signature parameters.</param>
      <returns>The signature for the specified message.</returns>
      <remarks>
        <p>
            The private key for a certificate must be available for this method to succeed.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Encrypt(System.Byte[])">
      <summary>
            Encrypts data.
            </summary>
      <param name="rgb">Data to be encrypted.</param>
      <returns>Encrypted data.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Decrypt(System.Byte[],System.Boolean)">
      <summary>
            Decrypts data.
            </summary>
      <param name="rgb">Data to be decrypted.</param>
      <param name="silent">If set to true, the cryptographic provider should not display any user interface (UI).</param>
      <returns>Decrypted data.</returns>
      <remarks>
            If silent operation is requested and the cryptographic provider needs to display a UI to operate, this method will fail.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Validate">
      <summary>
            Verifies the validity of the certificate.
            </summary>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Validate(Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria.
            </summary>
      <param name="options">Validation options.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Validate(System.String,Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria.
            </summary>
      <param name="serverName">The name of the server.</param>
      <param name="options">Validation options.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Validate(System.String,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria,
            using the specified chain engine.
            </summary>
      <param name="serverName">The name of the server.</param>
      <param name="options">Validation options.</param>
      <param name="engine">Certificate chain engine.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.ValidateRevocationList(Rebex.Security.Cryptography.Pkcs.CertificateRevocationList,System.Nullable{System.DateTime})">
      <summary>
            Validates the specified certificate revocation list (issued by this certificate).
            </summary>
      <param name="crl">Certificate revocation list to validate.</param>
      <param name="validationTime">The date in which the validation takes effect; specify null (Nothing in VB.NET) to skip time validation check.</param>
      <returns>Status of the validation result. If the CRL is valid, the return value is 0.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.Certificate.Dispose">
      <summary>
            Disposes the object and releases resources.
            </summary>
      <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateChainEngine">
      <summary>
            A chain engine (name space and cache) to be used to build and validate certificate chains.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateChainEngine.CurrentUser">
      <summary>
            The chain engine of the current user.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateChainEngine.LocalMachine">
      <summary>
            The chain engine of the local machine.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateChainEngine.Native">
      <summary>
            Native security policy.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateChainEngine.Auto">
      <summary>
            Use current certificate engine if set; otherwise use <see cref="P:Rebex.Security.Certificates.CertificateEngine.Default" /> engine (platform-specific).
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateChain">
      <summary>
            Represents a chain of certificates.
            </summary>
      <remarks>
            A chain starts by the end certificate and each following certificate
            must directly certify the one preceding it.
            The last certificate in the list is a self-signed root certificate, and
            may be optionally omitted under the assumption it must be known in any case.
            </remarks>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateChain.Count">
      <summary>
            Gets the number of certificates in the chain.
            </summary>
      <value>The number of certificates in the chain.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateChain.Item(System.Int32)">
      <summary>
            Gets or sets the certificate at the specified position.
            </summary>
      <value>The certificate at the specified position</value>
      <remarks>The certificate at the specified position.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.GetEnumerator">
      <summary>
            Gets an <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the <see cref="T:Rebex.Security.Certificates.CertificateChain" /> collection.
            </summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerator`1" /> for the collection.</returns>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateChain.RootCertificate">
      <summary>
            Gets the certificate of the root certification authority, if available.
            </summary>
      <value>Root CA certificate if available; null otherwise.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateChain.LeafCertificate">
      <summary>
            Gets the first certificate in the chain, if not empty.
            </summary>
      <value>Leaf certificate; null if the chain is empty.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Add(Rebex.Security.Certificates.Certificate)">
      <summary>
            Adds a certificate to the end of the chain.
            This certificate represents authority for the previous certificate in the chain
            (Leaf certificate is at the beginning of the chain, Root certificate is at the end of the chain).
            </summary>
      <param name="certificate">The certificate to be added to the chain.</param>
      <returns>The position of the certificate in the chain.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.#ctor">
      <summary>
            Creates an empty certificate chain.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.#ctor(Rebex.Security.Certificates.Certificate[])">
      <summary>
            Creates a certificate chain from an array of certificates.
            </summary>
      <param name="certificates">An array of certificates.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.String,System.String)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
      <param name="path">Path to a file.</param>
      <param name="password">Encryption password.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.Byte[],System.String)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) array.
            </summary>
      <param name="data">An array containing DER encoded PKCS#12 data.</param>
      <param name="password">Encryption password.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.String,System.String,Rebex.Security.Certificates.KeySetOptions)">
      <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
      <param name="path">Path to a file.</param>
      <param name="password">Encryption password.</param>
      <param name="options">Key set options.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.Byte[],System.String,Rebex.Security.Certificates.KeySetOptions)">
      <summary>
            Loads a certificate with a private key from a PKCS #12 (.p12/.pfx) array.
            </summary>
      <param name="data">An array containing DER encoded PKCS #12 data.</param>
      <param name="password">Encryption password.</param>
      <param name="options">Key set options.</param>
      <returns>A certificate with private key.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadP7b(System.String)">
      <summary>
            Loads <see cref="T:Rebex.Security.Certificates.CertificateChain" /> from the specified PKCS #7 (.p7b) file.
            </summary>
      <param name="path">Path to the file.</param>
      <returns>Instance of <see cref="T:Rebex.Security.Certificates.CertificateChain" />, never null.</returns>
      <remarks>The PKCS #7 file can be saved using <see cref="M:Rebex.Security.Certificates.CertificateChain.Save(System.String)" /> method.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadP7b(System.IO.Stream)">
      <summary>
            Loads a PKCS #7 (.p7b) encoded <see cref="T:Rebex.Security.Certificates.CertificateChain" /> from the specified file.
            </summary>
      <param name="stream">Stream to load a <see cref="T:Rebex.Security.Certificates.CertificateChain" /> from.</param>
      <returns>Instance of <see cref="T:Rebex.Security.Certificates.CertificateChain" />, never null.</returns>
      <remarks>The PKCS #7 stream can be saved using <see cref="M:Rebex.Security.Certificates.CertificateChain.Save(System.IO.Stream)" /> method.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Dispose">
      <summary>
            Disposes the object.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.VerifyHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Byte[])">
      <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
      <param name="hash">The hash value of the signed data.</param>
      <param name="alg">A hash algorithm used to create the hash value.</param>
      <param name="signature">The RSA signature for the specified hash value.</param>
      <returns>true if the signature verifies as valid; otherwise, false.</returns>
      <remarks>The hash algorithm parameter is ignored with managed RSA.</remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate)">
      <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
      <param name="cert">End certificate.</param>
      <returns>The chain for an end certificate.</returns>
      <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
      <param name="cert">End certificate.</param>
      <param name="engine">Certificate chain engine.</param>
      <returns>The chain for an end certificate.</returns>
      <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateStore)">
      <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
      <param name="cert">End certificate.</param>
      <param name="store">Additional store to search in addition to system stores.</param>
      <returns>The chain for an end certificate.</returns>
      <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateStore,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
      <param name="cert">End certificate.</param>
      <param name="engine">Certificate chain engine.</param>
      <param name="store">Additional store to search in addition to system stores.</param>
      <returns>The chain for an end certificate.</returns>
      <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Validate">
      <summary>
            Verifies the validity of the certificate chain.
            </summary>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria.
            </summary>
      <param name="options">Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android).</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(System.String,Rebex.Security.Certificates.ValidationOptions)">
      <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria.
            </summary>
      <param name="serverName">The name of the server.</param>
      <param name="options">Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android).</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(System.String,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
      <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria,
            using the specified chain engine.
            </summary>
      <param name="serverName">The name of the server.</param>
      <param name="options">Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android).</param>
      <param name="engine">Certificate chain engine.</param>
      <returns>Validation result.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Save(System.String)">
      <summary>
            Saves the certificate chain to the specified path as a .P7B (PKCS #7) file.
            </summary>
      <param name="certificatePath">Path to save the certificate chain file to.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.Save(System.IO.Stream)">
      <summary>
            Saves the certificate chain to the specified stream in .P7B (PKCS #7) format.
            </summary>
      <param name="output">Stream to write the certificate chain to.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateChain.LoadDer(System.String)">
      <summary>
            Loads a chain of Base-64-encoded X.509 certificates from the specified file.
            </summary>
      <param name="path">Path to a file with the certificate chain.</param>
      <returns>A certificate chain.</returns>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateCollection">
      <summary>
            Represents a collection of X.509 v3 certificates.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateCollection.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CertificateCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateEngine">
      <summary>
            Represents a certificate engine.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateEngine.LogWriter">
      <summary>
            Gets or sets the <see cref="T:Rebex.ILogWriter">LogWriter</see> used by this object.
            </summary>
      <value>Log writer.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.#ctor">
      <summary>
            Initializes new instance of the <see cref="T:Rebex.Security.Certificates.CertificateEngine" /> class.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.Validate(Rebex.Security.Certificates.CertificateChain,Rebex.Security.Certificates.CertificateValidationParameters)">
      <summary>
            Validates given certificate chain using specified validation parameters.
            </summary>
      <param name="chain">Certificate chain to validate.</param>
      <param name="parameters">Validation parameters.</param>
      <returns>Result of the validation.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.BuildChain(Rebex.Security.Certificates.Certificate)">
      <summary>
            Builds a certificate chain from the specified certificate.
            </summary>
      <param name="certificate">A certificate to build the chain from.</param>
      <returns>The built certificate chain.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.BuildChain(Rebex.Security.Certificates.Certificate,System.Collections.Generic.IEnumerable{Rebex.Security.Certificates.Certificate})">
      <summary>
            Builds a certificate chain from the specified certificate.
            </summary>
      <param name="certificate">A certificate to build the chain from.</param>
      <param name="extraStore">An extra store to search for intermediate and root CA certificates.</param>
      <returns>The built certificate chain.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.Bind(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo,Rebex.Security.Certificates.CertificateKeyParameters)">
      <summary>
            Saves the supplied private key to certificate engine's private key storage and
            permanently binds it to the supplied certificate.
            </summary>
      <param name="certificate">A certificate to bind the private key to.</param>
      <param name="privateKey">A private key to bind.</param>
      <param name="parameters">Parameters for private key storage.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.GetCurrentEngine">
      <summary>
            Gets the current certificate engine.
            </summary>
      <returns>The current certificate engine; null reference (Nothing in VB.NET) if no engine was set.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateEngine.SetCurrentEngine(Rebex.Security.Certificates.CertificateEngine)">
      <summary>
            Sets the current certificate engine.
            </summary>
      <param name="engine">An engine to be used.</param>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateEngine.Default">
      <summary>
            Gets the default certificate engine which is used if no custom engine is set as current engine.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateEngine.LocalMachine">
      <summary>
            Gets the certificate engine based on LocalMachine store.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateValidationParameters">
      <summary>
            Certificate validation parameters for <see cref="T:Rebex.Security.Certificates.CertificateEngine" />'s <see cref="M:Rebex.Security.Certificates.CertificateEngine.Validate(Rebex.Security.Certificates.CertificateChain,Rebex.Security.Certificates.CertificateValidationParameters)" /> method.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateValidationParameters.Options">
      <summary>
            Gets or sets validation options.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateValidationParameters.ServerName">
      <summary>
            Server name. Optional.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateValidationParameters.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CertificateValidationParameters" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateKeyParameters">
      <summary>
            Certificate private key parameters for <see cref="T:Rebex.Security.Certificates.CertificateEngine" />'s <see cref="M:Rebex.Security.Certificates.CertificateEngine.Bind(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo,Rebex.Security.Certificates.CertificateKeyParameters)" /> method.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateKeyParameters.ForceLocalMachineStore">
      <summary>
            Specifies whether to prefer the 'local machine' certificate store for this key.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateKeyParameters.PreferLegacyKeyStore">
      <summary>
            Specifies whether to prefer legacy CryptoAPI key stores to CNG key stores.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateKeyParameters.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CertificateKeyParameters" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateException">
      <summary>
            The exception that is thrown when a certificate-related error occurs.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateException.#ctor(System.String)">
      <summary>
            Initializes a new instance of the Exception class
            with a specified error message.
            </summary>
      <param name="message">The error message that explains the reason for the exception.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateException.#ctor(System.String,System.Exception)">
      <summary>
            Initializes a new instance of the Exception class
            with a specified error message and a reference to the
            inner exception that is the cause of this exception.
            </summary>
      <param name="message">The error message that explains the reason for the exception.</param>
      <param name="innerException">The exception that is the cause of the current exception.</param>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateExtensionCollection">
      <summary>
            Represents a collection of X.509 v3 certificate extensions.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateExtensionCollection.#ctor(System.Byte[])">
      <summary>
            Creates a certificate extension collection from an ASN.1 block.
            </summary>
      <param name="data">ASN.1 block.</param>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateExtensionCollection.Item(System.String)">
      <summary>
            Gets the first <see cref="T:Rebex.Security.Certificates.CertificateExtension" /> with the specified object identifier.
            </summary>
      <param name="oid">The object identifier, either friendly name or dotted string format.</param>
      <value>A certificate extension, or null if not found.</value>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateExtension">
      <summary>
            Represents an X.509 v3 certificate extension.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateExtension.#ctor(System.String,System.Boolean,System.Byte[])">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CertificateExtension" />.
            </summary>
      <param name="oid">Extension object identifier.</param>
      <param name="critical">Specifies whether the extension is critical.</param>
      <param name="data">Extension data.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateExtension.EnhancedKeyUsage(System.Boolean,System.String[])">
      <summary>
            Create extended (enhanced) key usage extension (2.5.29.37).
            </summary>
      <param name="critical">Specifies whether this extension is considered critical (not-critical extensions may be ignored by servers that don't support them).</param>
      <param name="usages">Key usage OIDs.</param>
      <returns>An extension object.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateExtension.KeyUsage(Rebex.Security.Certificates.KeyUses)">
      <summary>
            Creates a key usage extension (2.5.29.15).
            </summary>
      <param name="usage">Key usage flags.</param>
      <returns>An extension object.</returns>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateExtension.Oid">
      <summary>
            Gets the object identifier that identifies the extension.
            </summary>
      <value>The object identifier.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateExtension.Critical">
      <summary>
            Gets a value indicating whether the extension is critical.
            </summary>
      <value>True if critical; false otherwise.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateExtension.Value">
      <summary>
            Gets the extension value.
            </summary>
      <value>An array of bytes in ASN.1 format.</value>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateFindOptions">
      <summary>
            Options for <see cref="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName[],Rebex.Security.Certificates.CertificateFindOptions)" /> methods.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.None">
      <summary>
            No filter.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.HasPrivateKey">
      <summary>
            Only find certificates that have a private key.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.IsTimeValid">
      <summary>
            Only find certificates that are time valid.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.ClientAuthentication">
      <summary>
            Only find certificates that can be used for client authentication.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.ServerAuthentication">
      <summary>
            Only find certificates that can be used for server authentication.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindOptions.IncludeSubordinateAuthorities">
      <summary>
            When searching by certificate issuer, include known subordinate CAs in the search as well.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateFindType">
      <summary>
            The type of search for <see cref="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindType,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)" /> method.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateFindType.SubjectKeyIdentifier">
      <summary>
            Certificates whose subject key identifier (SKI) matches the specified value.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateStoreLocation">
      <summary>
            Specifies the location of the certificate store.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.None">
      <summary>None.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentUser">
      <summary>The store located at HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachine">
      <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentService">
      <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\&lt;ServiceName&gt;&gt;\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.Services">
      <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\&lt;ServiceName&gt;\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.Users">
      <summary>The store located at HKEY_USERS\&lt;UserName&gt;\Software\Microsoft\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentUserGroupPolicy">
      <summary>The store located at HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachineGroupPolicy">
      <summary>The store located at HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachineEnterprise">
      <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateStoreName">
      <summary>
            Specifies the name of the certificate store.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.None">
      <summary>None.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.AddressBook">
      <summary>Other users.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.AuthRoot">
      <summary>Third-party certificate authorities.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.CertificateAuthority">
      <summary>Intermediate certificate authorities.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.Disallowed">
      <summary>Revoked certificates.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.My">
      <summary>Personal certificates (with associated private keys).</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.Root">
      <summary>Trusted root certificate authorities.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.TrustedPeople">
      <summary>Directly trusted people and resources.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.TrustedPublisher">
      <summary>Directly trusted publishers.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreName.WebHosting">
      <summary>Web server certificates (with associated private keys).</summary>
      <remarks>
            The <see cref="F:Rebex.Security.Certificates.CertificateStoreName.WebHosting" /> store is the preferred alternative to <see cref="F:Rebex.Security.Certificates.CertificateStoreName.My">My (Personal)</see> store, intended for virtual web hosting.
            </remarks>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateStoreOpenFlags">
      <summary>
            Specifies store opening flags.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreOpenFlags.ReadOnly">
      <summary>Open the store in read-only mode.</summary>
    </member>
    <member name="F:Rebex.Security.Certificates.CertificateStoreOpenFlags.ReadWrite">
      <summary>Open the store in writable mode.</summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CertificateStore">
      <summary>
            Represents a certificate store.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CertificateStore.Handle">
      <summary>
            Gets a handle of the certificate store.
            </summary>
      <value>A handle of the certificate store.</value>
      <remarks>
        <p>
            Only supported on Windows platforms.
            </p>
      </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String,Rebex.Security.Certificates.CertificateStoreLocation,Rebex.Security.Certificates.CertificateStoreOpenFlags)">
      <summary>
            Opens a certificate store of the specified name and the specified location.
            </summary>
      <param name="storeName">The store name.</param>
      <param name="location">Specifies the location of the certificate store.</param>
      <param name="flags">Store open flags.</param>
      <remarks>
            Some example system stores are:<br />
            "CA" - Certification authority certificates.<br />
            "My" - A certificate store that holds personal certificates with associated private keys.<br />
            "WebHosting" - Web hosting certificates with associated private keys.<br />
            "Root" - Root certificates.<br />
            "SPC" - Software publisher certificate.<br />
            "Trust"<br />
            "Disallowed"<br /></remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String,Rebex.Security.Certificates.CertificateStoreLocation)">
      <summary>
            Opens a certificate store of the specified name and the specified location.
            </summary>
      <param name="storeName">The store name.</param>
      <param name="location">Specifies the location of the certificate store.</param>
      <remarks>
            Some example system stores are:<br />
            "CA" - Certification authority certificates.<br />
            "My" - A certificate store that holds personal certificates with associated private keys.<br />
            "WebHosting" - Web hosting certificates with associated private keys.<br />
            "Root" - Root certificates.<br />
            "SPC" - Software publisher certificate.<br />
            "Trust"<br />
            "Disallowed"<br /></remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String,Rebex.Security.Certificates.CertificateStoreOpenFlags)">
      <summary>
            Opens a certificate store of the specified name.
            </summary>
      <param name="storeName">The store name.</param>
      <param name="flags">Store open flags.</param>
      <remarks>
            Some example system stores are:<br />
            "CA" - Certification authority certificates.<br />
            "My" - A certificate store that holds personal certificates with associated private keys.<br />
            "WebHosting" - Web hosting certificates with associated private keys.<br />
            "Root" - Root certificates.<br />
            "SPC" - Software publisher certificate.<br />
            "Trust"<br />
            "Disallowed"<br /></remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String)">
      <summary>
            Opens a certificate store of the specified name.
            </summary>
      <param name="storeName">The store name.</param>
      <remarks>
            Some example system stores are:<br />
            "CA" - Certification authority certificates.<br />
            "My" - A certificate store that holds personal certificates with associated private keys.<br />
            "WebHosting" - Web hosting certificates with associated private keys.<br />
            "Root" - Root certificates.<br />
            "SPC" - Software publisher certificate.<br />
            "Trust"<br />
            "Disallowed"<br /></remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreLocation,Rebex.Security.Certificates.CertificateStoreOpenFlags)">
      <summary>
            Opens a certificate store of the specified name and the specified location.
            </summary>
      <param name="storeName">The store name value.</param>
      <param name="location">Specifies the location of the certificate store.</param>
      <param name="flags">Store open flags.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreLocation)">
      <summary>
            Opens a system certificate store of the specified name and the specified location.
            </summary>
      <param name="storeName">The store name value.</param>
      <param name="location">Specifies the location of the certificate store.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreOpenFlags)">
      <summary>
            Opens a system certificate store of the specified name.
            </summary>
      <param name="storeName">The store name value.</param>
      <param name="flags">Store open flags.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName)">
      <summary>
            Opens a system certificate store of the specified name.
            </summary>
      <param name="storeName">The store name value.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.Collections.ICollection)">
      <summary>
            Creates a temporary memory-based certificate store
            and populates it with certificates from the specified collection.
            </summary>
      <param name="certificates">The certificate collection.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(System.String,Rebex.Security.Certificates.CertificateStoreLocation)">
      <summary>
            Determines whether the specified certificate store exists.
            </summary>
      <param name="storeName">The store name.</param>
      <param name="location">Specifies the location of the certificate store.</param>
      <returns>True if the store exists; false otherwise.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreLocation)">
      <summary>
            Determines whether the specified certificate store exists.
            </summary>
      <param name="storeName">The store name value.</param>
      <param name="location">Specifies the location of the certificate store.</param>
      <returns>True if the store exists; false otherwise.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(System.String)">
      <summary>
            Determines whether the specified certificate store exists.
            </summary>
      <param name="storeName">The store name.</param>
      <returns>True if the store exists; false otherwise.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(Rebex.Security.Certificates.CertificateStoreName)">
      <summary>
            Determines whether the specified certificate store exists.
            </summary>
      <param name="storeName">The store name value.</param>
      <returns>True if the store exists; false otherwise.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Add(Rebex.Security.Certificates.Certificate)">
      <summary>
            Adds a certificate to this certificate store.
            </summary>
      <param name="certificate">Certificate to be added.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Remove(Rebex.Security.Certificates.Certificate)">
      <summary>
            Removes a certificate from this certificate store.
            </summary>
      <param name="cert">Certificate to be removed.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindType,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates matching the specified criteria.
            </summary>
      <param name="findType">Specifies the type of search being made.</param>
      <param name="data">A byte array whose meaning is defined by 'findType'.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName,Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates issued by the specified issuer (or its subordinate issuer) and corresponding to the specified options.
            </summary>
      <param name="issuer">Issuer DN.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates with the specified serial number issued by the specified issuer (or its subordinate issuer)
            and corresponding to the specified options.
            </summary>
      <param name="issuer">Issuer DN.</param>
      <param name="serialNumber">Certificate serial number.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName[],Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates issued by one of specified issuers (or their subordinate issuer) and corresponding to the specified options.
            </summary>
      <param name="issuers">An array of issuers' DNs.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName[],System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates issued by one of specified issuers (or their subordinate issuer) and corresponding to the specified options.
            </summary>
      <param name="issuers">An array of issuers' DNs.</param>
      <param name="serialNumber">Certificate serial number.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates matching the specified certificate and options.
            </summary>
      <param name="certificate">Certificate to find.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates corresponding to the specified options.
            </summary>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificatesForMailAddress(System.String)">
      <summary>
            Returns all certificates corresponding to the specified e-mail address.
            </summary>
      <param name="address">E-mail address.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificatesForMailAddress(System.String,Rebex.Security.Certificates.CertificateFindOptions)">
      <summary>
            Returns all certificates corresponding to the specified e-mail address and options.
            </summary>
      <param name="address">E-mail address.</param>
      <param name="options">Options.</param>
      <returns>An array of certificates.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Dispose">
      <summary>
            Disposes the object and releases resources.
            </summary>
      <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
    </member>
    <member name="M:Rebex.Security.Certificates.CertificateStore.Finalize">
      <summary>
            Finalizer called by garbage collector.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.DistinguishedName">
      <summary>
            Represents a distinguished name.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.#ctor(System.Byte[])">
      <summary>
            Creates an instance of distinguished name from an ASN.1 block.
            </summary>
      <param name="dn">ASN.1 block.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.#ctor(System.String)">
      <summary>
            Creates an instance of distinguished name from a DN string.
            </summary>
      <param name="dn">DN string.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.GetCommonName">
      <summary>
            Returns the DN's common name, if available.
            </summary>
      <returns>Common name; or null if not available.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.GetMailAddresses">
      <summary>
            Returns the list of DN's e-mail addresses.
            </summary>
      <returns>The list of addresses.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.Equals(System.Object)">
      <summary>
            Determines whether the specified object is equal to the current object.
            </summary>
      <param name="obj">Object to compare with the current object.</param>
      <returns>True if equal; false if not equal.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.GetHashCode">
      <summary>
            Servers as a hash function for a particular type. Suitable for use in hashing algorithms and hash tables.
            </summary>
      <returns>Hash code.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.ToArray">
      <summary>
            Converts a distinguished name into a byte array.
            </summary>
      <returns>Byte array.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.ToString">
      <summary>
            Returns a string representation of the object.
            </summary>
      <returns>A DN string.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.FromString(System.String)">
      <summary>
            Converts string DN to its BER-encoded representation.
            </summary>
      <param name="dn">String DN.</param>
      <returns>BER-encoded DN.</returns>
    </member>
    <member name="M:Rebex.Security.Certificates.DistinguishedName.ToString(System.Byte[])">
      <summary>
            Converts BER-encoded representation of DN to its string representation.
            </summary>
      <param name="dn">BER-encoded DN.</param>
      <returns>String DN.</returns>
    </member>
    <member name="T:Rebex.Security.Certificates.CrlDistributionPointCollection">
      <summary>
            Represents a collection of CRL distribution points.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CrlDistributionPointCollection.#ctor">
      <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CrlDistributionPointCollection" />.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.CrlDistributionPoint">
      <summary>
            A CRL distribution point.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.CrlDistributionPoint.Url">
      <summary>
            Gets distribution point URL, if available.
            </summary>
      <value>Distribution point URL, or null if not available.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.CrlDistributionPoint.GetUrls">
      <summary>
            Gets all URLs of the distribution point, or null if not available.
            </summary>
    </member>
    <member name="M:Rebex.Security.Certificates.CrlDistributionPoint.#ctor(System.String)">
      <summary>
            Create a new instance of a CRL distribution point that represents the specified URL.
            </summary>
      <param name="url">CRL URL.</param>
    </member>
    <member name="M:Rebex.Security.Certificates.CrlDistributionPoint.#ctor(System.String,System.String[])">
      <summary>
            Create a new instance of a CRL distribution point that represents the specified URL.
            </summary>
      <param name="url">CRL URL.</param>
      <param name="additionalUrls">Additional CRL URLs.</param>
    </member>
    <member name="T:Rebex.Security.Certificates.ValidationOptions">
      <summary>
            Certificate validation method options. (Not supported by <see cref="T:Rebex.Security.Certificates.CertificateChainEngine">CertificateChainEngine.Native</see> engine on Xamarin.iOS and Xamarin.Android).
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.None">
      <summary>
            No options specified.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreTimeNotValid">
      <summary>
            Ignore an invalid time (such as expiration).
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCtlTimeNotValid">
      <summary>
            Ignore an invalid certificate trust list time.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreTimeNotNested">
      <summary>
            Ignore an invalid time nesting. Deprecated.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreAllTimeNotValid">
      <summary>
            Ignore all invalid time checks (such as expiration, nesting, CRL or CTL times).
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreInvalidBasicConstraints">
      <summary>
            Ignore basic constraint errors.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.AllowUnknownCa">
      <summary>
            Allow unknown certification authority.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreWrongUsage">
      <summary>
            Ignore wrong usage of the certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreInvalidPolicy">
      <summary>
            Ignore invalid policy.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreEndRevUnknown">
      <summary>
            Ignore an unknown revocation status of the end certificate.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCtlSignerRevUnknown">
      <summary>
            Ignore an unknown revocation status of the certificate trust list signer.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCaRevUnknown">
      <summary>
            Ignore an unknown revocation status of the CA certificate.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreRootRevUnknown">
      <summary>
            Ignore an unknown revocation status of a root certificate.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreAllRevUnknown">
      <summary>
            Ignore all unknown revocation statuses.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.AllowTestRoot">
      <summary>
            Not supported.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.TrustTestRoot">
      <summary>
            Not supported.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.UseCacheOnly">
      <summary>
            Only use local cache, do not access the network.
            </summary>
      <remarks>Not supported in builds for .NET CF.</remarks>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCnNotMatch">
      <summary>
            Ignore invalid common name.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.SkipRevocationCheck">
      <summary>
            Skip certificate revocation check.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreInvalidChain">
      <summary>
            Ignore invalid chain.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationOptions.DisableCertificateDownloads">
      <summary>
            Disables downloading of unknown issuer certificates based on information from Authority Information Access (AIA) extension.
            Only supported in .NET 5 and higher.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.ValidationStatus">
      <summary>
            Certificate validation status.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.TimeNotValid">
      <summary>
            This certificate or one of the certificates in the certificate chain is not time valid.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.TimeNotNested">
      <summary>
            Certificates in the chain are not properly time nested. Deprecated.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.Revoked">
      <summary>
            Trust for this certificate or one of the certificates in the certificate chain has been revoked.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.SignatureNotValid">
      <summary>
            The certificate or one of the certificates in the certificate chain does not have a valid signature.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.WrongUsage">
      <summary>
            The certificate or certificate chain is not valid for its proposed usage.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.RootNotTrusted">
      <summary>
            The certificate or certificate chain is based on an untrusted root.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownRev">
      <summary>
            The revocation status of the certificate or one of the certificates in the certificate chain is unknown.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.CyclicChain">
      <summary>
            One of the certificates in the chain was issued by a certification authority that the original certificate had certified.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidExtension">
      <summary>
            One of the certificates has an invalid extension.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidPolicyConstraints">
      <summary>
            The certificate or one of the certificates in the certificate chain has
            a policy constraints extension, and one of the issued certificates has
            a disallowed policy mapping extension or does not have a required issuance
            policies extension.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidBasicConstraints">
      <summary>
            The certificate or one of the certificates in the certificate chain has
            a basic constraints extension and either the certificate cannot be used
            to issue other certificates or the chain path length has been exceeded.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidNameConstraints">
      <summary>
            The certificate or one of the certificates in the certificate chain has
            an invalid name constraints extension.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.UnsupportedNameConstraint">
      <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension containing unsupported fields.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.NotDefinedNameConstraint">
      <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and a name constraint is missing for one of the name choices in the end certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.NotPermittedNameConstraint">
      <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and there is not a permitted name constraint for one of the name choices in the end certificate.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.ExcludedNameConstraint">
      <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and one of the name choices in the end certificate is explicitly excluded.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.IncompleteChain">
      <summary>
            The certificate chain is not complete.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlTimeNotValid">
      <summary>
            A CTL used to create this chain was not time valid.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlSignatureNotValid">
      <summary>
            A CTL used to create this chain did not have a valid signature.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlWrongUsage">
      <summary>
            A CTL used to create this chain is not valid for this usage.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.OfflineRev">
      <summary>
            The revocation status of the certificate or one of the certificates in the certificate chain is either off-line or stale.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.NoIssuanceChainPolicy">
      <summary>
            The end certificate does not have any resultant issuance policies, and one of the issuing CA certificates has a policy constraints extension requiring it.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.UnsupportedSignatureAlgorithm">
      <summary>
            The certificate chain contains a certificate with unsupported signature hash algorithm (usually SHA-2) or unsupported key algorithm (usually ECDSA).
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownError">
      <summary>
            Unknown error.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.PathTooLong">
      <summary>
            A path length constraint in the certification chain has been violated.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownCriticalExtension">
      <summary>
            A certificate contains an unknown extension that is marked critical.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidChain">
      <summary>
            A certificate chain is invalid,
            such as an certificate's Issuer not matching the CA's Subject or
            an certificate's AKI not matching the CA's SKI.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.CnNotMatch">
      <summary>
            The certificate's CN name does not match the passed value.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.ExplicitDistrust">
      <summary>
            The certificate was explicitly marked as untrusted by the user or CA.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.Malformed">
      <summary>
            A certificate or CRL is malformed.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.MoreErrors">
      <summary>
            There might be more errors apart from those reported.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.WeakAlgorithm">
      <summary>
            Certificate uses algorithm which is not considered secure on this platform.
            </summary>
    </member>
    <member name="F:Rebex.Security.Certificates.ValidationStatus.NotTrusted">
      <summary>
            Certificate is not trusted.
            </summary>
    </member>
    <member name="T:Rebex.Security.Certificates.ValidationResult">
      <summary>
            Represents the result of certificate chain validation.
            </summary>
    </member>
    <member name="P:Rebex.Security.Certificates.ValidationResult.Status">
      <summary>
            Gets the status mask.
            </summary>
      <value>Status mask.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.ValidationResult.Valid">
      <summary>
            Gets the certificate chain validity status.
            </summary>
      <value>True if valid, false if not valid.</value>
    </member>
    <member name="P:Rebex.Security.Certificates.ValidationResult.NativeErrorCode">
      <summary>
            Gets the native error code returned by the validation function or zero if the native error code is not available.
            </summary>
      <value>The error code returned by the validation function.</value>
    </member>
    <member name="M:Rebex.Security.Certificates.ValidationResult.#ctor(Rebex.Security.Certificates.ValidationStatus)">
      <summary>
            Initialize instance of the <see cref="T:Rebex.Security.Certificates.ValidationResult" />.
            </summary>
      <param name="status">A validation status (use zero for success).</param>
    </member>
    <member name="T:Rebex.SortingOrder">
      <summary>
            Represents sorting order.
            </summary>
    </member>
    <member name="F:Rebex.SortingOrder.Ascending">
      <summary>
            Ascending sort order.
            </summary>
    </member>
    <member name="F:Rebex.SortingOrder.Descending">
      <summary>
            Descending sort order.
            </summary>
    </member>
    <member name="T:Rebex.TeeLogWriter">
      <summary>
            Log writer acting as a container that writes log messages to all inner writers. 
            </summary>
    </member>
    <member name="P:Rebex.TeeLogWriter.Level">
      <summary>
            A cumulative log level.<br />
            When getting, it returns the minimum level of inner writers' levels.<br />
            When setting, the value is propagated to all inner writers.
            </summary>
      <value>Log level.</value>
    </member>
    <member name="M:Rebex.TeeLogWriter.#ctor(System.Collections.Generic.IEnumerable{Rebex.ILogWriter})">
      <summary>
            Creates a new instance of a tee log writer over given set of individual <paramref name="writers" />.
            </summary>
      <param name="writers">A non-empty collection of log writers.</param>
    </member>
    <member name="M:Rebex.TeeLogWriter.#ctor(Rebex.ILogWriter[])">
      <summary>
            Creates a new instance of a tee log writer over given set of individual <paramref name="writers" />.
            </summary>
      <param name="writers">A non-empty array of log writers.</param>
    </member>
    <member name="M:Rebex.TeeLogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)">
      <summary>
            Write a message into all inner writers.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
    </member>
    <member name="M:Rebex.TeeLogWriter.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String,System.Byte[],System.Int32,System.Int32)">
      <summary>
            Write a message and data block into all inner writers.
            </summary>
      <param name="level">Message level.</param>
      <param name="objectType">Logging object type.</param>
      <param name="objectId">Logging object ID.</param>
      <param name="area">Logging area.</param>
      <param name="message">Message.</param>
      <param name="buffer">Data block.</param>
      <param name="offset">Data offset.</param>
      <param name="length">Date length.</param>
    </member>
    <member name="M:Rebex.TeeLogWriter.Dispose">
      <summary>
            Implements the interface method IDisposable.Dispose
            Use this method to explicitly release all resources hold by the inner writers.
            </summary>
    </member>
    <member name="T:Rebex.TimeComparisonGranularity">
      <summary>
            Specifies granularity for time comparisons.
            </summary>
    </member>
    <member name="F:Rebex.TimeComparisonGranularity.None">
      <summary>
            Time is taken as is.
            </summary>
      <remarks>
            Useful when working with NTFS file system.
            </remarks>
    </member>
    <member name="F:Rebex.TimeComparisonGranularity.Seconds">
      <summary>
            The smallest time unit is one second (milliseconds are ignored). 
            E.g. 11:33:55.999 is rounded to 11:33:55.000.
            </summary>
      <remarks>
            Useful when working with some UNIX FTP or SFTP servers.
            </remarks>
    </member>
    <member name="F:Rebex.TimeComparisonGranularity.TwoSeconds">
      <summary>
            The smallest time unit is two-second. So odd seconds are rounded to lower even value (milliseconds are ignored). 
            E.g. 11:33:55.999 is rounded to 11:33:54.000.
            </summary>
      <remarks>
            Useful when working with FAT file system (.NET CF, MS-DOS).
            </remarks>
    </member>
    <member name="F:Rebex.TimeComparisonGranularity.Days">
      <summary>
            The smallest time unit is one day (time component is ignored).
            E.g. 2012-12-12 11:33:55.999 is rounded to 2012-12-12 00:00:00.000.
            </summary>
      <remarks>
            Useful when working with some UNIX FTP or SFTP servers.
            </remarks>
    </member>
    <member name="T:Rebex.TraceLogWriter">
      <summary>
            Trace-based log writer that writes log messages to all trace listeners.
            </summary>
      <remarks>
            For general information about NET trace, see for instance
            <a href="https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/trace-listeners" target="_blank">Microsoft's trace listeners</a>.
            </remarks>
    </member>
    <member name="M:Rebex.TraceLogWriter.#ctor">
      <summary>
            Creates a new instance of trace log writer based on the default "Info" log level.
            </summary>
    </member>
    <member name="M:Rebex.TraceLogWriter.#ctor(Rebex.LogLevel)">
      <summary>
            Creates a new instance of trace log writer based on the specified log level.
            </summary>
      <param name="level">Log level.</param>
    </member>
    <member name="P:Rebex.TraceLogWriter.IsClosed">
      <summary>
            Get a value indicating whether the log writer is closed.
            </summary>
      <value>True when log writer is closed. False if log writer is opened and ready for writing.</value>
    </member>
    <member name="M:Rebex.TraceLogWriter.Dispose(System.Boolean)">
      <summary>
            Clean up any resources being used.
            </summary>
      <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    </member>
    <member name="M:Rebex.TraceLogWriter.WriteMessage(System.String)">
      <summary>
            Appends the specified message text to the trace listeners log. This method is only called by <see cref="M:Rebex.LogWriterBase.Write(Rebex.LogLevel,System.Type,System.Int32,System.String,System.String)" /> method
            and is only used by text-based loggers.
            </summary>
      <param name="message">Full message info.</param>
    </member>
    <member name="M:Rebex.Security.Cryptography.KeyDerivationParameters.#ctor">
      <summary>Creates an instance of <see cref="T:Rebex.Security.Cryptography.KeyDerivationParameters" /> class.</summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateIssuer.#ctor">
      <summary>Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.CertificateIssuer" /> class.</summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.PkcsBase.#ctor">
      <summary>Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PkcsBase" /> class.</summary>
    </member>
    <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfo.#ctor">
      <summary>Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo" /> class.</summary>
    </member>
    <member name="M:Rebex.IO.FileSystemItem.#ctor">
      <summary>Creates an instance of <see cref="T:Rebex.IO.FileSystemItem" /> class.</summary>
    </member>
  </members>
</doc>