Rebex.Common Console-based log writer that writes log messages to the console. Common base class for log writers. A derived class must override either the method or both Write methods. Defines methods and properties all log writers must implement. Write a message into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Write a message and data block into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Data block. Data offset. Date length. Get or set the log level - only log messages with log level equal to or greater than the specified one. Log level. Creates a new instance of . Closes the log writer. Releases unmanaged and managed resources (depending on the scenario). If is false, the method has been called from the finalizer and should not reference other objects (therefore only unmanaged resources can be disposed). True indicates that the method has been called via IDisposable.Dispose. False indicates that it has been called by the finalizer. Writes a message into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Writes a message and data block into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Data block. Data offset. Date length. Appends the specified message text into a text-based log. This method is only called by method and is only used by text-based loggers. Full message info. Disposes the object. Gets or sets the log level - only log messages with log level equal to or greater than the specified one. Log level. Get a value indicating whether the log writer is closed. True when log writer is closed. False if log writer is opened and ready for writing. Implementation in this base class returns false, as the close method actually does not close any resource. Creates a new instance of console log writer with a log level of Info. Creates a new instance of console log writer with the specified log level. Log level. Writes a message into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Writes a message and data block into the log. Message level. Logging object type. Logging object ID. Logging area. Message. Data block. Data offset. Date length. Appends the specified message text into a text-based log. Full message info. Gets or sets a value that indicates whether to use console colors. Various methods related to encoding (charset) used by Rebex components. Gets a list of supported encoding names. List of encoding names. Returns the encoding associated with the specified code page name. Code page name. Encoding. Returns the encoding associated with the specified code page. Code page. Encoding. ASCII encoding. Default encoding. UTF-8 encoding. File-based log writer that saves log messages into a text file. Creates a new instance of file log writer based on the specified file and the default "Info" log level. Path to log file. Creates a new instance of file log writer based on the specified file and log level. Path to log file. Log level. 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. If true, is called by IDisposable.Dispose. Otherwise it is called by finalizer. Appends the specified message text into a text-based log. Full message info. Finalizer. Called by garbage collector during object destruction. Path to the log file. Path to the log file. Get a value indicating whether the log writer is closed. True when logfile is closed. False if logfile is opened and ready for writing. Log level - specifies the levels of severity. Be verbose - log everything. Log all messages useful for debugging purposes. Only log informative messages. Only log errors. The Off level designates a higher level than all the rest. Define properties and methods for logging providers. Gets a to use for logging. Represents mode for interval boundaries. Include interval boundary. Exclude interval boundary. Represents a file or directory item. Gets the last modification time of the item. Gets the last access time of the item. Gets the creation time of the item. Gets file length. Gets the last modification time of the item. Gets the last access time of the item. Gets the creation time of the item. Gets a value indicating whether the item is a file. True if the item is a file; false otherwise. Gets a value indicating whether the item is a directory. True if the archive item is directory; false otherwise. Gets a value indicating whether the item is a link. True if the archive item is a link; false otherwise. Gets the name of the file or directory. The name of the file or directory. Gets the path of the file or directory. It can be relative or absolute path depending on the way of use. It contains a full path if returned by the GetItems method or a file/directory name only if returned by the GetList method. The path of the file or directory. Currently executed operation. Uploading files. Downloading files. Deleting files. Getting item list. Current traversal state of the . Retrieving of the file system hierarchy was started. Retrieving of the file system hierarchy was successfully completed. Retrieving of the particular directory hierarchy was started. Retrieving of the particular directory hierarchy was successfully completed. Current transfer state of the . Directory processing was started. Processing of a file was started. File was successfully transferred. A file data block was processed. The transfer action was successfully completed. Triggered only with multi-file operations. (For single-file operations, only is triggered.) Current delete state of the . File processing was started. File was successfully deleted. Directory processing was started. Directory was successfully deleted. The delete action was successfully completed. Detailed specification of a problem that occurred during a multi-file operation. A target file with the same name already exists. A symbolic link was detected. Symbolic link is probably a part of an infinite loop in the file system hierarchy. Cannot create target directory. Cannot transfer file. Cannot read from a directory. Cannot find the file which was found while retrieving file system hierarchy earlier. 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. 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. Cannot find the directory which was found while retrieving file system hierarchy earlier. Cannot find the link which was found while retrieving file system hierarchy earlier. Link is corrupted or its target cannot be found. Currently processed item is neither a file nor a directory. Operation was canceled. Feature required to complete the operation is not supported. Cannot delete the file. Cannot delete the directory. Cannot calculate checksum. Specifies the reaction to resolve the current problem that occurred during a multi-file operation. Cancel the whole operation. An exception with the value is thrown. Cancel the whole operation. An exception is thrown. Skip the current problematic item. Retry the current operation again. Overwrite target file with the same name. Transfer the source file to a different name. Resume target file. Resolve the symbolic link. Specifies the condition for overwriting a file. No condition = always overwrite. Overwrite if size differs. 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. Overwrite if checksum differs. Available for ZIP and FTP; only some FTP servers support checksums.
You can check availability of this condition using method.
Provides data for the ProblemDetected event. Initializes a new instance of the class (for internal use only). Event data. Determines whether the specified reaction is currently possible - use this to determine which reactions can be applied. Desired reaction. True if the specified reaction is possible; false otherwise. Determines whether the specified overwrite condition is currently possible - use this to determine which overwrite conditions can be applied. Desired condition. True if the specified condition is possible; false otherwise. Indicate to the sender that the problematic item should be skipped. Indicate to the sender that the operation should be canceled. Indicate to the sender that an exception should be raised. Indicate to the sender that the operation on the current item should be retired. Indicate to the sender that the current item should be resumed. Indicate to the sender that the current link should be resolved. 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". Indicate to the sender that the current item should be renamed. New name of the item or null (Nothing in Visual Basic) to use generated name according the pattern "filename[number].extension". Indicate to the sender that the current item should be overwritten. Indicate to the sender that the current item should be overwritten if the specified condition is met. Condition for the overwrite. Gets the current transfer action. Current transfer action. Gets the exception which will be raised if chosen Reaction is . Exception. Gets the type of the error that classifies the problem. Problem type. Gets the path of the local file or directory that is currently processed. Local path. Gets the local file or directory that is currently processed or null (Nothing in Visual Basic) if not available. Local item. Gets the path of the remote file or directory that is currently processed. Remote path. Gets the remote file or directory that is currently processed or null (Nothing in Visual Basic) if not available. Remote item. Gets the currently selected reaction to the current problem. The operation to be performed as the next step of the multi-file operation execution. Gets the condition to apply for the Overwrite reaction. If the chosen reaction is not Overwrite, this property is ignored. Overwrite condition. Gets the new name for the currently processed file or directory. If the chosen reaction is not Rename, this property is ignored. New name. Gets a user state object. User state object. Provides data for the Traversing event. Initializes a new instance of the class (for internal use only). Event data. Gets the current transfer action. Current transfer action. Gets the current traversing state of the current . Current traversing state of the current . Gets the file or directory which is currently processed. Currently processed item. Gets the current total number of files to be processed (traversed so far). Current total number of files to be processed (traversed so far). Gets the current total number of bytes to be processed (traversed so far). Current total number of bytes (traversed so far). Gets a user state object. User state object. Provides data for the TransferProgressChanged event. Initializes a new instance of the class (for internal use only). Event data. Gets the current transfer action. Current transfer action. Gets the current transfer state of the current . Current transfer state of the current . Gets the file or directory which is currently processed. Currently processed item. Gets the target path of the file or directory which is currently processed. Target path. Gets the total number of bytes transferred during the transfer of the current file. The number of bytes transferred. Gets the total number of files to be transferred. Number of files. Gets the number of files that were already processed (either transferred or skipped). Number of files. Gets the number of files that were already successfully transferred. Number of files. Gets the total number of bytes to be transferred. Number of bytes. Gets the total number of bytes transferred. Number of bytes. Gets the number of bytes transferred during the current transfer since the last time the event was raised. The number of bytes transferred since the last time the event was raised. Gets the current transfer speed in bytes transferred per second (or 0 if not available). An estimate of the current speed in number of bytes per second. Value of 0 indicates that this information is not available. Gets a number between 0 and 100 representing the percentage of completeness of the operation. Percentage value (0..100). Gets a number between 0 and 100 representing the percentage of completeness of the current file transfer. Percentage value (0..100). Provides data for the DeleteProgressChanged event. Initializes a new instance of the class (for internal use only). Event data. Gets the current delete state of the current . Current delete state of the current . Gets the file or directory which is currently processed. Remote item. Gets the total number of files to be deleted. Number of files. Gets the number of files that were already processed (either deleted or skipped). Number of files. Gets the number of files that were already successfully deleted. Number of files. Gets a number between 0 and 100 representing the percentage of completeness of the operation. Percentage value (0..100). Specifies checksum algorithm. SHA-1 checksum. SHA-256 checksum. SHA-384 checksum. SHA-512 checksum. MD5 checksum. SHA-224 checksum. Request CRC32 checksum. Represents data checksum. Returns checksum data. Creates an instance of an object that represents data checksum. Checksum algorithm used to compute the checksum. Checksum data. Implicit conversion from to string. Checksum to convert to string. Hex string representation of the checksum. Comparest 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. Object to compare with this instance. A value that indicates the relative order of checksums being compared. Returns a value indicating whether the specified object is equal to this checksum. Object to compare with this instance. True if the two instances are same type and represent the same checksum. Returns the hash code for this checksum. Returns a hex string representation of this checksum. Hex string representation of this checksum. Returns checksum algorithm. Returns a hex string representation of the checksum. Specifies modes of the method. Specifies whether the specified regular file matches the the . Specifies whether the specified directory matches the the . Specifies whether the specified directory should be traversed to retrieve another matches. Set of inclusion and exclusion patterns. It doesn't depend on the order how the inclusion and exclusion patterns are added into the . Initializes a new instance of the class. Initializes a new instance of the class. A path to be considered as a base path of the set. Initializes a new instance of the class. Directory separators to be used in all paths. Initializes a new instance of the class. A path to be considered as a base path of the set. Directory separators to be used in all paths. Initializes the object. A path to be considered as a base path of the set. A path or mask relative to a base path which define an initial inclusion pattern. Initializes the object. A path to be considered as a base path of the set. A path or mask relative to a base path which define an initial inclusion pattern. Specifies traversal mode of directories for the . Adds a path or mask into collection of inclusion patterns. The supported wildcards are '?' and '*' and '**'. For detailed specification with examples see the documentation. A path or mask (relative to the base path) which define an inclusion pattern. Adds a path or mask into collection of inclusion patterns. The supported wildcards are '?' and '*' and '**'. For detailed specification with examples see the documentation. A path or mask (relative to the base path) which define an inclusion pattern. Specifies traversal mode of directories for the . '?' matches any single character.
'*' matches any number of any characters except the directory separators.
'**' 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").
data\file-???.txt Matches files within the "data" directory e.g. "data\file-007.txt", but not "data\file-7.txt".
data\*.txt 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".
data\**\*.txt 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".
Adds a path or mask into collection of exclusion patterns. The supported wildcards are '?' and '*' and '**'. For detailed specification with examples see the documentation. A path or mask (relative to the base path) which define an exclusion pattern. Adds a path or mask into collection of exclusion patterns. The supported wildcards are '?' and '*' and '**'. For detailed specification with examples see the documentation. A path or mask (relative to the base path) which define an exclusion pattern. Specifies traversal mode of directories for the . '?' matches any single character.
'*' matches any number of any characters except the directory separators.
'**' 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").
data\file-???.txt Matches files within the "data" directory e.g. "data\file-007.txt", but not "data\file-7.txt".
data\*.txt 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".
data\**\*.txt 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".
Returns a value indicating whether the specified relative path matches the . 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 this method should return false if no inclusion pattern was specified; true otherwise. A relative path to a base path to be tested for a match. Specifies how the should be treated for match. True if the path matches the set; false otherwise. Gets a collection of local file system items (files and directories) which matches this . 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 .
If you don't want to include empty directories into result collection, please set the to false.
A collection of local file system items which matches this .
Gets or sets the base path of the set. A path to be considered as a base path of the set. Gets or sets a value indicating whether the is case sensitive. True if the is case sensitive; false otherwise. Gets or sets a value indicating whether a consumer of the should include empty directories or not. Also used in the method. True if empty directories should not be included; false otherwise. Gets or sets a value indicating whether a consumer of the should also include directories where the files are located. Also used in the method. Example: Ftp.GetItems("DIR/*.txt") - this property determines whether item "DIR" should be also included in output collection. True if directories where the files are located should be included; false otherwise. Gets or sets a value indicating whether a consumer of the 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). True if flatten the output; false otherwise. The exception that is thrown when an error occurs while using Rebex FileSystem. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Represents a file system provider. This type is not intended to be used directly from your code. To implement custom file system providers, add reference to the Rebex.FileSystem assembly and use one of the following base classes. Constructor. Performs application-defined tasks associated with freeing, releasing, or resetting resources. 2 Derived classes must create a child file system with the root path equals to the . Root path of the child file system. Child file system with the root path equals to the . Releases the resources used by the . true to release both managed and unmanaged resources; false to release only unmanaged resources. Configuration options for the . Initializes new instance of the . Gets or sets value indicating whether the method is called for directories. Default value is false. Gets or sets value indicating whether the strict checks for is enabled. Default value is false. Enable strict checks only for debugging purposes. Do not use strict checks in production. Gets or sets value indicating whether the method is called for directories. Default value is false. Gets or sets value indicating whether the method is called for directories. Default value is false. Gets or sets used for logging. Default value is null. Gets or sets default used by the classes inherited from the and . Represents basic type of the Rebex file system. Read only Rebex file system. Read-write Rebex file system. Represents an attributes of the node. Initializes a new instance of the of the node Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Determines whether two specified have the same value. The first to compare, or null. The second to compare, or null. true if the value of left is the same as the value of right, otherwise false. Determines whether two specified have different values. The first to compare, or null. The second to compare, or null. true if the value of left is different from the value of right; otherwise false. Returns a string that represents the current . A string that represents the current . 2 Gets the file atttributes of the node. Gets a value indicating whether the .ReadOnly flag is set. true if the the .ReadOnly flag is set, otherwise false. Represents a content of a file. Performs application-defined tasks associated with freeing, releasing, or resetting resources. 2 Method creates read only content from the given . Stream containing the content of the node. New read only content. Method creates read/delayed write content from the given stream. Use this method when following is desired/acceptable behavior:
  • Underlying stream does not support immediate writing to the file.
  • When previously returned from this method is disposed and underlying stream has been changed, then the method method in the is called.
Stream containing the content of the node. New read/delayed write content.
Method creates read/immediate write content from the given stream. Use this method when following is desired/acceptable behavior:
  • Stream supports immediate writing to the file (e. g. ).
  • SaveContent method in ReadWriteFileSystemProvider is NEVER called. All data are written immediately using the suitable write methods.
Stream containing the content of the node. New read/immediate write content.
Returns with the content of the file. Stream with the content of the file. Gets a value indicating whether underlying stream of this instance is read only. true if the content is read only, otherwise false. 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. Represents read, write or read/write access to the file. This enumeration has a attribute that allows a bitwise combination of its member values. Read access to the file. Write access to the file. Read and write access to the file. Represents retrieval parameters. Represents read access requirement. Represents write access requirement. Represents read and write access requirement. Initializes a new instance of the Required access type to the file. Determines whether two specified have the same value. The first to compare, or null. The second to compare, or null. true if the value of left is the same as the value of right, otherwise false. Determines whether two specified have different values. The first to compare, or null. The second to compare, or null. true if the value of left is different from the value of right; otherwise false. Returns a string that represents the current . A string that represents the current . 2 Gets required access type to the file. Representats a file system path. Used directory separator. Name of the root directory. Represents the empty . Initializes a new instance of the . Examples of the valid path: / /dir1 /dir1/ /dir1/dir2 /dir1/dir2/ /dir1/dir2/file.txt path in the string format Exception is thrown when the is malformed. Returns an array of characters not allowed in . Gets an enumerator that iterates through the elements of this path. Indicates whether the current is equal to another . true if the current object is equal to the parameter; otherwise, false. An to compare with this . 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 . Root path ('/') does not have any subpath. For the with the path '/dir1/dir2/file.txt'; GetSubPath(0) returns '/dir1'. GetSubPath(1) returns '/dir1/dir2'. GetSubPath(2) returns 'dir1/dir2/file.txt'. GetSubPath(3) throws . Zero based index of the end part of the subpath. A subpath that is a subsequence of the parts of this path. Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The object to compare with the current object. 2 Creates new with added to the end of this . New part of the path. New with the added to the end of this . Creates new with added to this . The new extension. New with the added to this . Creates new based on this and with the new . The new extension. New based on this and with the new . Creates new based on this and with the extension deleted. New based on this and with the extension deleted. Tests if this starts with the given . Given . True if this starts with the given , otherwise false. Determines whether two specified have the same value. The first path to compare, or null. The second path to compare, or null. true if the value of left is the same as the value of right, otherwise false. Determines whether two specified have different values. The first path to compare, or null. The second path to compare, or null. true if the value of left is different from the value of right, otherwise false. Returns a string that represents the current . A string that represents the current . 2 Convert the value of the to the string representation. The to cast to . Convert the value of to the instance of the . The path to convert to the . Exception is thrown when the is malformed. Combines strings in the array into a . New combined from the strings in the array. Indicates whether the specified is null or an instance of the . The to test. true if the parameter is null or an instance of the ; otherwise false. Gets the name of the or the . Gets the name without an extension. Indicates whether a path contains file name extension. True if path contains file name extension, otherwise false. Gets an enumerator that iterates through the elements of this path. Gets the parent path, or path if this path does not have parent. Gets the file name extension, or if this path does not have extension. Returns true if this path equals to path, otherwise returns false. Returns this as a . Indicates if this instance is the root path ('/'). True if this instance is the root path, otherwise false. Returns an element of this path. Index of the element to return. An element of this path. Gets the IEqualityComparer that is used to determine equality of . Returns the number of elements in the path. The number of elements in the path. The exception that is thrown when an error occurs while creating new . Initializes a new instance of the class Initializes a new instance of the class Initializes a new instance of the class Initializes a new instance of the class Holds the last access time, the last write time and the creation time of the node. All dates are expressed as UTC. Immutable type. Initializes a new instance of the . Creation time of the node (expressed as UTC). Last access time of the node (expressed as UTC). Last write time of the node (expressed as UTC). Missing or null parameters will have default value . Time values with 'local' or 'unspecified' kind are converted to UTC automatically. Creates new instance with all properties equals to the current instance properties except the property , which is set to value. New creation time (expressed as UTC). New instance with all properties equals to the current instance properties except the property , which is set to value. Creates new instance with all properties equals to the current instance properties except the property , which is set to value. New last access time (expressed as UTC). New instance with all properties equals to the current instance properties except the property , which is set to value. Creates new instance with all properties equals to the current instance properties except the property , which is set to value. New last write time (expressed as UTC). New instance with all properties equals to the current instance properties except the property , which is set to value. Indicates whether the specified is null or an NodeTimeInfo. The to test. true if the parameter is null or an NodeTimeInfo ("CreationTime=LastAccessTime=LastWriteTime=DateTim.MinValue"), otherwise false. Determines whether two specified have the same value. The first to compare, or null. The second to compare, or null. true if the value of left is the same as the value of right, otherwise false. Determines whether two specified have different values. The first to compare, or null. The second to compare, or null. true if the value of left is different from the value of right; otherwise false. Represents the empty . Empty has == and == and == . > Creation time of the node (expressed as UTC). Last access time of the node (expressed as UTC). Last write time of the node (expressed as UTC). The type of the file system node. Invalid value. File node. Directory node. Link node (unused). Specifies all node types, including File, Directory and Link. Provides a container for a collection of objects. Initializes a new instance of the class. Validates whether the item is correct and can be added. Item to add. Gets an for the collection. An for the collection. Adds the elements of the specified collection to the end of the FileSystemItemCollection. The collection whose elements should be added to the end of the FileSystemItemCollection. Adds the specified item to the collection. The item to be added to the collection. Removes the specified item from the collection. The item to remove from the collection. True if item was successfully removed from the collection; false otherwise. Removes the item with the specified path from the collection. The path of an item to remove from the collection. Removes the item at the specified index from the collection. The zero-based index of the item to remove. Removes all items from the collection. Copies the range of elements from the collection to a one-dimensional array, starting at the specified index of the target array. One-dimensional zero-based array that is the destination of the elements copied from the collection. A zero-based index in the destination array at which copying begins. Determines whether the item is in the collection. The item to locate in the collection. True if the item is located in the collection; false otherwise. Determines whether the item with the specified path is in the collection. The path to locate in the collection. True if the item with the specified path is located in the collection; false otherwise. Gets the total size of files contained in the collection. The total size of files contained it the collection. Returns the paths of files in the collection that match the specified search pattern. The regular expression to match the paths or filenames against. A array containing the paths or names of files in the specified directory that match the specified search pattern. The method works in two different modes (determined by property): Filenames without path are searched and returned. This mode is used by default for collections returned by GetList method.Filenames with path are searched and returned. This mode is used by default for collection returned by GetItems method. Returns the names of files in the collection that match the specified search pattern. The search string to match the items against. If tree, perform unix-like case-sensitive matching. A array containing the names of files in the specified directory that match the specified search pattern.

The following wildcards are permitted in searchPattern:
* - Zero or more characters.
? - Exactly one character.
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".

The method works in two different modes (determined by property): Filenames without path are searched and returned. This mode is used by default for collections returned by GetList method.Filenames with path are searched and returned. This mode is used by default for collection returned by GetItems method.

Returns the names of files in the collection that match the specified search pattern. The search string to match the items against. A array containing the names of files in the specified directory that match the specified search pattern.

The following wildcard specifiers are permitted in searchPattern:
* - Zero or more characters.
? - Exactly one character.
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".

The method works in two different modes (determined by property): Filenames without path are searched and returned. This mode is used by default for collections returned by GetList method.Filenames with path are searched and returned. This mode is used by default for collection returned by GetItems method.

Sorts the items in the entire collection alphabetically. Sorts the elements in the entire collection using the specified comparer. The implementation to use when comparing elements, or a null reference to sort alphabetically. Sorts the elements in a section of the collection using the specified comparer. The zero-based starting index of the range to sort. The length of the range to sort. The implementation to use when comparing elements, or a null reference to sort alphabetically. Gets an object that can be used to synchronize access to the collection. An object that can be used to synchronize access to the collection. Gets the number of elements contained in the collection. The number of elements contained in the collection. Gets the item at the specified index. A zero-based index of the item to get. Item at the specified index. Gets the item of the specified path. The path of the item to get. Item with the specified path, or null if not found. Gets or sets a value that indicates whether to use a Path or Name for pattern matching and return values in the method. List of possible compare types for the FileSystemItemComparer class. Compare by . Compare by . Compare by creation date and time of the item. Compare by last modification date and time of the item. Compare by last access date and time of the item. Compare by type of the item (directory/file/link). Class used to compare objects. Creates a new instance of FileSystemItemComparer with default sorting by file name and with ascending sort mode. Creates a new instance of FileSystemItemComparer with specified comparer type and ascending sort mode. Type of the comparer. Creates a new instance of FileSystemItemComparer with specified comparer type and sort mode. Type of the comparer. Sorting order. IComparer interface implementation. Compares two instances of . First object to compare. Second object to compare. 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. Specifies how a search pattern is treated (how to traverse a hierarchy of directories). See Using TraversalMode blog post for samples. Performs shallow search for files and directories; do recursive transfer of matching directories.
Shallow search means that items are searched only in the first level of given directory.
If the pattern matches a file, the file is processed.
If the pattern matches a directory, all files and subdirectories are processed.
Performs shallow search for files and directories; do non-recursive transfer of matching directories.
Shallow search means that items are searched only in the first level of given directory.
If the pattern matches a file, the file is processed.
If the pattern matches a directory, only the directory itself is processed (without any content = empty directory will be created).
Performs shallow search for files only. This is the same as mode, but only files are processed.
Shallow search means that files are searched only in the first level of given directory.
Performs deep search for files only. This is like DOS xcopy deep file search.
Deep search means that files are searched in the given directory and also in all its subdirectories.
However, if this mode is used in GetItems method, returned collection will also contains directories where the files were found.
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: collection.Where(item => !item.IsDirectory)
Specifies the default action to perform when a target file already exists. However, the default action can still be changed using the ProblemDetected event. Existing files are to cause the whole multi-file transfer to be canceled and an exception to be raised. Existing files are to be always skipped. Existing files are to be always overwritten. 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. Existing files with different sizes are to be overwritten. Existing files are to be resumed if they are smaller than source files. 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 method. Existing files with different checksum are to be overwritten.
Works on FTP and ZIP only. ZIP uses CRC-32 always; FTP uses checksums provided by the server (some FTP servers support no checksums).
Specifies behavior on links and reparse points in multi-file operations. Detected links are to be resolved and processed - however, this can still be changed by ProblemDetected handler. Detected links are to be skipped - however, this can still be changed by ProblemDetected handler. Detected links cause an exception to be thrown - however, this can still be changed by ProblemDetected handler. Specifies link type. Symbolic link (symlink). Hard link. Specifies the method of the transfer. Items are copied. Items are moved to the target destination (items are deleted in the source location). Specifies the behaviour of the . All items (files and directories) are moved to the target destination deleting them in the source location. Only files are moved to the target destination. Directories remain (not deleted) in the source location. Specifies which date/time to restore. Restore no date/time. Restore CreationTime. Restore LastWriteTime. Restore LastAccessTime. Restore all date and times. Represents a file or directory on the local file system. Initializes a new instance of the class. Path to a file or directory on the local file system. Gets the last modification time of the item. Sets the last modification time of the item. The last modification time. Gets the last access time of the item. Sets the last access time of the item. The last access time. Gets the creation time of the item. Sets the creation time of the item. The creation time. Returns the full path of the item. The full path of the item. Deletes the local item. Gets the list of file items in a directory represented by this object. Fails if this object is not a directory. This is only valid for directories. List of file items. Gets the list of directory items in a directory represented by this object. Fails if this object is not a directory. This is only valid for directories. List of directory items. Computes the CRC32 (Cyclic Redundancy Check) value of the file. This is only valid for files. CRC32 checksum value. Calculates the checksum for the specified file. Path to the file. Desired checksum algorithm. Checksum of the specified file. Calculates the checksum of the specified part of the specified file. Path to the file. Desired checksum algorithm. The offset in the local file at which to start processing. The maximum number of bytes to process. /// Checksum of the specified file. Gets a value indicating whether the file or directory exists. True if the file or directory exists; false otherwise. Gets file length. Gets a value indicating whether the item is a file. True if the item is a file; false otherwise. Gets a value indicating whether the item is a directory. True if the archive item is directory; false otherwise. Gets a value indicating whether the item is a link. True if the archive item is a link; false otherwise. Gets the name of the file or directory. The name of the file or directory. Gets the relative path of the file or directory. The relative path of the file or directory. Gets the full path of the file or directory. The full path of the file or directory. Gets item attributes. Provides a container for a collection of objects. Initializes a new instance of the class. Validates whether the item is correct and can be added. Item to add. Adds the item to the collection. The item to be added to the collection. Adds the item to the collection. The item to be added to the collection. Adds the elements of the specified collection to the end of the LocalItemCollection. The collection whose elements should be added to the end of the FtpItemCollection. Adds the elements of the specified collection to the end of the LocalItemCollection. The collection whose elements should be added to the end of the FtpItemCollection. Determines whether the item is in the collection. The item to locate in the collection. True if the item is located in the collection; false otherwise. Determines whether the item is in the collection. The item to locate in the collection. True if the item is located in the collection; false otherwise. Determines whether the item with the specified path is in the colleciton. The path to locate in the collection. True if the item with the specified path is located in the collection; false otherwise. Copies the range of elements from the collection to a one-dimensional array, starting at the specified index of the target array. One-dimensional zero-based array that is the destination of the elements copied from the collection. A zero-based index in the destination array at which copying begins. Removes the specified item from the collection. The item to remove from the collection. True if item was successfully removed from the collection; false otherwise. Removes the specified item from the collection. The item to remove from the collection. True if item was successfully removed from the collection; false otherwise. Gets an for the collection. An for the collection. Gets the item at the specified index. A zero-based index of the item to get. Item at the specified index. Gets the item of the specified path. The path of the item to get. Item with the specified path, or null if not found. License key infrastructure for trial versions of Rebex components. Gets or sets the license key. License key. Gets collection of license keys. Class for chained comparison of objects. Creates a new instance of MultiComparer. An array of comparers to use. IComparer interface implementation. Compares two instances of provided objects. The first object to compare. The second object to compare. A signed integer that indicates the result of 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. SSPI data representation. Only supported on Windows platforms. Native. Network. SSPI requirements flag. Only supported on Windows platforms. The server can use the context to authenticate to other servers as the client. Must be used with MutualAuthentication flag. Mutual authentication. Confidentiality. Connection. Integrity. SSPI credential usage. Only supported on Windows platforms. Inbound. Outbound. SSPI credential use. Only supported on Windows platforms. Inbound. Outbound. Represents an SSPI error. Only supported on Windows platforms. Wrapper class for SSPI authentication. Only supported on Windows platforms. Creates a new SSPI session. Authentication package. Data representation. Target name. Requirements. User name. Password. User domain Only supported on Windows platforms. Creates a new SSPI session. Authentication package. Credential use. Data representation. Target name. Requirements. User name. Password. User domain Only supported on Windows platforms. Creates a new SSPI session. Authentication package. Credential usage. Data representation. Target name. Requirements. User name. Password. User domain Only supported on Windows platforms. Disposes the SSPI session. Get next SSPI message. Challenge. Receives a value indicating whether the SSPI has finished. Next SSPI message. Only supported on Windows platforms. Verifies an SSPI signature. Message. Signature. True if valid, false otherwise. Only supported on Windows platforms. Creates an SSPI signature. Challenge. Signature. Only supported on Windows platforms. Unwraps (decrypts) the SSPI message. Challenge. QOP Unwrapped (decrypted) message. Only supported on Windows platforms. Wraps (encrypts) SSPI message. Response. QOP. Receives a value indicating whether the SSPI has finished. Wrapped (encrypted) message. Only supported on Windows platforms. The hash algorithm used to compute the hash for hash signing and verification methods. Unsupported hash algorithm. MD5. SHA1. MD5SHA1. GOST R 34.11-94. Not supported. SHA-256. SHA-384. SHA-512. MD4. The key algorithm for the certificate. Unsupported key algorithm. RSA. DSA. GOST R 34.10-2001. Not supported. Elliptic Curve DSA. ED25519. Intended key usage. Digital signature. Non-repudiation. Key encipherment. Data encipherment. Key agreement. Certificate signing. CRL signing. Key encipherment only. Key decipherment only. Key set options. Imported keys are marked as exportable. The user is to be notified through a dialog box or other method when certain attempts to use this key are made. Private keys are stored under the local computer and not under the current user. 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. Private keys are persisted on disk when importing a certificate Always load the key into CNG key storage provider. Only supported on Windows Vista or higher. Load the key into CNG key storage provider if possible. Only supported on Windows Vista or higher. Specifies certificate file format. Binary DER encoded X.509 certificate. Base-64 encoded DER X.509 certificate. P12/PFX certificate with private key. Represents an X509 v3 certificate. Loads a certificate from an array. An array containing DER encoded certificate data. Loads a DER encoded certificate from the specified file. Path to a file. A certificate. Loads a DER encoded certificate from the specified stream. Stream to load a certificate from. A certificate. Loads a DER encoded certificate and a private key (in PKCS #8, PuTTY or SSLeay format) from the specified files. Path to a certificate file. Path to the private key file. Private key password. A certificate. Loads a DER encoded certificate and a private key (in PKCS #8, PuTTY or SSLeay format) from the specified streams. Stream with the certificate. Stream with the private key. Private key password. A certificate. Associates the supplied private key with the certificate to perform operations that need a private key. An instance of RSA, DSA, RSACryptoServiceProvider or DSACryptoServiceProvider. Associates the supplied private key with the certificate to perform operations that need a private key. The private key. Associates the supplied private key with the certificate to perform operations that need a private key. The private key. Associates the supplied private key with the certificate to perform operations that need a private key. An instance of RSA, DSA, RSACryptoServiceProvider or DSACryptoServiceProvider. Specifies whether to permanently bind the certificate to the specified CSP. Associates the supplied private key with the certificate to perform operations that need a private key. The private key. Specifies whether to permanently bind the certificate to the specified CSP. Associates the supplied private key with the certificate to perform operations that need a private key. The private key. Specifies whether to permanently bind the certificate to the specified CSP. Loads a certificate with a private key from a PKCS#12 (PFX) file. Path to a file. Encryption password. A certificate with private key. Loads a certificate with a private key from a PKCS#12 (PFX) array. An array containing DER encoded PKCS#12 data. Encryption password. A certificate with private key. Loads a certificate with a private key from a PKCS#12 (PFX) file. Path to a file. Encryption password. Key set options. A certificate with private key. Loads a certificate with a private key from a PKCS#12 (PFX) array. An array containing DER encoded PKCS#12 data. Encryption password. Key set options. A certificate with private key. Saves the certificate to the supplied file in DER format. Path to the file to save the certificate to. If the file exists, it is overwritten. Saves the certificate to the supplied stream in DER format. Stream to save the certificate to. Saves the certificate to the supplied file in specified format. Path to the file to save the certificate to. If the file exists, it is overwritten. Certificate format. Saves the certificate to the supplied stream in specified format. Stream to save the certificate to. Certificate format. Saves the certificate to the supplied file in specified format. Path to the file to save the certificate to. If the file exists, it is overwritten. Certificate format. Password (only used by PFX/P12 format). On .NET Compact Framework, this is only supported in Windows CE 5.0 or later. Saves the certificate to the supplied stream in specified format. Stream to save the certificate to. Certificate format. Password (only used by PFX/P12 format). On .NET Compact Framework, this is only supported in Windows CE 5.0 or later. Saves the certificate's private key to the supplied file. Path to the file to save the certificate to. If the file exists, it is overwritten. Private key password. Private key file format. If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters. Saves the certificate's private key to the supplied stream. Stream to save the private key to. Private key password. Private key file format. If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters. Creates a new instance of based on the specified context. A pointer to the certificate context.

Only supported on Windows platforms.

Creates a new instance of based on the specified certificate or . An instance of or . Converts an or to a . An instance of or . A . Converts a to (or ). An instance of . An . Returns the hash algorithm used to create the signature of this certificate. Hash algorithm. Returns the collection of CRL distribution points. Collection of CRL distribution points, or null if not available. Returns the DN of the certification authority that issued the X.509v3 certificate. DN of the certification authority that issued the X.509 certificate. Returns the name of the certification authority that issued the X.509v3 certificate. The name of the certification authority that issued the X.509 certificate. Returns DN of the principal to which the certificate was issued. DN of the principal to which the certificate was issued. Returns the name of the principal to which the certificate was issued. The name of the principal to which the certificate was issued. Returns the public key for the X.509v3 certificate. The public key for the X.509v3 certificate. Returns the key algorithm parameters for the X.509v3 certificate. The key algorithm parameters for the X.509v3 certificate. Returns the public key info for the X.509v3 certificate. The public key info for the X.509v3 certificate. Returns the certificate's subject key identifier (SKI). Subject key identifier. Returns the certificate's issuer key identifier (AKI). Issuer (authority) key identifier. Returns the certificate's common name, if available. Common name; or null if not available. Returns the list of certificate's common names. The list of common names. Returns the list of certificate's e-mail addresses. The list of addresses. Returns the serial number of the X.509v3 certificate. The serial number of the X.509 certificate as an array of bytes. Returns the expiration date of this X.509v3 certificate (in local time). The expiration date for this X.509 certificate. The expiration date is the date after which the X.509 certificate is no longer considered valid. Returns the effective date of this X.509v3 certificate (in local time). The effective date for this X.509 certificate. The effective date is the date after which the X.509 certificate is considered valid. Returns the hash value for the X.509v3 certificate as an array of bytes. The hash value for the X.509 certificate. Returns the raw data for the entire X.509v3 certificate. The raw data for the entire X.509v3 certificate. Checks whether a certificate is time valid. true if valid, false if not valid. Returns the intended key usage value. Intended key usage. This method is deprecated, use instead. An array of intended key usage identifiers. Returns an array of enhanced key usage identifiers. An array of enhanced key usage identifiers, or null if the certificate is valid for all uses. Returns the DSA parameters of certificate's public key. The DSA parameters of certificate's public key. Returns the RSA parameters of certificate's public key. The RSA parameters of certificate's public key. Returns the RSA parameters of certificate's public or private key. True if private key parameters are to be exported as well. If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters. The RSA parameters of certificate's public or private key. Returns the DSA parameters of certificate's public or private key. True if private key parameters are to be exported as well.If set to true, the cryptographic provider should not display any user interface (UI) when exporting private key parameters. The DSA parameters of certificate's public or private key. Checks whether a private key for this certificate is available. True if available, false if not available. Returns the size of the key in bits. Size of the key in bits. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. The hash value of the signed data. A hash algorithm used to create the hash value. The signature for the specified hash value. True if the signature verifies as valid; otherwise, false. Verifies the specified signature data by comparing it to the signature computed for the specified message. The message. The signature for the specified message. True if the signature verifies as valid; otherwise, false. Verifies the specified signature data by comparing it to the signature computed for the specified message. The message. The signature for the specified message. Signature parameters. True if the signature verifies as valid; otherwise, false. Computes the signature for the specified hash value by encrypting it with the private key. The hash value of the data to be signed. A hash algorithm used to create the hash value. If set to true, the cryptographic should not display any user interface (UI). The signature for the specified hash value.

The private key for a certificate must be available for this method to succeed.

If silent operation is requested and the CSP must display UI to operate, this method will fail.

Computes the signature for the specified message by encrypting it with the private key. The message to be signed. The signature for the specified message.

The private key for a certificate must be available for this method to succeed.

Computes the signature for the specified message by encrypting it with the private key. The message to be signed. Signature parameters. The signature for the specified message.

The private key for a certificate must be available for this method to succeed.

Encrypts data. Data to be encrypted. Encrypted data. Decrypts data. Data to be decrypted. If set to true, the cryptographic provider should not display any user interface (UI). Decrypted data. If silent operation is requested and the cryptographic provider needs to display a UI to operate, this method will fail. Verifies the validity of the certificate. Validation result. Verifies the validity of the certificate, including its compliance with the specified criteria. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Validation result. Verifies the validity of the certificate, including its compliance with the specified criteria. The name of the server. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Validation result. Verifies the validity of the certificate, including its compliance with the specified criteria, using the specified chain engine. The name of the server. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Certificate chain engine. Validation result. Validates the specified certificate revocation list (issued by this certificate). Certificate revocation list to validate. The date in which the validation takes effect; specify null (Nothing in VB.NET) to skip time validation check. Status of the validation result. If the CRL is valid, the return value is 0. Disposes the object and releases resources. Calling this method ensures that all resources are freed. Finalizer. Gets a handle of the certificate. A handle of the certificate.

Only supported on Windows platforms.

Gets the certificates extensions collection. Extensions collection. Returns the key algorithm for this certificate. The key algorithm for this certificate. Gets the thumbprint of the certificate. Certificate's thumbprint. Gets or sets the friendly name associated with the certificate. Friendly name associated with the certificate. Not available in .NET CF. Gets or sets a custom object associated with this particular instance of . This value is not persisted. A chain engine (name space and cache) to be used to build and validate certificate chains. The chain engine of the current user. The chain engine of the local machine. Use current certificate engine if set; otherwise use engine (platform-specific). Represents a chain of certificates. 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. Gets an for the collection. An for the collection. 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). The certificate to be added to the chain. The position of the certificate in the chain. Creates an empty certificate chain. Creates a certificate chain from an array of certificates. An array of certificates. Loads a certificate with a private key from a PKCS#12 (PFX) file. Path to a file. Encryption password. A certificate with private key. Loads a certificate with a private key from a PKCS#12 (PFX) array. An array containing DER encoded PKCS#12 data. Encryption password. A certificate with private key. Loads a certificate with a private key from a PKCS#12 (PFX) file. Path to a file. Encryption password. Key set options. A certificate with private key. Loads a certificate with a private key from a PKCS #12 (.p12/.pfx) array. An array containing DER encoded PKCS #12 data. Encryption password. Key set options. A certificate with private key. Loads from the specified PKCS #7 (.p7b) file. Path to the file. Instance of , never null. The PKCS #7 file can be saved using method. Loads a PKCS #7 (.p7b) encoded from the specified file. Stream to load a from. Instance of , never null. The PKCS #7 stream can be saved using method. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. The hash value of the signed data. A hash algorithm used to create the hash value. The RSA signature for the specified hash value. true if the signature verifies as valid; otherwise, false. The hash algorithm parameter is ignored with managed RSA. Builds a certificate chain for a specified certificate. End certificate. The chain for an end certificate. This function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate. Builds a certificate chain for a specified certificate. End certificate. Certificate chain engine. The chain for an end certificate. This function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate. Builds a certificate chain for a specified certificate. End certificate. Additional store to search in addition to system stores. The chain for an end certificate. This function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate. Builds a certificate chain for a specified certificate. End certificate. Certificate chain engine. Additional store to search in addition to system stores. The chain for an end certificate. This function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate. Verifies the validity of the certificate chain. Validation result. Verifies the validity of the certificate chain, including its compliance with the specified criteria. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Validation result. Verifies the validity of the certificate chain, including its compliance with the specified criteria. The name of the server. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Validation result. Verifies the validity of the certificate chain, including its compliance with the specified criteria, using the specified chain engine. The name of the server. Validation options (not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). Certificate chain engine. Validation result. Saves the certificate chain to the specified path as a .P7B (PKCS #7) file. Path to save the certificate chain file to. Saves the certificate chain to the specified stream in .P7B (PKCS #7) format. Stream to write the certificate chain to. Loads a chain of Base-64-encoded X509 certificates from the specified file. Path to a file with the certificate chain. A certificate chain. Gets the default certificate chain engine (platform-specific). Gets the number of certificates in the chain. The number of certificates in the chain. Gets or sets the certificate at the specified position. The certificate at the specified position The certificate at the specified position. Gets the certificate of the root certification authority, if available. Root CA certificate if available; null otherwise. Gets the first certificate in the chain, if not empty. Leaf certificate; null if the chain is empty. Represents a collection of X509 v3 certificates. A base class for various collections of cryptographic objects. A base class for various collections of cryptographic objects. Gets an for the . An for the collection. Copies the range of elements from the to a compatible one-dimensional , starting at the specified index of the target array. One-dimensional zero-based array that is the destination of the elements copied from . A zero-based index in the destination array at which copying begins. Gets the number of items in the . The number of items in collection. Gets a value indicating whether access to the is synchronized. Gets an object that can be used to synchronize access to the . Adds an item to the collection. Item to add. Removes all elements from the collection. Determines whether the collection contains the specified item. Item. True if the collection contains the item; false if it does not. Returns a position of the specified item within the collection, or -1 if not found. Item to find. Zero-based position of the item; or -1 if not found. Copies the range of elements from the collection to a compatible one-dimensional array, starting at the specified index of the target array. One-dimensional zero-based array that is the destination of the elements copied from the collection. A zero-based index in the destination array at which copying begins. Removes an item from the collection. An item to remove. True if the item was removed; false if not removed. Removes an item at the specified position from the collection. An index of an item to remove. Adds an item to the collection at the specified position. Position at which to insert the item. Item to add. Returns an enumerator that iterates through the collection. Enumerator. Returns a value indicating whether the collection is read-only. Gets or sets an instance of an item at the specified index. The zero-based index of the item to get or set. An item. Creates a new instance of . Represents a certificate engine. Initializes new instance of the class. Validates given certificate chain using specified validation parameters. Certificate chain to validate. Validation parameters. Result of the validation. Builds a certificate chain from the specified certificate. A certificate to build the chain from. The built certificate chain. Builds a certificate chain from the specified certificate. A certificate to build the chain from. An extra store to search for intermediate and root CA certificates. The built certificate chain. Gets the current certificate engine. The current certificate engine; null reference (Nothing in VB.NET) if no engine was set. Sets the current certificate engine. An engine to be used. Gets or sets the LogWriter used by this object. Log writer. Gets the default certificate engine which is used if no custom engine is set as current engine. Certificate validation parameters for 's method. Creates a new instance of . Gets or sets validation options. The exception that is thrown when a certificate-related error occurs. Initializes a new instance of the class with serialized data. The object that holds the serialized object data. The contextual information about the source or destination. Initializes a new instance of the Exception class with a specified error message. The error message that explains the reason for the exception. 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. The error message that explains the reason for the exception. The exception that is the cause of the current exception. Represents a collection of X509 v3 certificate extensions. Creates a certificate extension collection from an ASN.1 block. ASN.1 block. Gets the first with the specified object identifier. The object identifier, either friendly name or dotted string format. A certificate extension, or null if not found. Represents an X509 v3 certificate extension. Creates a new instance of . Extension object identifier. Specifies whether the extension is critical. Extension data. Create extended (enhanced) key usage extension (2.5.29.37). Specifies whether this extension is considered critical (not-critical extensions may be ignored by servers that don't support them). Key usage OIDs. An extension object. Creates a key usage extension (2.5.29.15). Key usage flags. An extension object. Gets the object identifier that identifies the extension. The object identifier. Gets a value indicating whether the extension is critical. True if critical; false otherwise. Gets the extension value. An array of bytes in ASN.1 format. Options for methods. No filter. Only find certificates that have a private key. Only find certificates that are time valid. Only find certificates that can be used for client authentication. Only find certificates that can be used for server authentication. When searching by certificate issuer, include known subordinate CAs in the search as well. The type of search for method. Certificates whose subject key identifier (SKI) matches the specified value. Specifies the location of the certificate store. None. The store located at HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates. The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates. The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\<ServiceName>>\SystemCertificates. The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\<ServiceName>\SystemCertificates. The store located at HKEY_USERS\<UserName>\Software\Microsoft\SystemCertificates. The store located at HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates. The store located at HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates. The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates. Specifies the name of the certificate store. None. Other users. Third-party certificate authorities. Intermediate certificate authorities. Revoked certificates. Personal certificates. Trusted root certificate authorities. Directly trusted people and resources. Directly trusted publishers. Represents a certificate store. Opens a system certificate store of the specified name a the specified location. The store name. Specifies the location of the certificate store. Some example system stores are:
"CA" - Certification authority certificates.
"My" - A certificate store that holds certificates with associated private keys.
"Root" - Root certificates.
"SPC" - Software publisher certificate.
"Trust"
"Disallowed"
Opens a system certificate store of the specified name a the specified location. The store name value. Specifies the location of the certificate store. Opens a system certificate store of the specified name. The store name. Some example system stores are:
"CA" - Certification authority certificates.
"My" - A certificate store that holds certificates with associated private keys.
"Root" - Root certificates.
"SPC" - Software publisher certificate.
"Trust"
"Disallowed"
Opens a system certificate store of the specified name. The store name value. Creates a temporary memory-based certificate store and populates it with certificates from the specified collection. The certificate collection. Determines whether the specified certificate store exists. The store name. Specifies the location of the certificate store. True if the store exists; false otherwise. Determines whether the specified certificate store exists. The store name value. Specifies the location of the certificate store. True if the store exists; false otherwise. Determines whether the specified certificate store exists. The store name. True if the store exists; false otherwise. Determines whether the specified certificate store exists. The store name value. True if the store exists; false otherwise. Adds a certificate to this certificate store. Certificate to be added. On Windows, the certificate is added even if the same certificate is already present in the store. If this is undesirable, use instead. Adds a certificate to this certificate store. Certificate to be added. Removes a certificate from this certificate store. Certificate to be removed. Returns all certificates matching the specified criteria. Specifies the type of search being made. A byte array whose meaning is defined by 'findType'. Options. An array of certificates. Returns all certificates issued by the specified issuer (or its subordinate issuer) and corresponding to the specified options. Issuer DN. Options. An array of certificates. Returns all certificates with the specified serial number issued by the specified issuer (or its subordinate issuer) and corresponding to the specified options. Issuer DN. Certificate serial number. Options. An array of certificates. Returns all certificates issued by one of specified issuers (or their subordinate issuer) and corresponding to the specified options. An array of issuers' DNs. Options. An array of certificates. Returns all certificates issued by one of specified issuers (or their subordinate issuer) and corresponding to the specified options. An array of issuers' DNs. Certificate serial number. Options. An array of certificates. Returns all certificates matching the specified certificate and options. Certificate to find. Options. An array of certificates. Returns all certificates corresponding to the specified options. Options. An array of certificates. Returns all certificates corresponding to the specified e-mail address. E-mail address. An array of certificates. Returns all certificates corresponding to the specified e-mail address and options. E-mail address. Options. An array of certificates. Disposes the object and releases resources. Calling this method ensures that all resources are freed. Finalizer called by garbage collector. Gets a handle of the certificate store. A handle of the certificate store.

Only supported on Windows platforms.

Represents a distinguished name. Creates an instance of distinguished name from an ASN.1 block. ASN.1 block. Creates an instance of distinguished name from a DN string. DN string. Returns the DN's common name, if available. Common name; or null if not available. Returns the list of DN's e-mail addresses. The list of addresses. Determines whether the specified object is equal to the current object. Object to compare with the current object. True if equal; false if not equal. Servers as a hash function for a particular type. Suitable for use in hashing algorithms and hash tables. Hash code. Converts a distinguished name into a byte array. Byte array. Returns a string representation of the object. A DN string. Converts string DN to its BER-encoded representation. String DN. BER-encoded DN. Converts BER-encoded representation of DB to its string representation. BER-encoded DN. String DN. Represents a collection of CRL distribution points. Creates a new instance of . A CRL distribution point. Create a new instance of a CRL distribution point that represents the specified URL. CRL URL. Gets distribution point URL, if available. Distribution point URL, or null if not available. Certificate validation method options. (Not supported by CertificateChainEngine.Native engine on Xamarin.iOS and Xamarin.Android). No options specified. Ignore an invalid time (such as expiration). Ignore an invalid certificate trust list time. Ignore an invalid time nesting. Ignore all invalid time checks (such as expiration, nesting, CRL or CTL times). Ignore invalid basic constraints. Allow unknown certification authority. Ignore wrong usage of the certificate. Ignore invalid policy. Ignore an unknown revocation status of the end certificate. Not supported in builds for .NET CF. Ignore an unknown revocation status of the certificate trust list signer. Not supported in builds for .NET CF. Ignore an unknown revocation status of the CA certificate. Not supported in builds for .NET CF. Ignore an unknown revocation status of a root certificate. Not supported in builds for .NET CF. Ignore all unknown revocation statuses. Not supported. Not supported in builds for .NET CF. Not supported. Not supported in builds for .NET CF. Only use local cache, do not access the network. Not supported in builds for .NET CF. Ignore invalid common name. Skip certificate revocation check. Ignore invalid chain. Certificate validation status. This certificate or one of the certificates in the certificate chain is not time valid. Certificates in the chain are not properly time nested. Trust for this certificate or one of the certificates in the certificate chain has been revoked. The certificate or one of the certificates in the certificate chain does not have a valid signature. The certificate or certificate chain is not valid for its proposed usage. The certificate or certificate chain is based on an untrusted root. The revocation status of the certificate or one of the certificates in the certificate chain is unknown. One of the certificates in the chain was issued by a certification authority that the original certificate had certified. One of the certificates has an invalid extension. 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. 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. The certificate or one of the certificates in the certificate chain has an invalid name constraints extension. The certificate or one of the certificates in the certificate chain has a name constraints extension containing unsupported fields. 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. 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. 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. The certificate chain is not complete. A CTL used to create this chain was not time valid. A CTL used to create this chain did not have a valid signature. A CTL used to create this chain is not valid for this usage. The revocation status of the certificate or one of the certificates in the certificate chain is either off-line or stale. The end certificate does not have any resultant issuance policies, and one of the issuing CA certificates has a policy constraints extension requiring it. The certificate chain contains a certificate with unsupported signature hash algorithm (usually SHA-2) or unsupported key algorithm (usually ECDSA). Unknown error. A path length constraint in the certification chain has been violated. A certificate contains an unknown extension that is marked critical. 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. A certificate chain could not be built to a trusted root authority. Not supported in builds for .NET CF. The certificate's CN name does not match the passed value. A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider. Not supported in builds for .NET CF. The certificate was explicitly marked as untrusted by the user or CA. A certificate or CRL is malformed. There might be more errors apart from those reported. Certificate uses algorithm which is not considered secure on this platform. Certificate is not trusted. Represents the result of certificate chain validation. Initialize instance of the . A validation status (use zero for success). Gets the status mask. Status mask. Gets the certificate chain validity status. True if valid, false if not valid. Gets the native error code returned by the validation function (this property returns always zero). The error code returned by the validation function. Gets the native error code returned by the validation function or zero if the native error code is not available. The error code returned by the validation function. Key material deriver. Derives key material. Parameters that specify how to derive the key material.. Key material. Finalizer. Called by garbage collector during object destruction. Disposes the deriver object. Specifies asymmetric algorithm. RSA. DSA. Diffie-Hellman. Elliptic Curve Digital Signature Algorithm (.NET >= 4.0 or through a plugin). Elliptic Curve Diffie-Hellman algorithm (.NET >= 4.0 or through a plugin). Twisted Edwards Curve DSA algorithm such as ED25519 (supported through a plugin). Specifies key blob format. ECPrivateKey (defined by RFC 5915). Raw public key data. Raw private key data. A platform-independent asymmetric algorithm object. Register custom asymmetric key algorithm. Factory function that accepts algorithm name and returns algorithm. Gets CSP parameters if the instance of represents a key stored in a Windows Cryptographic Service Provider. CSP parameters if available; null if not available. Creates an instance of . Frees the resources used by this object. Creates an instance of from the specified asymmetric algorithm object. Asymmetric algorithm object. True if the created object owns the asymmetric algorithm object. An instance of . Exports a public key to the specified private key info object. Public key info object. Exports a private key to the specified private key info object. Private key info object. Imports a key from the specified public key info object. Public key info object. Imports a key from the specified private key info object. Private key info object. Imports a key from the specified RSA parameters. RSA key parameters. Imports a key from the specified DSA parameters. DSA key parameters. Imports a key from the specified Diffie-Hellman parameters. Diffie-Hellman key parameters. Imports a private key for the specified algorithm/curve. Only some algorithms/curves are supported. Key algorithm. Key algorithm curve. Key data. Key format. Returns a value indicating whether the specified algorithm is supported. Asymmetric algorithm. Curve name or OID (if needed). Key size (specify 0 to indicate default key size). True if supported; false if not supported. Generates Diffie-Hellman parameters corresponding to the specified key size. Key size. Diffie-Hellman parameters. Generates a private key for the specified asymmetric algorithm with of the specified key size. Key algorithm. Key size. Specify 0 to use default key size. Generates a private key for the specified asymmetric algorithm based on the specified curve. Key algorithm. Curve name or OID. Computes the signature for the specified hash value. The hash value of the data to be signed. A hash algorithm used to create the hash value. The signature for the specified hash value.

The private key must be available for this method to succeed.

Computes the signature for the specified message (using default parameters). Message to be signed. Signature for the specified message.

The private key must be available for this method to succeed.

Computes the signature for the specified message. Message to be signed. Signature parameters. Signature for the specified message.

The private key must be available for this method to succeed.

Verifies the specified signature. The hash value of the signed data. A hash algorithm used to create the hash value. The signature for the specified hash value. True if the signature verifies as valid; otherwise, false. Verifies the specified signature (using default parameters). Signed message. The signature for the specified message. True if the signature verifies as valid; otherwise, false. Verifies the specified signature. Signed message. The signature for the specified message. Signature parameters. True if the signature verifies as valid; otherwise, false. Encrypts data. Data to be encrypted. Encrypted data. Encrypts data. Data to be encrypted. Encryption parameters. Encrypted data. Decrypts data. Data to be decrypted. Decrypted data. If silent operation is requested and the CSP must display UI to operate, this method will fail. Decrypts data. Data to be decrypted. Encryption parameters. Decrypted data. Gets key material deriver. Only supported by Diffie-Hellman-like algorithms. Other side's public key in raw form. Key material deriver. Gets the current key size. Gets the current key algorithm. Gets a value indicating whether this instance only contains the public key. Provides various cryptography-related helper methods. Creates an instance of default random number generator. Returns an array of bytes with a cryptographically strong random sequence of values. Array length. Array filled with random data. Fills specified array of bytes with a cryptographically strong random sequence of values. Array to fill random data with. Decodes a signature from a PKCS #7 form. Signature. Key algorithm. Decoded signature. Encodes a signature to a PKCS #7 form. Signature. Key algorithm. Encoded signature. Sets internal option. Instance. Name. Value. Gets internal option. Instance. Name. Value. Forces RijndaelManaged to be used even when AesCryptoServiceProvider is available. True if RijndaelManaged is to be used instead of AesCryptoServiceProvider; false otherwise. Enables or disables an option that specifies whether only FIPS 140-2 compliant cryptographic algorithm providers are to be used. True if only FIPS 140-2 compliant algorithms are to be used; false to allow all supported algorithms. In .NET 2.0 and higher, this option reflects the Windows OS settings unless explicitly set to a different value. Implements Diffie-Hellman key agreement protocol (also called exponential key agreement). 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. Initializes a new instance of DiffieHellman. You cannot create an instance of an abstract class. Create an instance of class instead. Returns the public key. The public key. Calculates the shared secret key from the other side's public key. Other side's public key. The shared secret key. Imports the specified . The Diffie-Hellman parameters. Exports the . true to include private parameter; otherwise, false. The Diffie-Hellman parameters. Returns Oakley generator value. Oakley generator. Returns Oakley group 2. Oakley group 2. Returns Oakley group 14. Oakley group 14. Wrapper around Diffie-Hellman CSP. Creates an instance of using the default key size of 1024. Creates an instance of using the specified key size. Key size. Returns the public key. The public key. Imports the specified . The Diffie-Hellman parameters. Exports the . true to include private parameter; otherwise, false. The Diffie-Hellman parameters. Creates and returns an XML string representation of the current object. true to include private parameters; otherwise, false. An XML string encoding of the current object. When overridden in a derived class, reconstructs a DiffieHellmanManaged object from an XML string. The XML string to use to reconstruct the DiffieHellmanManaged object. Releases the unmanaged resources and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the name of the signature algorithm available with this implementation of DiffieHellman. The name of the signature algorithm. DiffieHellman does not support signatures. This property will throw an exception. Gets the name of the key exchange algorithm available with this implementation of DiffieHellman. The name of the key exchange algorithm. Managed implementation of Diffie-Hellman algorithm. Initializes a new instance of the DiffieHellmanManaged class. Initializes a new instance of the DiffieHellmanManaged class with a specified key size. The size of the key to use in bits. Creates and returns an XML string representation of the current object. true to include private parameters; otherwise, false. An XML string encoding of the current object. When overridden in a derived class, reconstructs a DiffieHellmanManaged object from an XML string. The XML string to use to reconstruct the DiffieHellmanManaged object. Returns the public key. The public key. Imports the specified . The Diffie-Hellman parameters. Exports the . true to include private parameter; otherwise, false. The Diffie-Hellman parameters. Releases the unmanaged resources and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the name of the signature algorithm available with this implementation of DiffieHellman. The name of the signature algorithm. DiffieHellman does not support signatures. This property will throw an exception. Gets the name of the key exchange algorithm available with this implementation of DiffieHellman. The name of the key exchange algorithm. Contains the parameters for Diffie-Hellman algorithm. The prime modulus used for the operation. The generator used for the operation. The private key for the operation. The public key for the operation. Managed implementation of DSA signature algorithm.

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.

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.

Initializes a new instance of the DSAManaged class with the key size of 1024. Initializes a new instance of the DSAManaged class with the specified key size. The size of the key to use in bits. Initializes a new instance of the DSAManaged class with the specified key size and seed. The size of the key to use in bits. The initial seed to use for key generation. Creates and returns an XML string representation of the current object. true to include private parameters; otherwise, false. An XML string encoding of the current object. When overridden in a derived class, reconstructs a DSAManaged object from an XML string. The XML string to use to reconstruct the DSAManaged object. Encodes the signature in raw format (40 bytes) using the DER encoding of DssSigValue. Raw signature. DER encoded signature Decodes the DER encoding of DssSigValue to raw format (40 bytes). DER encoded signature. Raw signature Exports the . true to include private parameters; otherwise, false. The DSA parameters. Imports the specified . The DSA parameters. Creates the DSA signature for the specified data. The SHA1 hash of data to be signed. The DSA signature for the specified hash value. 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. Verifies the DSA signature for the specified data. The SHA1 hash of signed data to be verified. The signature to be verified for rgbData. true if the signature verifies as valid; otherwise, false. 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. Computes the signature for the specified hash value by signing it with the private key. The SHA1 hash of data to be signed. The DSA signature for the specified hash value. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. The hash value of the signed data. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value. The input data for which to compute the hash. The hash algorithm to use to create the hash value. The DSA signature for the specified data. Verifies the specified signature data by comparing it to the signature computed for the specified data. The signed data. The hash algorithm used to create the hash value of the data. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Releases the unmanaged resources and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the name of the signature algorithm available with this implementation of DSA. The name of the signature algorithm. Gets the name of the key exchange algorithm available with this implementation of DSA. The name of the key exchange algorithm. Encryption schemes. Default padding scheme (depends on key algorithm). RSAES-PKCS1-v1_5 (RFC 3447). RSAES-OAEP (RFC 3447). Encryption parameters. Initialize new instance of the . Encryption scheme. Hashing algorithm for padding generation. Optional input parameter for . 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. If silent operation is requested and the cryptographic provider needs to display a UI to operate, the requested method will fail. Represents a hash transform. Computes the hash value for the specified region of the input byte array. The input to compute the hash code for. The offset into the input byte array from which to begin using data. The number of bytes in the input byte array to use as data. Gets the value of the computed hash code. The computed hash value. Resets the transform. Represents the size, in bits, of the computed hash code. Specifies hash algorithm. SHA-1. SHA-256. SHA-384. SHA-512. MD4. MD5. Specifies hash algorithm key mode. No keyed hash. HMAC. Represents a hash algorithm. Gets the current key. The current key. Sets the current key to the specified value. Key to be set. Creates an instance of for the specified algorithm. Algorithm. Gets a value indicating whether the specified algorithm is supported. Algorithm. True if supported; false if not supported. Creates a hash transform object for this algorithm based on the currently set parameters. Hash transform object. Creates a hash transform object for this algorithm based on the currently set parameters. Hash transform object. Computes the hash value for the specified data. Input data. Hash value. Computes the hash value for the specified data. Input data. Input offset. Input length. Hash value. Computes the hash value for the specified data using the specified algorithm. Hash algorithm. Input data. Hash value. Computes the hash value for the specified data using the specified algorithm. Hash algorithm. Input data. Input offset. Input length. Hash value. Disposes the object. Gets algorithm ID. Gets the size of the computed hash code (in bits). Gets or sets the algorithm's key mode. Computes a Hash-based Message Authentication Code (HMAC) for the input data using the specified hash function. HMAC is defined by RFC 2104 and look like this: alg(K XOR opad + alg(K XOR ipad + text))
where alg is the base hash algorithm,
K is an n byte key,
ipad is the byte 0x36 repeated 64 times (or 128 times),
opad is the byte 0x5c repeated 64 times (or 128 times),
and text is the data being protected.
Initializes a new instance of the HMAC class with the specified hash algorithm and key data. A type of hash algorithm to use. Must be a subclass of HashAlgorithm. The secret key for HMAC encryption. Initializes a new instance of the HMAC class with the specified hash algorithm and key data. A type of hash algorithm to use. The secret key for HMAC encryption. Initializes a new instance of the HMAC class with the specified hash algorithm and a randomly generated key. A type of hash algorithm to use. Must be a subclass of HashAlgorithm. Initializes a new instance of the HMAC class with the specified hash algorithm and a randomly generated key. A type of hash algorithm to use. Must be a subclass of HashAlgorithm. Initializes an instance of HMAC. Routes data written to the object into the hash algorithm for computing the HMAC. The input data. The offset into the byte array from which to begin using data. The number of bytes in the array to use as data. Returns the computed Hash-based Message Authentication Code (HMAC) after all data has been written to the object. The computed HMAC. Releases the unmanaged resources used by the HMAC and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets or sets the key to be used in the hash algorithm. The key to be used in the hash algorithm. Key derivation options. Key derivation parameters. Gets or sets key derivation function ("HASH" or "HMAC"). Hashing algorithm. HMAC key. Data to append to shared secret when hashing. Data to prepend to shared secret when hashing. Represents the base class from which all implementations of the ArcFour algorithm must derive. Initializes a new instance of ArcFour. You cannot create an instance of an abstract class. Create an instance of class instead. Generates a random initialization vector (IV) to be used for the algorithm. ArcFour is a stream cipher, it does not use IV. Generates a random key to be used for the algorithm. Use this method to generate a random key when none is specified. Creates a cryptographic object to perform the ArcFour algorithm. A cryptographic object to perform the ArcFour algorithm. Gets or sets the block size of the cryptographic operation in bits. The block size. ArcFour is a stream cipher, blocks can be of any size. Gets or sets the initialization vector (IV) for the symmetric algorithm. Initialization vector. ArcFour is a stream cipher, it does not use IV. Gets or sets the mode for operation of the symmetric algorithm. The mode for operation. ArcFour is a stream cipher, the only mode supported is CipherMode.OFB. Gets or sets the padding mode used in the symmetric algorithm. The padding mode. ArcFour is a stream cipher, no padding is done. The managed version of the ArcFour algorithm. Initializes a new instance of ArcFourManaged class. Creates a symmetric ArcFour decryptor object with the specified Key and initialization vector (IV). The secret key to be used for the symmetric algorithm. The IV. Not used by ArcFour. A symmetric ArcFour decryptor object. Creates a symmetric ArcFour encryptor object with the specified Key and initialization vector (IV). The secret key to be used for the symmetric algorithm. The IV. Not used by ArcFour. A symmetric ArcFour encryptor object. The managed version of the algorithm defined by RFC 2268. Initializes a new instance of class. Generates a random initialization vector (IV) to be used for the algorithm. Use this method to generate a random initialization vector (IV) when none is specified. Generates a random key to be used for the algorithm. Use this method to generate a random key when none is specified. Creates a RC2 encryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A RC2 encryptor object. Creates a RC2 decryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A RC2 decryptor object. Gets or sets the mode for operation of the symmetric algorithm. The mode for operation of the symmetric algorithm. Gets or sets the padding mode used in the symmetric algorithm. The padding mode used in the symmetric algorithm. Represents the base class from which all implementations of Bruce Schneier's Blowfish algorithm must derive. Initializes a new instance of Blowfish. You cannot create an instance of an abstract class. Create an instance of class instead. Creates a cryptographic object to perform the Schneier's Blowfish algorithm. A cryptographic object to perform the Schneier's Blowfish algorithm. The managed version of the Blowfish algorithm. Initializes a new instance of class. Generates a random initialization vector (IV) to be used for the algorithm. Use this method to generate a random initialization vector (IV) when none is specified. Generates a random key to be used for the algorithm. Use this method to generate a random key when none is specified. Creates a Blowfish encryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A Blowfish encryptor object. Creates a Blowfish decryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A Blowfish decryptor object. Gets or sets the mode for operation of the symmetric algorithm. The mode for operation of the symmetric algorithm. Gets or sets the padding mode used in the symmetric algorithm. The padding mode used in the symmetric algorithm. Computes the combined MD5/SHA1 hash for the input data. The resulting hash value is 36 bytes long. Bytes 0..15 contain the MD5 hash and bytes 16..35 contain the SHA1 hash. Initializes a new instance of the MD5SHA1 class. Creates an instance of the MD5SHA1 hash algorithm. A new instance of the MD5SHA1 hash algorithm. Initializes an instance of MD5SHA1. Routes data written to the object into MD5 and SHA1 hash algorithms for computing the hash. The array of data bytes. The offset into the byte array from which to begin using data. The number of bytes in the array to use as data. Returns the computed MD5SHA1 hash as an array of bytes after all data has been written to the object. The computed hash value. Releases the unmanaged resources used by the MD5SHA1 and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Returns the underlying instance of the MD5 object that is used to compute the MD5 part of the combined hash. Returns the underlying instance of the SHA1 object that is used to compute the SHA1 part of the combined hash. Represents the base class from which all implementations of Bruce Schneier's Twofish algorithm must derive. Initializes a new instance of Twofish. You cannot create an instance of an abstract class. Create an instance of class instead. Creates a cryptographic object to perform the Schneier's Twofish algorithm. A cryptographic object to perform the Schneier's Twofish algorithm. The managed version of the Twofish algorithm. Initializes a new instance of class. Generates a random initialization vector (IV) to be used for the algorithm. Use this method to generate a random initialization vector (IV) when none is specified. Generates a random key to be used for the algorithm. Use this method to generate a random key when none is specified. Creates a Twofish encryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A Twofish encryptor object. Creates a Twofish decryptor object with the specified key. The secret key to be used for the symmetric algorithm. The initialization vector for . A Twofish decryptor object. Gets or sets the mode for operation of the symmetric algorithm. The mode for operation of the symmetric algorithm. Gets or sets the padding mode used in the symmetric algorithm. The padding mode used in the symmetric algorithm. Managed implementation of MD5 algorithm. Initializes a new instance. Initializes an instance of MD5. Updates the MD5 hash code. The array of data bytes. The zero based offset into the byte array from which to begin using data. The number of bytes in the array to use as data. Returns the computed MD5 hash as an array of bytes. The computed MD5 hash value. Managed implementation of MD4 algorithm. Initializes a new instance. Initializes an instance of MD4. Updates the MD4 hash code. The array of data bytes. The zero based offset into the byte array from which to begin using data. The number of bytes in the array to use as data. Returns the computed MD4 hash as an array of bytes. The computed MD4 hash value. Represents a cryptographic object identifier. Initializes a new instance of the class using the specified object. The object identifier information to use to create the new object identifier. Initializes a new instance of the class using the specified OID dotted number string. An object identifier in dotted number format. Converts a OID to an . An object identifier in dotted number format. An . Parses an OID from an ASN.1 encoded byte array. Byte array. OID. Gets an ASN.1 encoded byte array representaion of this OID. Byte array. Gets an ASN.1 encoded byte array representaion of this OID. True if DER-formatting is to be used. Byte array. Returns a string in dotted number format that represents the current . A string representation of the current Oid. Gets the dotted number representation of the object identifier. PKCS #12 key derivation algorithm. ID value for key material. ID value for IV material. ID value for MAC material. Initializes a new instance of PKCS #12 key derivation algorithm. Hash algorithm. Password. Salt value. Number of iterations. ID value. Resets the state of the operation. Returns a pseudo-random key from a password, salt and iteration count. A byte array filled with pseudo-random key bytes. The number of pseudo-random key bytes to generate. Managed implementation of RSA algorithm.

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.

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.

Initializes a new instance of the RSAManaged class with the key size of 1024. Initializes a new instance of the RSAManaged class with the specified key size. The size of the key to use in bits. Exports the . true to include private parameters; otherwise, false. The RSA parameters. Imports the specified . The RSA parameters. Decrypts data with the RSA algorithm. The data to be decrypted. The decrypted data. No processing of raw data is performed. Encrypts data with the RSA algorithm. The data to be encrypted. The encrypted data. No processing of raw data is performed. Decrypts data with the RSA algorithm. The data to be decrypted. The decrypted data. Uses PKCS#1 v1.5 padding. Encrypts data with the RSA algorithm. The data to be encrypted. The encrypted data. Uses PKCS#1 v1.5 padding. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. The hash value of the signed data. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. RSA algorithm. The hash value of the signed data. A hash algorithm used to create the hash value. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Verifies the specified signature data by comparing it to the signature computed for the specified hash value. The hash value of the signed data. A hash algorithm used to create the hash value. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Computes the signature for the specified hash value by signing it with the private key. The hash of data to be signed. The RSA signature for the specified hash value. Computes the signature for the specified hash value by signing it with the private key. RSA algorithm. The hash of data to be signed. A hash algorithm used to create the hash value. The RSA signature for the specified hash value. Computes the signature for the specified hash value by signing it with the private key. The hash of data to be signed. A hash algorithm used to create the hash value. The RSA signature for the specified hash value. Verifies the specified signature data by comparing it to the signature computed for the specified data. The data that was signed. The hash algorithm used to create the hash value of the data. The signature data to be verified. true if the signature verifies as valid; otherwise, false. Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value. The input data for which to compute the hash. The hash algorithm to use to create the hash value. The RSA signature for the specified data. Releases the unmanaged resources and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the name of the signature algorithm available with this implementation of RSA. The name of the signature algorithm. Gets the name of the key exchange algorithm available with this implementation of RSA. The name of the key exchange algorithm. Signature format. Raw signature data. DER-encoded ASN.1 form of the signature formatted according to Cryptographic Message Syntax (PKCS #7). Signature padding scheme. Default padding scheme (depends on key algorithm). PKCS #1 padding scheme (RSASSA-PKCS1-v1_5 defined by RFC 3447). Probabilistic Signature Scheme (PSS) padding scheme (RSASSA-PSS defined by RFC 3447). Signature parameters. Creates a new instance of . Hashing algorithm. Signature format. Signature padding scheme. Salt length in bytes (only used for ). 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. If silent operation is requested and the cryptographic provider needs to display a UI to operate, the requested method will fail. Specifies symmetric algorithm. AES. 3DES. Twofish. DES. RC2. An algorithm compatible with RC4. Blowfish. Represents a symmetric cipher algorithm. Gets the current initialization vector. Initialization vector. Gets the current key. Key. Derives a key (of length) using the specified generator. Generator algorithm. Derives an initialization vector (of length) using the specified generator. Generator algorithm. Generates a random key (of length). Generates a initialization vector (of length). Sets the current key to the specified value and changes the accordingly. Key. Cannot be null. Sets the current initialization vector to the specified value. Initialization vector. Creates an encryptor object for this algorithm based on the currently set parameters. Encryptor object. Creates a decryptor object for this algorithm based on the currently set parameters. Decryptor object. Creates a symmetric algorithm object for this algorithm based on the currently set parameters. Symmetric algorithm object. Disposes the object. Creates an instance of for the specified algorithm. Algorithm. Gets a value indicating whether the specified algorithm is supported. Algorithm. True if supported; false if not supported. Gets algorithm ID. Gets or sets the desired block size in bits. Gets or sets the desired key size in bits. Gets or sets the desired effective key size in bits. Gets or sets the desired block cipher padding mode. Gets or sets the desired block cipher mode. The AlgorithmIdentifier class defines an algorithm used for a cryptographic operation. Creates an instance of the class with the specified algorithm identifier. An object identifier for the algorithm. Creates an instance of the class with the specified algorithm identifier and parameters. An object identifier for the algorithm. ASN.1 DER encoded parameters. Gets the object identifier for the algorithm. On that represents the algorithm. Gets the algorithm parameters. The algorithm parameters. A collection of values associated with a . Copies the range of elements from the to a compatible one-dimensional array, starting at the specified index of the target array. One-dimensional zero-based array that is the destination of the elements copied from . A zero-based index in the destination array at which copying begins. Gets the value at the specified index. An array of bytes in ASN.1 format. A cryptographic attribute that contains a type and a collection of associated values. Initializes an instance of a . The object identifier that identifies the attribute type. Parameters in ASN.1 format, in a form of one or more byte arrays. Initializes an instance of a . The object identifier that identifies the attribute type. Parameters in ASN.1 format. Not supported in .NET 1.0, use instead. Gets the object identifier that identifies the attribute type. The object identifier. Gets the collection of values associated with the attribute. A . A collection of objects. Gets or sets the at the specified index. The zero-based index of the to get or set. A cryptographic attribute. Gets the first with the specified object identifier. The object identifier, either friendly name or dotted string format. A cryptographic attribute if found, or null if not found. Contains string representations of common extended usage OIDs. Any purpose. TLS Web server authentication. TLS Web client authentication. Code signing. E-mail protection. Timestamping. OCSPstamping. A utility class that features a certificate issuer functionality. This can be used as a base of simple custom certification authority. Issues a certificate signed by the specified certification authority using the specified signature hash algorithm. Certification authority certificate to issue and sign the certificate. Certificate info. Certificate public key. A new certificate. Issues a self-signed certificate, signed using the specified algorithm. Also passes back the private key info. Certificate info. Certificate private key. A new certificate. Issues a certificate signed by the specified certification authority using the specified signature hash algorithm. Certification authority certificate to issue and sign the certificate. Signature hash algorithm. Certificate public key. Certificate info. A new certificate. Issues a self-signed certificate, signed using the specified algorithm. Also passes back the private key info. Signature algorithm. Key size. Signature hash algorithm. Certificate info. This will contain the on return. A new certificate. Issues a certificate signed by the specified certification authority using the specified signature hash algorithm. Certification authority certificate to issue and sign the certificate. Signature hash algorithm. Certificate revocation list info. A collection of objects. A new certificate. Contains information describing the certificate for the .Issue method. Creates an instance of class. Gets the certificate serial number. Serial number. Sets the certificate serial number. Serial number. Sets the certificate serial number. Serial number. Gets the extended certificate usage. Extended certificate usage. Sets the extended certificate usage. Extended certificate usage. Sets alternative hostnames. Alternative hostnames. Sets alternative hostnames. Alternative hostnames. Gets or sets the certificate subject. Certificate subject. Gets or sets the basic certificate usage. Basic certificate usage. Gets or sets the certificate effective date. Certificate effective date. Gets or sets the certificate expiration date. Certificate expiration date. Gets the certificate extensions collection. Certificate extensions collection. Gets the CRL distribution points collection. CRL distribution points collection. Gets or sets the certificate owner's e-mail address. E-mail address. Gets or sets the hash algorithm to be used to create the signature of the certificate. The hash algorithm to be used to create the signature of the certificate. Contains information describing the certificate for the .IssueRevocationList method. Creates an instance of class. Gets or sets the datetime of this CRL update. Datetime of this CRL update. Gets or sets the datetime of the next CRL update. Datetime of the next CRL update. A SPKAC certificate request. This is used by Mozilla, Opera and other browsers except Internet Explorer. For Internet Explorer, use . Creates a SPKAC request from an ASN.1 block. ASN.1 block. Validates the SPKAC request's signature. Challenge string. True if valid; false if not valid. Gets the SPKAC request's public key info. This includes the key itself. Public key info. Gets the SPKAC request's public key info. This includes the key itself. Public key info. 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 instead. Creates a new PKCS #10 request for the specified subject and public key. Request subject. Request public key. Parses a PKCS #10 request from an ASN.1 block. ASN.1 block. Validates the PKCS #10 request's signature. True if valid; false if not valid. Validates the PKCS #10 request's signature. Subject - in practice, this is used in place of a challenge string. True if valid; false if not valid. Signs the certification request using a private key corresponding to the request's public key. An instance of . Hash algorithm to use for the signature. Signs the certification request using a private key corresponding to the request's public key. An instance of representing the private key. Hash algorithm to use for the signature. Signs the certification request using a private key corresponding to the request's public key. An instance of asymmetric algorithm such as RSACryptoServiceProvider, DSACryptoServiceProvider, RSAManaged or DSAManaged. Hash algorithm to use for the signature. Gets list of alternative hostnames. List of alternative hostnames. Gets ASN.1 encoded form of this object. Array of bytes. Gets the PKCS #10 request's public key info. This includes the key itself. Public key info. Gets the PKCS #10 request's public key info. This includes the key itself. Public key info. Gets the PKCS #10 request's subject. Request subject. Gets the PKCS #10 request's attributes. Request attributes. Gets the PKCS #10 request's certificate extension collection (represented by 1.2.840.113549.1.9.14 attribute in collection). Specifies the reason for inclusion in the certificate revocation list. Unspecified. Key was compromised. CA was compromised. Affiliation changed. Certificate was superseded. Operation was ceased. Certificate hold. Remove from CRL. The certificate revocation list. Base class for various PKCS objects. Loads a CMS/PKCS #7 signed or enveloped message from a stream. Returns an instance of for signed message, for enveloped message, or null for methods and properties. A stream from which to load the message. Gets or sets the to be used to find certificates corresponding to a . A value indicating whether cryptographic providers are permitted to display a user interface. An instance of , or null. Creates a certificate revocation list from an ASN.1 block. ASN.1 block. Loads a certificate revocation list from given stream. Stream to load the certificate revocation list from. Converts a certificate revocation list into a byte array. Byte array. Returns the certificate revocation list hash. CRL hash. Returns the certificate revocation list signature. CRL signature. Returns distribution point URL from issuing distribution point extension, if both present. Otherwise returns null. Distribution point URL. Checks whether the certificate revocation list contains the specified certificate. Also makes sure that the CRL is suitable for the certificate. Certificate to check. Revocation check result. Please note that this method does not check the validity of the CRL itself. Call on the issuer certificate to perform this check. Gets the DN of the issuer of this certificate revocation list. DN of the issuer of this certificate revocation list. Gets the datetime of this CRL update. Datetime of this CRL update. Gets the datetime of the next CRL update. Datetime of the next CRL update. Gets the CRL number if appropriate extension is present. CRL number or null (Nothing in VB.NET) if not specified. Gets the collection of CRL's extensions. Extensions collection. Gets the collection of revoked certificates. Revoked certificate collection. Returns the key algorithm used to sign this certificate revocation list. The key algorithm. Returns the hash algorithm used to create the signed hash value. Hash algorithm. Collection of information about revoked certificates. A part of . Creates a new instance of . Information about revoked certificate. Creates a new instance of revoked certificate based on the supplied data. Serial number. Revocation date. Revocation reason. Creates a new instance of revoked certificate based on the supplied data. Serial number. Revocation date. Revocation reason. Gets the certificate's serial number. Serial number. Returns revocation reason of the revoked certificate. If the revocation reason extension is present, returns the reason from that extension; otherwise returns . Gets the revocation date. Revocation date. Gets the collection of revoked certificate info's extensions. Extensions collection. Represents revocation check outcome. The issuer of the certificate does not match the issuer of the CRL. This CRL is not supposed to be used to check the status of this certificate (try the next CRL). The certificate has not been revoked according to this CRL. The certificate has been revoked. Represents the result of certificate revocation check. Gets revocation check outcome. Gets the revocation date. Revocation date. Gets revocation reason of the revoked certificate. If the revocation reason extension is present, returns the reason from that extension; otherwise returns null (Nothing in VB.NET). Certificate revocation list status. The CRL is valid (make sure to check the issuer certificate for validity as well). The CRL has expired or is not valid yet. The CRL has not been issued by the specified issuer. The CRL contains an unsupported critical extension. The CRL update time is outside the issuer certificate's time validity range. The CRL issuer is not intended to issue CRLs. The CRL signature is not valid. Malformed structure of the CRL or its extensions. Collection of certificate revocation lists. The class represents the CMS/PKCS #7 ContentInfo data structure. It encapsulates the content of or messages. Initializes a new instance of using the specified array of bytes as content and an object identifier "data" as content type. The message content. Initializes a new instance of using the specified array of bytes as content and the specified object identifier as content type. The message content type. The message content. Gets the content of the CMS/PKCS #7 message. An array of bytes that represent the content data. Copies the content of the CMS/PKCS #7 message into the supplied stream. Stream into which the content will be written. Gets the object identifier of the CMS/PKCS #7 message content type. Gets the content of the CMS/PKCS #7 message. An array of bytes that represent the content data. Please note that the array is a copy of the content. If you modify it, the actual content will not change. Represents a CMS/PKCS #7 encrypted data. Tries acquiring a private key unless it is already available. True if the key has been acquired, false otherwise. Gets the symmetric key used to encrypt the message, or null if it cannot be retrieved. The symmetric key used to encrypt the message, or null. Gets the symmetric algorithm used to encrypt or decrypt the content, or null if it cannot be retrieved. The . Encrypts the contents of the CMS/PKCS #7 message. Decrypts the contents of the CMS/PKCS #7 message. For a successful decryption, a symmetric key must be available. Decodes an encoded CMS/PKCS #7 encrypted message from raw data. Upon successful decoding, information can be retrieved using methods and properties. Arrays of bytes representing a CMS/PKCS #7 message. Encodes the object into CMS/PKCS #7 message data. Array of bytes representing a CMS/PKCS #7 message. Determines whether the specified content info ASN.1 sequence is an enveloped data sequence. Sequence data. Offset. Count. True if yes; false if not. Loads a CMS/PKCS #7 encrypted message from a stream. Upon successful decoding, information can be retrieved using methods and properties. A stream from which to load the message. Saves into a stream. A stream to which to save the message. Creates a copy of this object. A new object. Creates an instance of class. It must be initialized using or methods before any other methods and properties can be accessed. Creates an instance of class using the specified content information as the inner content. The inner content of the encrypted message. Creates an instance of class using the specified content information and encryption algorithm. The inner content of the encrypted message. Encryption algorithm identifier (see remarks). Can be null for 3DES. 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. Creates an instance of class using the specified content information and encryption algorithm. The inner content of the encrypted message. Encryption algorithm identifier (see remarks). Can be null for 3DES. The effective key length in bits (only used by RC2 algorithm). 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. Gets or sets the to be used to find certificates corresponding to a . The certificate finder. Gets or sets a value indicating whether cryptographic providers are allowed to display any user interface (UI) when working with private keys. A value indicating whether a cryptographic provider can display a UI. Gets a value indicating whether the content is encrypted. A value indicating whether the content is encrypted. Gets the collection of unprotected (unencrypted) attributes associated with this CMS/PKCS #7 message. Unprotected attribute collection. Gets the collection of certificates that are embedded in the message. Collection of certificates Gets the collection of certificate revocation lists (CRLs) that are embedded in the message. Collection of CRLs Gets the collection of recipients associated with this CMS/PKCS #7 message. A collection of recipients. Gets the inner content information for this CMS/PKCS #7 message. It contains the content type identifier and content data. The inner content. This method returns the encrypted content for parsed messages and unencrypted content for newly created messages. To encrypt or decrypt the content, use and methods. Gets the identifier of the algorithm used to encrypt the content. An object. Returns a value indicating whether the private key to decrypt the symmetric key and encrypted content is available. True if the private key is available, false if it isn't. Defines the interface that certificate finder classes must implement. Finds a certificate corresponding to the specified subject identifier. Identifier of the subject certificate. A certificate store containing the certificates that were included with the message. Certificate chain if found, or null (Nothing in Visual Basic). Provides a set of common certificate finders. Certificate finder. CertificateChain array. A new instance of ICertificateFinder. Default certificate finder. Searches for certificates in the current user's "My", "Trusted people" and "Other people" stores. Specifies private key file format. Base64-encoded PKCS #8 format. PuTTY PPKv2 format. OpenSSH/OpenSSL SSLeay format. Raw PKCS #8 format. New OpenSSH format with bcrypt key expansion (Base64-encoded keys with "BEGIN OPENSSH PRIVATE KEY" header). Represents a private key. Creates a new instance of . Use the method to load a private key. Creates a new instance of based on the specified RSA parameters. RSA parameters including private keys. Creates a new instance of based on the specified DSA parameters. DSA parameters including private keys. Generates a private key using the specified algorithm and default key size. Key algorithm. An instance of . Generates a private key using the specified algorithm and key size. Key algorithm. Key size. Specify 0 to use default key size. An instance of . Gets the raw form of the private key. Array of bytes. Gets the raw form of the private key. Array of bytes. Gets a public key corresponding to the private key. An instance of . Gets the DSA parameters for a DSA key. May only be used for DSA private keys. DSA paramaters. Gets the RSA parameters for a RSA key. May only be used for RSA private keys. RSA paramaters. Gets ASN.1 encoded form of this object. Array of bytes. Saves the private key into the supplied stream in the specified format. A stream to which to save the private key. Password to encrypted the private key, or null if no encryption desired. Private key file format. Saves the private key into the supplied stream in the specified format. A file to which to save the public key. Password to encrypted the private key, or null if no encryption desired. Private key file format. Saves the private key into the supplied stream in Base64-encoded PKCS #8 format. A stream to which to save the private key. Password to encrypted the private key, or null if no encryption desired. Encryption algorithm identifier. Ignored if password is null. Currently, 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. Loads a PKCS #8, PuTTY or SSLeay (OpenSSL/OpenSSH) format private key from a stream. Upon successful decoding, information can be retrieved using methods and properties. A stream from which to load the private key. Password used to encrypted the private key, or null if no password needed. Loads a PKCS #8, PuTTY or SSLeay (OpenSSL/OpenSSH) format private key from a stream. Upon successful decoding, information can be retrieved using methods and properties. A file from which to load the private key. Password used to encrypted the private key, or null if no password needed. Gets the key algorithm identifier. Key algorithm identifier. Gets or ets the key comment. The comment is used while saving in some formats. Key comment. Represents a public key. Creates a new instance of . Use the method to load a public key. Creates a new instance of based on the specified RSA parameters. RSA parameters. Creates a new instance of based on the specified DSA parameters. DSA parameters. Gets the raw form of the public key. Array of bytes. Gets the raw form of the public key. Array of bytes. Gets ASN.1 encoded form of this object. Array of bytes. Gets the DSA parameters for a DSA public key. May only be used for DSA public keys. DSA paramaters. Gets the RSA parameters for a RSA public key. May only be used for RSA public keys. RSA paramaters. Returns the size of the key in bits. Size of the key in bits. Returns the key algorithm. Key algorithm. Saves the public key into the supplied stream in Base64-encoded PKCS #8 format. A stream to which to save the public key. Saves the public key into the supplied stream in Base64-encoded PKCS #8 format. A file to which to save the public key. Loads a PKCS #8 public key from a stream. Upon successful decoding, information can be retrieved using methods and properties. A stream from which to load the public key. Loads a PKCS #8 public key from a file. Upon successful decoding, information can be retrieved using methods and properties. A file from which to load the public key. Gets the key algorithm identifier. Key algorithm identifier. Represents a CMS/PKCS #7 encrypted message recipient. This class is inherited by and classes. Gets signature parameters (if available). Signature parameters. Gets the identifier of the recipient. Identifier of the recipient. Gets the identifier of the algorithm used to encrypt the symmetric key. An object. Gets the encrypted key for the recipient. Encrypted key. Gets the certificate associated with the recipient, or null if not available. The recipient's certificate, or null. Gets the certificate chain associated with the recipient, or null if not available. The recipient's certificate chain, or null. Defines key transport recipient information, typically using the RSA algorithm to encrypt the shared symmetric key to transport. Creates a new instance of that defines the key transport recipient information for the owner of the specified RSA certificate. Use to specify RSAES-OAEP parameters. The recipient's certificate. Creates a new instance of that defines the key transport recipient information for the owner of the specified RSA certificate. Use to specify RSAES-OAEP parameters. The recipient's certificate. Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted. Creates a new instance of that defines the key transport recipient information for the owner of the specified RSA certificate. The recipient's certificate. Encryption parameters (to specify RSAES-OAEP parameters). Can be null (for PKCS #1). Creates a new instance of that defines the key transport recipient information for the owner of the specified RSA certificate. The recipient's certificate. Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted. Encryption parameters (to specify RSAES-OAEP parameters). Can be null (for PKCS #1). Gets signature parameters (if available). Signature parameters. Gets the identifier of the recipient. Identifier of the recipient. Gets the identifier of the algorithm used to encrypt the symmetric key. An object. Gets the encrypted key for the recipient. Encrypted key. Gets the certificate associated with the recipient, or null if not available. The recipient's certificate, or null. Gets the certificate chain associated with the recipient, or null if not available. The recipient's certificate chain, or null. 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. Gets the identifier of the key originator. Identifier of the key originator. Gets the identifier of the recipient. Identifier of the recipient. Gets the identifier of the algorithm used to encrypt the symmetric key. An object. Gets the encrypted key for the recipient. Encrypted key. Gets the certificate associated with the recipient, or null if not available. The recipient's certificate, or null. Gets the certificate chain associated with the recipient, or null if not available. The recipient's certificate chain, or null. A collection of objects. Creates an empty and read-only instance of . Represents a CMS/PKCS #7 signed data. Creates a signatures for all signers that do not have one yet. Creates a signatures for all signers that do not have one yet. Signature options. Validates all digital signatures on this CMS/PKCS #7 signed message and validates all the signers' certificates. Validation result. 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. Specifies whether to only verify the signatures, skipping the certificate validation. Signature and certificate validation options. Validation result. 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. Specifies whether to only verify the signatures, skipping the certificate validation. Signature and certificate validation options. Certificate chain engine. Validation result. Decodes an encoded CMS/PKCS #7 signed message from raw data. Upon successful decoding, information can be retrieved using methods and properties. Array of bytes representing a CMS/PKCS #7 message. Encodes the object into CMS/PKCS #7 message data. Array of bytes representing a CMS/PKCS #7 message. Determines whether the specified content info ASN.1 sequence is a signed data sequence. Sequence data. Offset. Count. True if yes; false if not. Loads a CMS/PKCS #7 signed message from a stream. Upon successful decoding, information can be retrieved using methods and properties. A stream from which to load the message. Saves into a stream. A stream to which to save the message. Creates a copy of this object. A new object. Creates an instance of class. Creates an instance of class using the specified content information as the inner content. The inner content of the signed message. Creates an instance of class using the specified content information as the inner content. The inner content of the signed message. Specifies whether the signature is detached. If detached, the actual content is not included within the signed message. Specifies what parts of the certificate chain should be included in the signed data. Certificate include option. Gets or sets the to be used to find certificates corresponding to a . The certificate finder. Gets or sets a value indicating whether cryptographic providers are allowed to display any user interface (UI) when working with private keys. A value indicating whether cryptographic providers can display a UI. In case of signing, the actual behavior is determined by the combination of this value and the value of passed to associated objects. Cryptographic providers are only permitted to display a UI if both Silent properties are set to true. Gets the collection of certificates that are embedded in the message. Collection of certificates Gets the collection of certificate revocation lists (CRLs) that are embedded in the message. Collection of CRLs Gets the collection of signers associated with this CMS/PKCS #7 message. A collection of signers. Gets or sets the inner content information for this CMS/PKCS #7 message. It contains the content type identifier and content data. The inner content. Gets or sets a value indicating whether the actual content is detached from the message. True if the content is detached; False if the content is embedded within the message. Specifies what parts of the certificate chain should be included in the message. Leave the existing certificate in the collection. The certificate chain is not included. The certificate chain is included, except for the root certificate. Only the end certificate is included. The certificate chain, including the root certificate, is included. Represents a CMS/PKCS #7 message signer. Gets a value that identifies the digest algorithm. Digest algorithm. Gets signature parameters (if available). Signature parameters. Validates the signer's digital signature and validates the certificate. Validation result. Validates the signer's digital signatures. Optionally, signers' certificates are validated, and the specified validation options are taken into account. Specifies whether to only verify the signatures, skipping the certificate validation. Signature and certificate validation options. Validation result. Validates the signer's digital signatures. Optionally, signers' certificates are validated, and the specified validation options are taken into account. Specifies whether to only verify the signatures, skipping the certificate validation. Signature and certificate validation options. Certificate chain engine. Validation result. Creates a signatures for the signer. Creates a signature for the signer. Signature options. Creates a new instance of that defines a signer corresponding to the specified certificate. An associated private key for the certificate must be available. Use to specify RSASSA-PSS parameters. The signer's certificate. Creates a new instance of that defines a signer corresponding to the specified certificate. An associated private key for the certificate must be available. Use to specify RSASSA-PSS parameters. The signer's certificate. Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted. Creates a new instance of that defines a signer corresponding to the specified certificate. An associated private key for the certificate must be available. Use to specify RSASSA-PSS parameters. The signer's certificate. Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted. Digest algorithm. Creates a new instance of that defines a signer corresponding to the specified certificate. An associated private key for the certificate must be available. The signer's certificate. Signature parameters (to specify RSASSA-PSS parameters). Can be null (for PKCS #1). Creates a new instance of 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. The signer's certificate. Signature parameters (to specify RSASSA-PSS parameters). Can be null (for PKCS #1). Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted. Gets the identifier of the signer. Identifier of the signer. Gets the identifier of the digest algorithm. An object. Gets the identifier of the signature algorithm. An object. Gets the signature, or null if it is not available yet. The signature. Gets the collection of signed attributes associated with this CMS/PKCS #7 message. Signed attribute collection. Gets the collection of unsigned attributes associated with this CMS/PKCS #7 message. Unsigned attribute collection. Gets the certificate associated with the signer, or null if not available. The signer's certificate, or null. Gets the certificate chain associated with the signer, or null if not available. The signer's certificate chain, or null. Gets the signing time, or 1970-01-01 if not available. Singing time. Gets the preferred subject identifier for key encryption. The preferred subject identifier. Gets the collection of S/MIME capabilities the signer supports. Collection of supported S/MIME capabilities. A collection of objects. Creates an empty and read-only instance of . Options for and methods. Don't include any signed attributes in the signature. Not recommended. Don't include key Microsoft extensions in the signature attributes. Don't include S/MIME capabilities extensions in the signature attributes. Skip certificate usage check. Signature validation status. Certificate is not valid. Certificate is not available. A digest algorithm is not supported. A signature algorithm is not supported. A signature is invalid. Invalid key usage. The certificate usage doesn't include message signing. Content type mismatch. Represents the result of signature validation. Gets the status mask. Status mask. Gets the certificate validation status mask. Certificate validation status mask. Gets the certificate chain validity status. True if valid, false if not valid. Represents an S/MIME capability. Initializes an instance of a with no parameters. The object identifier that identifies the S//MIME capability. Initializes an instance of a . The object identifier that identifies the S//MIME capability. Capability parameters in ASN.1 format. Gets the object identifier that identifies the S/MIME capability. The object identifier. Gets the S/MIME capability parameters. An array of bytes in ASN.1 format. A collection of objects. Gets or sets the at the specified index. The zero-based index of the to get or set. An S/MIME capability. Gets the first with the specified object identifier. The object identifier, either friendly name or dotted string format. An S/MIME capability if found, or null if not found. Defines the type of subject identifier that identifies a subject and a certificate. The type of subject identifier is unknown. The subject is identified by the certificate issuer and serial number. 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. The subject is identified by the subject's public key. The class identifies a subject, either by certificate issuer and serial number, by the subject key identifier or by a public key. Gets the type of the subject identifier. The type of the subject identifier. Gets the of the certificate issuer if this subject identifier is identified by the issuer name and serial number. Otherwise, this property will return null. Certificate issuer. 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. Certificate serial number. 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. Certificate subject key identifier. Gets the public algorithm of the certificate if this subject identifier is identified by the public key. Otherwise, this property will return null. Certificate public key algorithm. Gets the public of the certificate if this subject identifier is identified by the public key. Otherwise, this property will return null. Certificate public key. Represents a public key. Creates a new instance of . Use the method to load a public key. Creates a new instance of based on the specified RSA parameters. RSA parameters. Creates a new instance of based on the specified DSA parameters. DSA parameters. Represents sorting order. Ascending sort order. Descending sort order. Log writer acting as a container that writes log messages to all inner writers. Creates a new instance of a tee log writer over given set of individual . A non-empty collection of log writers. Creates a new instance of a tee log writer over given set of individual . A non-empty array of log writers. Write a message into all inner writers. Message level. Logging object type. Logging object ID. Logging area. Message. Write a message and data block into all inner writers. Message level. Logging object type. Logging object ID. Logging area. Message. Data block. Data offset. Date length. Implements the interface method IDisposable.Dispose Use this method to explicitly release all resources hold by the inner writers. A cumulative log level.
When getting, it returns the minimum level of inner writers' levels.
When setting, the value is propagated to all inner writers.
Log level.
Specifies granularity for time comparisons. Time is taken as is. Useful when working with NTFS file system. The smallest time unit is one second (milliseconds are ignored). E.g. 11:33:55.999 is rounded to 11:33:55.000. Useful when working with some UNIX FTP or SFTP servers. 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. Useful when working with FAT file system (.NET CF, MS-DOS). 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. Useful when working with some UNIX FTP or SFTP servers. Trace-based log writer that writes log messages to all trace listeners. For general information about NET trace, see for instance Microsoft's trace listeners. Creates a new instance of trace log writer based on the default "Info" log level. Creates a new instance of trace log writer based on the specified log level. Log level. Clean up any resources being used. true if managed resources should be disposed; otherwise, false. Appends the specified message text to the trace listeners log. This method is only called by method and is only used by text-based loggers. Full message info. Get a value indicating whether the log writer is closed. True when log writer is closed. False if log writer is opened and ready for writing. Creates an instance of class. Creates an instance of class. Creates an instance of class. Creates an instance of class. Creates an instance of class.