<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Rebex.Security</name>
    </assembly>
    <members>
        <member name="T:Rebex.Security.Cryptography.Pkcs.Asn1Encoder">
            <summary>
            Summary description for Asn1Encoder.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.ArcFour">
            <summary>
            Represents the base class from which all implementations of the ArcFour algorithm must derive.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFour.#ctor">
            <summary>
            Initializes a new instance of ArcFour.
            </summary>
            <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.ArcFourManaged"/> class instead.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFour.GenerateIV">
            <summary>
            Generates a random initialization vector (IV) to be used for the algorithm.
            </summary>
            <remarks>ArcFour is a stream cipher, it does not use IV.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFour.GenerateKey">
            <summary>
            Generates a random key to be used for the algorithm.
            </summary>
            <remarks>Use this method to generate a random key when none is specified.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFour.Create">
            <summary>
            Creates a cryptographic object to perform the ArcFour algorithm.
            </summary>
            <returns>A cryptographic object to perform the ArcFour algorithm.</returns>
        </member>
        <member name="P:Rebex.Security.Cryptography.ArcFour.BlockSize">
            <summary>
            Gets or sets the block size of the cryptographic operation in bits.
            </summary>
            <value>The block size.</value>
            <remarks>ArcFour is a stream cipher, blocks can be of any size.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.ArcFour.FeedbackSize">
            <summary>
            Gets or sets the feedback size of the cryptographic operation in bits.
            </summary>
            <value>The feedback size in bits.</value>
            <remarks>This property is not supported by ArcFour class.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.ArcFour.IV">
            <summary>
            Gets or sets the initialization vector (IV) for the symmetric algorithm.
            </summary>
            <value>Initialization vector.</value>
            <remarks>ArcFour is a stream cipher, it does not use IV.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.ArcFour.Mode">
            <summary>
            Gets or sets the mode for operation of the symmetric algorithm.
            </summary>
            <value>The mode for operation.</value>
            <remarks>ArcFour is a stream cipher, the only mode supported is CipherMode.OFB.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.ArcFour.Padding">
            <summary>
            Gets or sets the padding mode used in the symmetric algorithm.
            </summary>
            <value>The padding mode.</value>
            <remarks>ArcFour is a stream cipher, no padding is done.</remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.ArcFourManaged">
            <summary>
            The managed version of the ArcFour algorithm.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFourManaged.#ctor">
            <summary>
            Initializes a new instance of ArcFourManaged class.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFourManaged.CreateDecryptor(System.Byte[],System.Byte[])">
            <summary>
            Creates a symmetric ArcFour decryptor object with the specified Key and initialization vector (IV).
            </summary>
            <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
            <param name="rgbIV">The IV. Not used by ArcFour.</param>
            <returns>A symmetric ArcFour decryptor object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.ArcFourManaged.CreateEncryptor(System.Byte[],System.Byte[])">
            <summary>
            Creates a symmetric ArcFour encryptor object with the specified Key and initialization vector (IV).
            </summary>
            <param name="rgbKey">The secret key to be used for the symmetric algorithm.</param>
            <param name="rgbIV">The IV. Not used by ArcFour.</param>
            <returns>A symmetric ArcFour encryptor object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.BigInt.ExtendedEuclid(Rebex.Security.Cryptography.BigInt,Rebex.Security.Cryptography.BigInt,Rebex.Security.Cryptography.BigInt@,Rebex.Security.Cryptography.BigInt@)">
            <summary>
            Calculate the numbers u1, u2, and u3 such that:
            u1 * a + u2 * b = u3
            where u3 is the greatest common divider of a and b.
            a and b using the extended Euclid algorithm (refer p. 323
            of The Art of Computer Programming vol 2, 2nd ed).
            This also seems to have the side effect of calculating
            some form of multiplicative inverse.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.BigInt.MultiplyMonty(Rebex.Security.Cryptography.BigInt,Rebex.Security.Cryptography.BigInt,Rebex.Security.Cryptography.BigInt,System.UInt64)">
            <summary>
            Montgomery multiplication: a = x * y * R^(-1) mod m
            (Handbook of Applied Cryptography, Algorithm 14.36)
            m, x, y should have length n<br/>
            b = 2^32, R = b^n<br/>
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.BigInt.IsProbablePrime(System.Int32)">
            <summary>
            Primality test. 
            </summary>
            <param name="n">Number of iterations.</param>
            <returns>true if the number is probably prime; false if not prime.</returns>
            <remarks>
            <p>Uses Algorithm from FIPS PUB 186.</p>
            <p>It will produce a false prime with probability no greater than 1/4^n</p>
            </remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.DecryptorUtil">
            <summary>
            Common code for Decryptor's TransformFinalBlock.
            </summary>
            <remarks>
            Would be a mixin if .NET allowed multiple inheritance.
            </remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.DiffieHellman">
            <summary>
            Implements Diffie-Hellman key agreement protocol (also called exponential key agreement).
            </summary>
            <remarks>
            This algorithm was developed by Diffie and Hellman in 1976. It allows two users
            to exchange a secret key over an insecure medium without any prior secrets.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellman.#ctor">
            <summary>
            Initializes a new instance of DiffieHellman.
            </summary>
            <remarks>
            You cannot create an instance of an abstract class.
            Create an instance of <see cref="T:Rebex.Security.Cryptography.DiffieHellmanManaged"/> class instead.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetPublicKey">
            <summary>
            Returns the public key.
            </summary>
            <returns>The public key.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellman.GetSharedSecretKey(System.Byte[])">
            <summary>
            Calculates the shared secret key from the other side's public key.
            </summary>
            <param name="otherPublicKey">Other side's public key.</param>
            <returns>The shared secret key.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellman.ImportParameters(Rebex.Security.Cryptography.DiffieHellmanParameters)">
            <summary>
            Imports the specified <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters"/>.
            </summary>
            <param name="param">The Diffie-Hellman parameters.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellman.ExportParameters(System.Boolean)">
            <summary>
            Exports the <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters"/>.
            </summary>
            <param name="includePrivateParameters">true to include private parameter; otherwise, false.</param>
            <returns>The Diffie-Hellman parameters.</returns>
        </member>
        <member name="T:Rebex.Security.Cryptography.DiffieHellmanManaged">
            <summary>
            Managed implementation of Diffie-Hellman algorithm.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.#ctor">
            <summary>
            Initializes a new instance of the DiffieHellmanManaged class.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the DiffieHellmanManaged class
            with a specified key size.
            </summary>
            <param name="keySize">The size of the key to use in bits.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ToXmlString(System.Boolean)">
            <summary>
            Creates and returns an XML string representation of the current object.
            </summary>
            <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
            <returns>An XML string encoding of the current object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.FromXmlString(System.String)">
            <summary>
            When overridden in a derived class, reconstructs a DiffieHellmanManaged object from an XML string.
            </summary>
            <param name="xmlString">The XML string to use to reconstruct the DiffieHellmanManaged object. </param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.GetPublicKey">
            <summary>
            Returns the public key.
            </summary>
            <returns>The public key.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.GetSharedSecretKey(System.Byte[])">
            <summary>
            Calculates the shared secret key from the other side's public key.
            </summary>
            <param name="otherPublicKey">Other side's public key.</param>
            <returns>The shared secret key.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ImportParameters(Rebex.Security.Cryptography.DiffieHellmanParameters)">
            <summary>
            Imports the specified <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters"/>.
            </summary>
            <param name="param">The Diffie-Hellman parameters.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.ExportParameters(System.Boolean)">
            <summary>
            Exports the <see cref="T:Rebex.Security.Cryptography.DiffieHellmanParameters"/>.
            </summary>
            <param name="includePrivateParameters">true to include private parameter; otherwise, false.</param>
            <returns>The Diffie-Hellman parameters.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DiffieHellmanManaged.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.DiffieHellmanManaged.SignatureAlgorithm">
            <summary>
            Gets the name of the signature algorithm available with this implementation of DiffieHellman.
            </summary>
            <value>The name of the signature algorithm.</value>
            <remarks>DiffieHellman does not support signatures. This property will throw an exception.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.DiffieHellmanManaged.KeyExchangeAlgorithm">
            <summary>
            Gets the name of the key exchange algorithm available with this implementation of DiffieHellman.
            </summary>
            <value>The name of the key exchange algorithm.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.DiffieHellmanParameters">
            <summary>
            Contains the parameters for Diffie-Hellman algorithm.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.P">
            <summary>
            The prime modulus used for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman"/> operation.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.G">
            <summary>
            The generator used for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman"/> operation.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.X">
            <summary>
            The private key for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman"/> operation.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.DiffieHellmanParameters.Y">
            <summary>
            The public key for the <see cref="T:Rebex.Security.Cryptography.DiffieHellman"/> operation.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.DSAManaged">
            <summary>
            Managed implementation of DSA signature algorithm.
            </summary>
            <remarks>
            <p>
            The purpose of this class is to make it possible to verify
            signatures without the need to use CryptoAPI, which is not available
            in some scenarios.
            </p>
            <p>
            Even though it is possible to generate DSA keys and sign data using
            this class, but this process has not been optimized for speed and is
            very slow.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor">
            <summary>
            Initializes a new instance of the DSAManaged class with the key size of 1024.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the DSAManaged class with the specified key size.
            </summary>
            <param name="keySize">The size of the key to use in bits.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.#ctor(System.Int32,System.Byte[])">
            <summary>
            Initializes a new instance of the DSAManaged class with the specified key size and seed.
            </summary>
            <param name="keySize">The size of the key to use in bits.</param>
            <param name="seed">The initial seed to use for key generation.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.ToXmlString(System.Boolean)">
            <summary>
            Creates and returns an XML string representation of the current object.
            </summary>
            <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
            <returns>An XML string encoding of the current object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.FromXmlString(System.String)">
            <summary>
            When overridden in a derived class, reconstructs a DSAManaged object from an XML string.
            </summary>
            <param name="xmlString">The XML string to use to reconstruct the DSAManaged object. </param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.EncodeSignatureToDer(System.Byte[])">
            <summary>
            Encodes the signature in raw format (40 bytes) using the DER encoding of DssSigValue.
            </summary>
            <param name="signature">Raw signature.</param>
            <returns>DER encoded signature</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.DecodeSignatureFromDer(System.Byte[])">
            <summary>
            Decodes the DER encoding of DssSigValue to raw format (40 bytes).
            </summary>
            <param name="encodedSignature">DER encoded signature.</param>
            <returns>Raw signature</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.ExportParameters(System.Boolean)">
            <summary>
            Exports the <see cref="T:System.Security.Cryptography.DSAParameters"/>.
            </summary>
            <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
            <returns>The DSA parameters.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.ImportParameters(System.Security.Cryptography.DSAParameters)">
            <summary>
            Imports the specified <see cref="T:System.Security.Cryptography.DSAParameters"/>.
            </summary>
            <param name="param">The DSA parameters.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.CreateSignature(System.Byte[])">
            <summary>
            Creates the DSA signature for the specified data.
            </summary>
            <param name="rgbHash">The SHA1 hash of data to be signed.</param>
            <returns>The DSA signature for the specified hash value.</returns>
            <remarks>
            DSA signature is a pair of numbers r and s.
            This method always returns an array of 40 bytes.
            Bytes 0..19 contain the value of r, bytes 20..39 contain the value of s.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifySignature(System.Byte[],System.Byte[])">
            <summary>
            Verifies the DSA signature for the specified data.
            </summary>
            <param name="rgbHash">The SHA1 hash of signed data to be verified.</param>
            <param name="rgbSignature">The signature to be verified for rgbData.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
            <remarks>
            DSA signature is a pair of numbers r and s.
            The rgbSignature parameter must be 40 bytes long.
            Bytes 0..19 must contain the value of r, bytes 20..39 must contain the value of s.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.SignHash(System.Byte[])">
            <summary>
            Computes the signature for the specified hash value by signing
            it with the private key.
            </summary>
            <param name="rgbHash">The SHA1 hash of data to be signed.</param>
            <returns>The DSA signature for the specified hash value.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifyHash(System.Byte[],System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
            <param name="rgbHash">The hash value of the signed data.</param>
            <param name="rgbSignature">The signature data to be verified.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithm)">
            <summary>
            Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.
            </summary>
            <param name="buffer">The input data for which to compute the hash.</param>
            <param name="halg">The hash algorithm to use to create the hash value.</param>
            <returns>The DSA signature for the specified data.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.VerifyData(System.Byte[],System.Security.Cryptography.HashAlgorithm,System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified data.
            </summary>
            <param name="buffer">The signed data.</param>
            <param name="halg">The hash algorithm used to create the hash value of the data.</param>
            <param name="signature">The signature data to be verified. </param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.DSAManaged.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.DSAManaged.SignatureAlgorithm">
            <summary>
            Gets the name of the signature algorithm available with this implementation of DSA.
            </summary>
            <value>The name of the signature algorithm.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.DSAManaged.KeyExchangeAlgorithm">
            <summary>
            Gets the name of the key exchange algorithm available with this implementation of DSA.
            </summary>
            <value>The name of the key exchange algorithm.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.HMAC">
            <summary>
            Computes a Hash-based Message Authentication Code (HMAC)
            for the input data using the specified hash function.
            </summary>
            <remarks>
            HMAC is defined by RFC 2104 and look like this:
            alg(K XOR opad + alg(K XOR ipad + text))<br/>
            where alg is the base hash algorithm,<br/>
            K is an n byte key,<br/>
            ipad is the byte 0x36 repeated 64 times,<br/>
            opad is the byte 0x5c repeated 64 times,<br/>
            and text is the data being protected.<br/>
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.#ctor(System.Type,System.Byte[])">
            <summary>
            Initializes a new instance of the HMAC class with the specified hash algorithm and key data.
            </summary>
            <param name="alg">A type of hash algorithm to use. Must be a subclass of HashAlgorithm.</param>
            <param name="rgbKey">The secret key for HMAC encryption.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the HMAC class with the specified hash algorithm and a randomly generated key.
            </summary>
            <param name="alg">A type of hash algorithm to use. Must be a subclass of HashAlgorithm.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.Initialize">
            <summary>
            Initializes an instance of HMAC.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.HashCore(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Routes data written to the object into the hash algorithm for computing the HMAC.
            </summary>
            <param name="array">The input data.</param>
            <param name="ibStart">The offset into the byte array from which to begin using data.</param>
            <param name="cbSize">The number of bytes in the array to use as data.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.HashFinal">
            <summary>
            Returns the computed Hash-based Message Authentication Code (HMAC) after all data has been written to the object.
            </summary>
            <returns>The computed HMAC.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.HMAC.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the HMAC and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources. </param>
        </member>
        <member name="P:Rebex.Security.Cryptography.HMAC.Key">
            <summary>
            Gets or sets the key to be used in the hash algorithm.
            </summary>
            <value>The key to be used in the hash algorithm.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.MD5SHA1">
            <summary>
            Computes the combined MD5/SHA1 hash for the input data.
            </summary>
            <remarks>
            The resulting hash value is 36 bytes long.
            Bytes 0..15 contain the MD5 hash and bytes 16..35 contain the SHA1 hash.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.#ctor">
            <summary>
            Initializes a new instance of the MD5SHA1 class.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.Create">
            <summary>
            Creates an instance of the MD5SHA1 hash algorithm.
            </summary>
            <returns>A new instance of the MD5SHA1 hash algorithm.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.Initialize">
            <summary>
            Initializes an instance of MD5SHA1.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.HashCore(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Routes data written to the object into MD5 and SHA1 hash algorithms for computing the hash.
            </summary>
            <param name="array">The array of data bytes.</param>
            <param name="ibStart">The offset into the byte array from which to begin using data.</param>
            <param name="cbSize">The number of bytes in the array to use as data.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.HashFinal">
            <summary>
            Returns the computed MD5SHA1 hash as an array of bytes after all data has been written to the object.
            </summary>
            <returns>The computed hash value.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.MD5SHA1.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the MD5SHA1 and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.MD5SHA1.MD5">
            <summary>
            Returns the underlying instance of the MD5 object that is used to compute the MD5 part of the combined hash.
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.MD5SHA1.SHA1">
            <summary>
            Returns the underlying instance of the SHA1 object that is used to compute the SHA1 part of the combined hash.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.ObjectIdentifier">
            <summary>
            Represents a cryptographic object identifier.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier"/> class using the specified object. 
            </summary>
            <param name="oid">The object identifier information to use to create the new object identifier.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier"/> class using the specified OID dotted number string.
            </summary>
            <param name="oid">An object identifier in dotted number format.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.ObjectIdentifier.ToString">
            <summary>
            Returns a string in dotted number format that represents the current <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier"/>.
            </summary>
            <returns>A string representation of the current Oid.</returns>
        </member>
        <member name="P:Rebex.Security.Cryptography.ObjectIdentifier.Value">
            <summary>
            Gets the dotted number representation of the object identifier.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.PBKDF1">
            <summary>
            Implements password-based key derivation functionality PBKDF1 specified by RFC 2898,
            with extension of OpenSSL PBKD to allow longer keys to be generated.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.PBKDF1.Reset">
            <summary>Resets the state of the operation.</summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.PBKDF1.GetBytes(System.Int32)">
            <summary>Returns a pseudo-random key from a password, salt and iteration count.</summary>
            <returns>A byte array filled with pseudo-random key bytes.</returns>
            <param name="cb">The number of pseudo-random key bytes to generate. </param>
        </member>
        <member name="P:Rebex.Security.Cryptography.PBKDF1.IterationCount">
            <summary>Gets or sets the number of iterations for the operation.</summary>
            <returns>The number of iterations for the operation.</returns>
        </member>
        <member name="P:Rebex.Security.Cryptography.PBKDF1.Salt">
            <summary>Gets or sets the key salt value for the operation.</summary>
            <returns>The key salt value for the operation.</returns>
        </member>
        <member name="T:Rebex.Security.Cryptography.PBKDF2">
            <summary>
            Implements password-based key derivation functionality PBKDF2 specified by RFC 2898.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.PBKDF2.Reset">
            <summary>Resets the state of the operation.</summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.PBKDF2.GetBytes(System.Int32)">
            <summary>Returns a pseudo-random key from a password, salt and iteration count.</summary>
            <returns>A byte array filled with pseudo-random key bytes.</returns>
            <param name="cb">The number of pseudo-random key bytes to generate. </param>
        </member>
        <member name="P:Rebex.Security.Cryptography.PBKDF2.IterationCount">
            <summary>Gets or sets the number of iterations for the operation.</summary>
            <returns>The number of iterations for the operation.</returns>
        </member>
        <member name="P:Rebex.Security.Cryptography.PBKDF2.Salt">
            <summary>Gets or sets the key salt value for the operation.</summary>
            <returns>The key salt value for the operation.</returns>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs12KeyGenerator">
            <summary>
            PKCS #12 key derivation algorithm.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs12KeyGenerator.Reset">
            <summary>Resets the state of the operation.</summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs12KeyGenerator.GetBytes(System.Int32)">
            <summary>Returns a pseudo-random key from a password, salt and iteration count.</summary>
            <returns>A byte array filled with pseudo-random key bytes.</returns>
            <param name="cb">The number of pseudo-random key bytes to generate. </param>
        </member>
        <member name="T:Rebex.Security.Cryptography.RSAManaged">
            <summary>
            Managed implementation of RSA algorithm.
            </summary>
            <p>
            The purpose of this class is to make it possible to verify
            signatures and encrypt data without the need to use CryptoAPI, which
            is not available in some scenarios.
            </p>
            <p>
            Even though it is possible to generate RSA keys and sign data using
            this class, it is not recommended because the generated keys are not
            being checked to ensure they are strong primes.
            </p>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.#ctor">
            <summary>
            Initializes a new instance of the RSAManaged class with the key size of 1024.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the RSAManaged class with the specified key size.
            </summary>
            <param name="keySize">The size of the key to use in bits.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.ExportParameters(System.Boolean)">
            <summary>
            Exports the <see cref="T:System.Security.Cryptography.RSAParameters"/>.
            </summary>
            <param name="includePrivateParameters">true to include private parameters; otherwise, false.</param>
            <returns>The RSA parameters.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.ImportParameters(System.Security.Cryptography.RSAParameters)">
            <summary>
            Imports the specified <see cref="T:System.Security.Cryptography.RSAParameters"/>.
            </summary>
            <param name="parameters">The RSA parameters.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.DecryptValue(System.Byte[])">
            <summary>
            Decrypts data with the RSA algorithm.
            </summary>
            <param name="rgb">The data to be decrypted.</param>
            <returns>The decrypted data.</returns>
            <remarks>No processing of raw data is performed.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.EncryptValue(System.Byte[])">
            <summary>
            Encrypts data with the RSA algorithm.
            </summary>
            <param name="rgb">The data to be encrypted.</param>
            <returns>The encrypted data.</returns>
            <remarks>No processing of raw data is performed.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.Decrypt(System.Byte[])">
            <summary>
            Decrypts data with the RSA algorithm.
            </summary>
            <param name="rgb">The data to be decrypted.</param>
            <returns>The decrypted data.</returns>
            <remarks>Uses PKCS#1 v1.5 padding.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.Encrypt(System.Byte[])">
            <summary>
            Encrypts data with the RSA algorithm.
            </summary>
            <param name="rgb">The data to be encrypted.</param>
            <returns>The encrypted data.</returns>
            <remarks>Uses PKCS#1 v1.5 padding.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.VerifyHash(System.Byte[],System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
            <param name="rgbHash">The hash value of the signed data.</param>
            <param name="rgbSignature">The signature data to be verified.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.VerifyHash(System.Byte[],System.String,System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
            <param name="rgbHash">The hash value of the signed data.</param>
            <param name="algorithm">A hash algorithm used to create the hash value.</param>
            <param name="rgbSignature">The signature data to be verified.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.SignHash(System.Byte[])">
            <summary>
            Computes the signature for the specified hash value by signing
            it with the private key.
            </summary>
            <param name="rgbHash">The hash of data to be signed.</param>
            <returns>The RSA signature for the specified hash value.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.SignHash(System.Byte[],System.String)">
            <summary>
            Computes the signature for the specified hash value by signing
            it with the private key.
            </summary>
            <param name="rgbHash">The hash of data to be signed.</param>
            <param name="algorithm">A hash algorithm used to create the hash value.</param>
            <returns>The RSA signature for the specified hash value.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.VerifyData(System.Byte[],System.Security.Cryptography.HashAlgorithm,System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified data.
            </summary>
            <param name="buffer">The data that was signed.</param>
            <param name="halg">The hash algorithm used to create the hash value of the data.</param>
            <param name="signature">The signature data to be verified.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithm)">
            <summary>
            Computes the hash value of the specified byte array using the specified hash algorithm, and signs the resulting hash value.
            </summary>
            <param name="buffer">The input data for which to compute the hash.</param>
            <param name="halg">The hash algorithm to use to create the hash value.</param>
            <returns>The RSA signature for the specified data.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.RSAManaged.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.RSAManaged.SignatureAlgorithm">
            <summary>
            Gets the name of the signature algorithm available with this implementation of RSA.
            </summary>
            <value>The name of the signature algorithm.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.RSAManaged.KeyExchangeAlgorithm">
            <summary>
            Gets the name of the key exchange algorithm available with this implementation of RSA.
            </summary>
            <value>The name of the key exchange algorithm.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier">
            <summary>
            The AlgorithmIdentifier class defines an algorithm used for a cryptographic operation.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
            <summary>
            Creates an instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> class
            with the specified algorithm identifier.
            </summary>
            <param name="oid">An object identifier for the algorithm.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
            <summary>
            Creates an instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> class with
            the specified algorithm identifier and parameters.
            </summary>
            <param name="oid">An object identifier for the algorithm.</param>
            <param name="parameters">ASN.1 DER encoded parameters.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Oid">
            <summary>
            Gets the object identifier for the algorithm.
            </summary>
            <value>On <see cref="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Oid"/> that represents the algorithm.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier.Parameters">
            <summary>
            Gets the algorithm parameters.
            </summary>
            <value>The alogirithm parameters.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.CryptographicCollection">
            <summary>
            A base class for various collections of cryptographic objects.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.CryptographicCollection.GetEnumerator">
            <summary>
            Gets an <see cref="T:System.Collections.IEnumerator"/> for the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/>.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/> for the collection.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.CryptographicCollection.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/> to a compatible one-dimensional
            <see cref="T:System.Array"/>, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.CryptographicCollection.Count">
            <summary>
            Gets the number of items in the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/>.
            </summary>
            <value>The number of items in collection.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.CryptographicCollection.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/> is synchronized.
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.CryptographicCollection.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:Rebex.Security.Cryptography.CryptographicCollection"/>.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection">
            <summary>
            A collection of values associated with a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/>.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection.CopyTo(System.Byte[][],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection.Item(System.Int32)">
            <summary>
            Gets the value at the specified index.
            </summary>
            <value>An array of bytes in ASN.1 format.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode">
            <summary>
            A cryptographic attribute that contains a type and a collection of associated values.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Collections.ICollection)">
            <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/>.
            </summary>
            <param name="oid">The object identifier that identifies the attribute type.</param>
            <param name="values">Parameters in ASN.1 format, in a form of one or more byte arrays.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[][])">
            <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/>.
            </summary>
            <param name="oid">The object identifier that identifies the attribute type.</param>
            <param name="values">Parameters in ASN.1 format.</param>
            <remarks>Not supported in .NET 1.0, use <see cref="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Collections.ICollection)"/> instead.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.Oid">
            <summary>
            Gets the object identifier that identifies the attribute type.
            </summary>
            <value>The object identifier.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode.Values">
            <summary>
            Gets the collection of values associated with the attribute. 
            </summary>
            <value>A <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeValueCollection"/>.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection">
            <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> objects.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Add(Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode)">
            <summary>
            Adds a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> to the collection.
            </summary>
            <param name="attribute">A cryptographic attribute to add.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Remove(Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode)">
            <summary>
            Removes a <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> from the collection.
            </summary>
            <param name="attribute">A cryptographic attribute to remove.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.CopyTo(Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode[],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> to get or set.</param>
            <value>A cryptographic attribute.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeCollection.Item(System.String)">
            <summary>
            Gets the first <see cref="T:Rebex.Security.Cryptography.Pkcs.CryptographicAttributeNode"/> with the specified object identifier.
            </summary>
            <param name="oid">The object identifier, either friendly name or dotted string format.</param>
            <value>A cryptographic attribute if found, or null if not found.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.ContentInfo">
            <summary>
            The <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo"/> class represents the CMS/PKCS #7 ContentInfo data structure.
            It encapsulates the content of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> or <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/> messages.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo"/> using the specified array of bytes
            as content and an object identifier "data" as content type. 
            </summary>
            <param name="content">The message content.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.ContentInfo.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
            <summary>
            Initializes a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.ContentInfo"/> using the specified array of bytes
            as content and the specified object identifier as content type. 
            </summary>
            <param name="contentType">The message content type.</param>
            <param name="content">The message content.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.ContentInfo.ContentType">
            <summary>
            Gets the object identifier of the CMS/PKCS #7 message content type.
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.ContentInfo.Content">
            <summary>
            Gets the content of the CMS/PKCS #7 message.
            </summary>
            <value>An array of bytes that represent the content data.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData">
            <summary>
            Represents a CMS/PKCS #7 encrypted data.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.GetSymmetricKey">
            <summary>
            Gets the symmetric key used to encrypt the message,
            or null if it is cannot be retrieved.
            </summary>
            <returns>The symmetric key used to encrypt the message, or null.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.GetSymmetricAlgorithm">
            <summary>
            Gets the symmetric algorithm used to encrypt or decrypt the content,
            or null if it cannot be retrieved.
            </summary>
            <returns>The <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/>.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encrypt">
            <summary>
            Encrypts the contents of the CMS/PKCS #7 message.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decrypt">
            <summary>
            Decrypts the contents of the CMS/PKCS #7 message.
            </summary>
            <remarks>For a successful decryption, a symmetric key must be available.</remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.CreateReceiver">
            <summary>
            Creates a receiving stream for this CMS/PKCS #7 message.
            </summary>
            <returns>A write-only receiving stream.</returns>
            <remarks>
            Receiving stream accepts raw CMS/PKCS #7 signed message data.
            Before all the data has been written and the stream has been closed,
            no methods or properties of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> should be accessed.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decode(System.Byte[])">
            <summary>
            Decodes an encoded CMS/PKCS #7 encrypted message from raw data.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/>
            methods and properties.
            </summary>
            <param name="encodedMessage">Arrays of bytes representing a CMS/PKCS #7 message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encode">
            <summary>
            Encodes the <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/> object into CMS/PKCS #7 message data.
            </summary>
            <returns>Array of bytes representing a CMS/PKCS #7 message.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Load(System.IO.Stream)">
            <summary>
            Loads a CMS/PKCS #7 encrypted message from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/>
            methods and properties.
            </summary>
            <param name="input">A stream from which to load the message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Save(System.IO.Stream)">
            <summary>
            Saves <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/> into a stream.
            </summary>
            <param name="output">A stream to which to save the message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Clone">
            <summary>
            Creates a copy of this object.
            </summary>
            <returns>A new object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.EnvelopedData"/> class.
            It must be initialized using <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Load(System.IO.Stream)"/> or <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decode(System.Byte[])"/> methods before
            any other methods and properties can be accessed.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo)">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class using the specified content
            information as the inner content.
            </summary>
            <param name="contentInfo">The inner content of the encrypted message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,Rebex.Security.Cryptography.ObjectIdentifier)">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class using the specified content
            information and encryption algorithm.
            </summary>
            <param name="contentInfo">The inner content of the encrypted message (see remarks).</param>
            <param name="encryptionAlgorithm">Encryption algorithm identifier.</param>
            <remarks>
            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.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,Rebex.Security.Cryptography.ObjectIdentifier,System.Int32)">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class using the specified content
            information and encryption algorithm.
            </summary>
            <param name="contentInfo">The inner content of the encrypted message.</param>
            <param name="encryptionAlgorithm">Encryption algorithm identifier (see remarks).</param>
            <param name="keyLength">The key length.</param>
            <remarks>
            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.
            </remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.CertificateFinder">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder"/> to be used to find certificates
            corresponding to a <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/>.
            </summary>
            <value>The certificate finder.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Silent">
            <summary>
            Gets or sets a value indicating whether Cryptographic Service Provider (CSP) operations
            are permitted to display any user interface.
            </summary>
            <value>A value indicating whether CSP can display UI.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.IsEncrypted">
            <summary>
            Gets a value indicating whether the content is encrypted.
            </summary>
            <value>A value indicating whether the content is encrypted.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.UnprotectedAttributes">
            <summary>
            Gets the collection of unprotected (unencrypted) attributes associated with this CMS/PKCS #7 message.
            </summary>
            <value>Unprotected attribute collection.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Certificates">
            <summary>
            Gets the collection of certificates that are embedded in the message.
            </summary>
            <value>Collection of certificates</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.RecipientInfos">
            <summary>
            Gets the collection of recipients associated with this CMS/PKCS #7 message.
            </summary>
            <value>A collection of recipients.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.ContentInfo">
            <summary>
            Gets the inner content information for this CMS/PKCS #7 message.
            It contains the content type identifier and content data.
            </summary>
            <value>The inner content.</value>
            <remarks>
            This method returns the encrypted content for parsed messages
            and unencrypted content for newly created messages. To encrypt or decrypt
            the content, use <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Encrypt"/> and <see cref="M:Rebex.Security.Cryptography.Pkcs.EnvelopedData.Decrypt"/> methods.
            </remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.ContentEncryptionAlgorithm">
            <summary>
            Gets the identifier of the algorithm used to encrypt the content.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.EnvelopedData.HasPrivateKey">
            <summary>
            Returns a value indicating whether the private key to decrypt the symmetric key
            and encrypted content is available.
            </summary>
            <value>True if the private key is available, false if it isn't.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder">
            <summary>
            Defines the interface that certificate finder classes must implement.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.ICertificateFinder.Find(Rebex.Security.Cryptography.Pkcs.SubjectIdentifier,Rebex.Security.Certificates.CertificateStore)">
            <summary>
            Finds a certificate corresponding to the specified subject indentifier.
            </summary>
            <param name="subjectIdentifier">Identifier of the subject certificate.</param>
            <param name="additionalStore">A certificate store containing the certificates that were included with the message.</param>
            <returns>Certificate chain if found, or null (Nothing in Visual Basic).</returns>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateFinder">
            <summary>
            Provides a set of common certificate finders.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.CertificateFinder.CreateFinder(Rebex.Security.Certificates.CertificateChain[])">
            <summary>
            Certificate finder.
            </summary>
            <param name="certificates">CertificateChain array.</param>
            <returns>New instance of CertificateChainFinder.</returns>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateFinder.Default">
            <summary>
            Default certificate finder.
            </summary>
            <remarks>
            Searches for certificates in the current user's "My",
            "Trusted people" and "Other people" stores.
            </remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo">
            <summary>
            Represents a RSA or DSA private key.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/>. Use the <see cref="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.IO.Stream,System.String)"/> method to load a private key.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(System.Security.Cryptography.RSAParameters)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/> based on the specified RSA parameters.
            </summary>
            <param name="parameters">RSA parameters including private keys.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(System.Security.Cryptography.DSAParameters)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/> based on the specified DSA parameters.
            </summary>
            <param name="parameters">DSA parameters including private keys.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetPrivateKey">
            <summary>
            Gets the raw form of the private key.
            </summary>
            <returns>Array of bytes.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetDSAParameters">
            <summary>
            Gets the DSA parameters for a DSA key. May only be used for DSA private keys.
            </summary>
            <returns>DSA paramaters.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.GetRSAParameters">
            <summary>
            Gets the RSA parameters for a RSA key. May only be used for RSA private keys.
            </summary>
            <returns>RSA paramaters.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Save(System.IO.Stream,System.String,Rebex.Security.Cryptography.ObjectIdentifier)">
            <summary>
            Saves the private key into the supplied stream in Base64-encoded PKCS #8 format.
            </summary>
            <param name="output">A stream to which to save the private key.</param>
            <param name="password">Password to encrypted the private key, or null if no encryption desired.</param>
            <param name="encryptionAlgorithm">Encryption algorithm identifier. Ignored if password is null.</param>
            <remarks>
            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.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.Load(System.IO.Stream,System.String)">
            <summary>
            Loads a PKCS #8 or SSLeay-format private key from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/>
            methods and properties.
            </summary>
            <param name="input">A stream from which to load the private key.</param>
            <param name="password">Password used to encrypted the private key, or null if no password needed.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.PrivateKeyInfo.KeyAlgorithm">
            <summary>
            Gets the key algorithm identifier.
            </summary>
            <value>Key algorithm identifier.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo">
            <summary>
            Represents a CMS/PKCS #7 encrypted message recipient.
            This class is inherited by <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo"/> and <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo"/> classes. 
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.RecipientIdentifier">
            <summary>
            Gets the identifier of the recipient.
            </summary>
            <value>Identifier of the recipient.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.KeyEncryptionAlgorithm">
            <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.EncryptedKey">
            <summary>
            Gets the encrypted key for the recipient.
            </summary>
            <value>Encrypted key.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfo.Certificate">
            <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
            <remarks>The recipient's certificate, or null.</remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo">
            <summary>
            Defines key transport recipient information, typically using the RSA algorithm to
            encrypt the shared symmetric key to transport.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo"/> that defines the
            key transport recipient information for the owner of the specified RSA certificate.
            </summary>
            <param name="recipientCertificate">The recipient's certificate.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo"/> that defines the
            key transport recipient information for the owner of the specified RSA certificate
            and subject identifier type.
            </summary>
            <param name="recipientCertificate">The recipient's certificate.</param>
            <param name="recipientIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.RecipientIdentifier">
            <summary>
            Gets the identifier of the recipient.
            </summary>
            <value>Identifier of the recipient.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.KeyEncryptionAlgorithm">
            <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.EncryptedKey">
            <summary>
            Gets the encrypted key for the recipient.
            </summary>
            <value>Encrypted key.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyTransRecipientInfo.Certificate">
            <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
            <remarks>The recipient's certificate, or null.</remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo">
            <summary>
            Defines key agreement algorithm recipient information. The key itself is not transported - the two
            parties that will be using a symmetric key both take part in its generation. Please note that
            this method is not yet fully supported by Rebex Security library.
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.OriginatorIdentifier">
            <summary>
            Gets the identifier of the key originator.
            </summary>
            <value>Identifier of the key originator.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.RecipientIdentifier">
            <summary>
            Gets the identifier of the recipient.
            </summary>
            <value>Identifier of the recipient.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.KeyEncryptionAlgorithm">
            <summary>
            Gets the identifier of the algorithm used to encrypt the symmetric key.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.EncryptedKey">
            <summary>
            Gets the encrypted key for the recipient.
            </summary>
            <value>Encrypted key.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.KeyAgreeRecipientInfo.Certificate">
            <summary>
            Gets the certificate associated with the recipient, or null if not available.
            </summary>
            <remarks>The recipient's certificate, or null.</remarks>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection">
            <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo"/> objects.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.#ctor">
            <summary>
            Creates an empty and read-only instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection"/>.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.Add(Rebex.Security.Cryptography.Pkcs.RecipientInfo)">
            <summary>
            Adds a <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo"/> to the collection.
            </summary>
            <param name="recipientInfo">A recipient info to add.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.Remove(Rebex.Security.Cryptography.Pkcs.RecipientInfo)">
            <summary>
            Removes a <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo"/> from the collection.
            </summary>
            <param name="recipientInfo">A recipient info to remove.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.RemoveAt(System.Int32)">
            <summary>
            Removes a recipient info at the specified index from the list.
            </summary>
            <param name="index">A zero-based index of a recipient info to remove..</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.CopyTo(Rebex.Security.Cryptography.Pkcs.RecipientInfo[],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.RecipientInfoCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.RecipientInfo"/> to get.</param>
            <value>A recipient info.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SignedData">
            <summary>
            Represents a CMS/PKCS #7 signed data.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Sign">
            <summary>
            Creates a signatures for all signers that do not have one yet.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Validate">
            <summary>
            Validates all digital signatures on this CMS/PKCS #7 signed message
            and validates all the signers' certificates.
            </summary>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Validates all digital signatures on this CMS/PKCS #7 signed message.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
            <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
            <param name="options">Signature and certificate validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.CreateReceiver">
            <summary>
            Creates a receiving stream for this CMS/PKCS #7 message.
            </summary>
            <returns>A write-only receiving stream.</returns>
            <remarks>
            Receiving stream accepts raw CMS/PKCS #7 signed message data.
            Before all the data has been written and the stream has been closed,
            no methods or properties of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> should be accessed.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Decode(System.Byte[])">
            <summary>
            Decodes an encoded CMS/PKCS #7 signed message from raw data.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/>
            methods and properties.
            </summary>
            <param name="encodedMessage">Array of bytes representing a CMS/PKCS #7 message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Encode">
            <summary>
            Encodes the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> object into CMS/PKCS #7 message data.
            </summary>
            <returns>Array of bytes representing a CMS/PKCS #7 message.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Load(System.IO.Stream)">
            <summary>
            Loads a CMS/PKCS #7 signed message from a stream.
            Upon successful decoding, information can be retrieved using <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/>
            methods and properties.
            </summary>
            <param name="input">A stream from which to load the message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Save(System.IO.Stream)">
            <summary>
            Saves <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> into a stream.
            </summary>
            <param name="output">A stream to which to save the message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.Clone">
            <summary>
            Creates a copy of this object.
            </summary>
            <returns>A new object.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo)">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class using the specified content
            information as the inner content.
            </summary>
            <param name="contentInfo">The inner content of the signed message.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignedData.#ctor(Rebex.Security.Cryptography.Pkcs.ContentInfo,System.Boolean)">
            <summary>
            Creates an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignedData"/> class using the specified content
            information as the inner content.
            </summary>
            <param name="contentInfo">The inner content of the signed message.</param>
            <param name="detached">
            Specifies whether the signature is detached.
            If detached, the actual content is not included within the signed message.
            </param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.IncludeOption">
            <summary>
            Specifies what parts of the certificate chain should be included in the signed data.
            </summary>
            <value>Certificate include option.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.CertificateFinder">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.ICertificateFinder"/> to be used to find certificates
            corresponding to a <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/>.
            </summary>
            <value>The certificate finder.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Silent">
            <summary>
            Gets or sets a value indicating whether CSP operations are permitted to display any user interface.
            </summary>
            <value>A value indicating whether CSP can display UI.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Certificates">
            <summary>
            Gets the collection of certificates that are embedded in the message.
            </summary>
            <value>Collection of certificates</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.SignerInfos">
            <summary>
            Gets the collection of signers associated with this CMS/PKCS #7 message.
            </summary>
            <value>A collection of signers.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.ContentInfo">
            <summary>
            Gets or sets the inner content information for this CMS/PKCS #7 message.
            It contains the content type identifier and content data.
            </summary>
            <value>The inner content.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignedData.Detached">
            <summary>
            Gets or sets a value indicating whether the actual content is detached from the message.
            </summary>
            <value>True if the content is detached; False if the content is embedded within the message.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption">
            <summary>
            Specifies what parts of the certificate chain should be included in the message.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.LeaveExisting">
            <summary>Leave the existing certificate in the collection.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.None">
            <summary>The certificate chain is not included.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.ExcludeRoot">
            <summary>The certificate chain is included, except for the root certificate.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.EndCertificateOnly">
            <summary>Only the end certificate is included.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.CertificateIncludeOption.WholeChain">
            <summary>The certificate chain, including the root certificate, is included.</summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SignerInfo">
            <summary>
            Represents a CMS/PKCS #7 message signer.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Validate">
            <summary>
            Validates the signer's digital signature and validates the certificate.
            </summary>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Validate(System.Boolean,Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Validates the signer's digital signatures.
            Optionally, signers' certificates are validated, and the specified validation
            options are taken into account.
            </summary>
            <param name="verifySignatureOnly">Specifies whether to only verify the signatures, skipping the certificate validation.</param>
            <param name="options">Signature and certificate validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.Sign">
            <summary>
            Creates a signatures for the signer.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> that defines
            a signer corresponding to the specified certificate. An associated private
            key for the certificate must be available.
            </summary>
            <param name="signerCertificate">The signer's certificate.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfo.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> that defines
            a signer corresponding to the specified certificate using the
            specified subject identifier type. An associated private
            key for the certificate must be available. 
            </summary>
            <param name="signerCertificate">The signer's certificate.</param>
            <param name="signerIdentifierType">Subject identifier type - only IssuerAndSerialNumber and SubjectKeyIdentifier values are accepted.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignerIdentifier">
            <summary>
            Gets the identifier of the signer.
            </summary>
            <value>Identifier of the signer.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.DigestAlgorithm">
            <summary>
            Gets the identifier of the digest algorithm.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.ObjectIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignatureAlgorithm">
            <summary>
            Gets the identifier of the signature algorithm.
            </summary>
            <value>An <see cref="T:Rebex.Security.Cryptography.Pkcs.AlgorithmIdentifier"/> object.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Signature">
            <summary>
            Gets the signature, or null if it is not available yet.
            </summary>
            <value>The signature.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SignedAttributes">
            <summary>
            Gets the collection of signed attributes associated with this CMS/PKCS #7 message.
            </summary>
            <value>Signed attribute collection.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.UnsignedAttributes">
            <summary>
            Gets the collection of unsigned attributes associated with this CMS/PKCS #7 message.
            </summary>
            <value>Unsigned attribute collection.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Certificate">
            <summary>
            Gets the certificate associated with the signer, or null if not available.
            </summary>
            <remarks>The signer's certificate, or null.</remarks>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.SigningTime">
            <summary>
            Gets the signing time, or 1970-01-01 if not available.
            </summary>
            <value>Singing time.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.EncryptionKeyPreference">
            <summary>
            Gets the preferred subject identifier for key encryption.
            </summary>
            <value>The preferred subject identifier.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfo.Capabilities">
            <summary>
            Gets the collection of S/MIME capabilities the signer supports.
            </summary>
            <value>Collection of supported S/MIME capabilities.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection">
            <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> objects.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.#ctor">
            <summary>
            Creates an empty and read-only instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection"/>.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.Add(Rebex.Security.Cryptography.Pkcs.SignerInfo)">
            <summary>
            Adds a <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> to the collection.
            </summary>
            <param name="signerInfo">A signer info to add.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.Remove(Rebex.Security.Cryptography.Pkcs.SignerInfo)">
            <summary>
            Removes a <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> from the collection.
            </summary>
            <param name="signerInfo">A signer info to remove.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.RemoveAt(System.Int32)">
            <summary>
            Removes a signer info at the specified index from the list.
            </summary>
            <param name="index">A zero-based index of a signer info to remove..</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.CopyTo(Rebex.Security.Cryptography.Pkcs.SignerInfo[],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignerInfoCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.SignerInfo"/> to get.</param>
            <value>A signer info.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus">
            <summary>
            Signature validation status.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.CertificateNotValid">
            <summary>Certificate is not valid.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.CertificateNotAvailable">
            <summary>Certificate is not available.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.UnsupportedDigestAlgorithm">
            <summary>A digest algorithm is not supported.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.UnsupportedSignatureAlgorithm">
            <summary>A signature algorithm is not supported.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.InvalidSignature">
            <summary>A signature is invalid.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.InvalidKeyUsage">
            <summary>Invalid key usage.</summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SignatureValidationStatus.ContentTypeMismatch">
            <summary>Content type mismatch.</summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult">
            <summary>
            Represents the result of signature validation.
            </summary>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.Status">
            <summary>
            Gets the status mask.
            </summary>
            <value>Status mask.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.CertificateValidationStatus">
            <summary>
            Gets the certificate validation status mask.
            </summary>
            <value>Certificate validation status mask.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SignatureValidationResult.Valid">
            <summary>
            Gets the certificate chain validity status.
            </summary>
            <value>True if valid, false if not valid.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability">
            <summary>
            Represents an S/MIME capability.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.#ctor(Rebex.Security.Cryptography.ObjectIdentifier)">
            <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> with no parameters.
            </summary>
            <param name="oid">The object identifier that identifies the S//MIME capability.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.#ctor(Rebex.Security.Cryptography.ObjectIdentifier,System.Byte[])">
            <summary>
            Initializes an instance of a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/>.
            </summary>
            <param name="oid">The object identifier that identifies the S//MIME capability.</param>
            <param name="parameters">Capability parameters in ASN.1 format.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.Oid">
            <summary>
            Gets the object identifier that identifies the S/MIME capability.
            </summary>
            <value>The object identifier.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability.Parameters">
            <summary>
            Gets the S/MIME capability parameters.
            </summary>
            <value>An array of bytes in ASN.1 format.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection">
            <summary>
            A collection of <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> objects.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Add(Rebex.Security.Cryptography.Pkcs.SecureMimeCapability)">
            <summary>
            Adds a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> to the collection.
            </summary>
            <param name="capability">An S/MIME capability to add.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Remove(Rebex.Security.Cryptography.Pkcs.SecureMimeCapability)">
            <summary>
            Removes a <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> from the collection.
            </summary>
            <param name="capability">An S/MIME capability to remove.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.CopyTo(Rebex.Security.Cryptography.Pkcs.SecureMimeCapability[],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> to get or set.</param>
            <value>An S/MIME capability.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SecureMimeCapabilityCollection.Item(System.String)">
            <summary>
            Gets the first <see cref="T:Rebex.Security.Cryptography.Pkcs.SecureMimeCapability"/> with the specified object identifier.
            </summary>
            <param name="oid">The object identifier, either friendly name or dotted string format.</param>
            <value>An S/MIME capability if found, or null if not found.</value>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType">
            <summary>
            Defines the type of subject identifier that identifies a subject and a certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.Unknown">
            <summary>
            The type of subject identifier is unknown.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.IssuerAndSerialNumber">
            <summary>
            The subject is identified by the certificate issuer and serial number.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.SubjectKeyIdentifier">
            <summary>
            The subject is identified by the hash of the subject's public key. The hash algorithm used is determined by the signature algorithm suite in the subject's certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType.PublicKey">
            <summary>
            The subject is identified by the subject's public key.
            </summary>
        </member>
        <member name="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier">
            <summary>
            The <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/> class identifies a subject, either by certificate issuer
            and serial number, by the subject key identifier or by a public key.
            </summary>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.#ctor(Rebex.Security.Certificates.Certificate)">
            <summary>
            Initializes an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/> that identifies the subject
            of the specified certificate by its issuer and serial number.
            </summary>
            <param name="certificate">The certificate of the subject to identify.</param>
        </member>
        <member name="M:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.#ctor(Rebex.Security.Certificates.Certificate,Rebex.Security.Cryptography.Pkcs.SubjectIdentifierType)">
            <summary>
            Initializes an instance of <see cref="T:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier"/> that identifies the subject
            of the specified certificate by the specified identifier type.
            </summary>
            <param name="certificate">The certificate of the subject to identify.</param>
            <param name="subjectIdentifierType">The type of the subject identifier.</param>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.Type">
            <summary>
            Gets the type of the subject identifier.
            </summary>
            <value>The type of the subject identifier.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.Issuer">
            <summary>
            Gets the <see cref="T:Rebex.Security.Certificates.DistinguishedName"/> of the certificate issuer if
            this subject identifier is identified by the issuer name and serial number.
            Otherwise, this property will return null.
            </summary>
            <value>Certificate issuer.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.SerialNumber">
            <summary>
            Gets the serial number of the certificate if
            this subject identifier is identified by the issuer name and serial number.
            Otherwise, this property will return null.
            </summary>
            <value>Certificate serial number.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.SubjectKeyIdentifier">
            <summary>
            Gets the subject key identifier of the certificate if
            this subject identifier is identified by the subject key identifier.
            Otherwise, this property will return null.
            </summary>
            <value>Certificate subject key identifier.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.PublicKeyAlgorithm">
            <summary>
            Gets the public algorithm of the certificate if
            this subject identifier is identified by the public key.
            Otherwise, this property will return null.
            </summary>
            <value>Certificate public key algorithm.</value>
        </member>
        <member name="P:Rebex.Security.Cryptography.Pkcs.SubjectIdentifier.PublicKey">
            <summary>
            Gets the public of the certificate if
            this subject identifier is identified by the public key.
            Otherwise, this property will return null.
            </summary>
            <value>Certificate public key.</value>
        </member>
        <member name="T:Rebex.Security.Certificates.SignatureHashAlgorithm">
            <summary>
            The hash algorithm used to compute the hash for hash signing
            and verification methods.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.Unsupported">
            <summary>
            Unsupported hash algorithm.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.MD5">
            <summary>
            MD5.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.SHA1">
            <summary>
            SHA1.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.SignatureHashAlgorithm.MD5SHA1">
            <summary>
            MD5SHA1.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.KeyAlgorithm">
            <summary>
            The key algorithm for the certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyAlgorithm.Unsupported">
            <summary>
            Unsupported key algorithm.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyAlgorithm.RSA">
            <summary>
            RSA.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyAlgorithm.DSA">
            <summary>
            DSA.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.KeyUses">
            <summary>
            Intended key usage.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.DigitalSignature">
            <summary>Digital signature.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.NonRepudiation">
            <summary>Non-repudiation.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.KeyEncipherment">
            <summary>Key encipherment.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.DataEncipherment">
            <summary>Data encipherment.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.KeyAgreement">
            <summary>Key agreement.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.KeyCertSign">
            <summary>Certificate signing.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.CrlSign">
            <summary>CRL signing.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.EncipherOnly">
            <summary>Key encipherment only.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.KeyUses.DecipherOnly">
            <summary>Key decipherment only.</summary>
        </member>
        <member name="T:Rebex.Security.Certificates.Certificate">
            <summary>
            Represents an X509 v3 certificate with either RSA or DSA key.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Certificates.Certificate"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with information about the <see cref="T:Rebex.Security.Certificates.Certificate"/>.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.#ctor(System.Byte[])">
            <summary>
            Loads a certificate from an arary.
            </summary>
            <param name="data">An array containing DER encoded certificate data.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.LoadDer(System.String)">
            <summary>
            Loads a DER encoded certificate from a given file.
            </summary>
            <param name="path">Path to a file.</param>
            <returns>A certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.String,System.String)">
            <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
            <param name="path">Path to a file.</param>
            <param name="password">Encryption password.</param>
            <returns>A certificate with private key.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.LoadPfx(System.Byte[],System.String)">
            <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) array.
            </summary>
            <param name="data">An array containing DER encoded PKCS#12 data.</param>
            <param name="password">Encryption password.</param>
            <returns>A certificate with private key.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetIssuer">
            <summary>
            Returns the DN of the certification authority that issued the X.509v3 certificate.
            </summary>
            <returns>DN of the certification authority that issued the X.509 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetIssuerName">
            <summary>
            Returns the name of the certification authority that issued the X.509v3 certificate.
            </summary>
            <returns>The name of the certification authority that issued the X.509 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetSubject">
            <summary>
            Returns DN of the principal to which the certificate was issued.
            </summary>
            <returns>DN of the principal to which the certificate was issued.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetSubjectName">
            <summary>
            Returns the name of the principal to which the certificate was issued.
            </summary>
            <returns>The name of the principal to which the certificate was issued.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetPublicKey">
            <summary>
            Returns the public key for the X.509v3 certificate.
            </summary>
            <returns>The public key for the X.509v3 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetKeyAlgorithmParameters">
            <summary>
            Returns the key algorithm parameters for the X.509v3 certificate.
            </summary>
            <returns>The the key algorithm parameters for the X.509v3 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetSubjectKeyIdentifier">
            <summary>
            Returns the certificate's subject key identifier (SKI).
            </summary>
            <returns>Subject key identifier.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetMailAddresses">
            <summary>
            Returns the list of certificate's e-mail addresses.
            </summary>
            <returns>The list of addresses.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetSerialNumber">
            <summary>
            Returns the serial number of the X.509v3 certificate.
            </summary>
            <returns>The serial number of the X.509 certificate as an array of bytes.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetExpirationDate">
            <summary>
            Returns the expiration date of this X.509v3 certificate.
            </summary>
            <returns>The expiration date for this X.509 certificate.</returns>
            <remarks>The expiration date is the date after which the X.509 certificate is no longer considered valid.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetEffectiveDate">
            <summary>
            Returns the effective date of this X.509v3 certificate.
            </summary>
            <returns>The effective date for this X.509 certificate.</returns>
            <remarks>The effective date is the date after which the X.509 certificate is considered valid.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetCertHash">
            <summary>
            Returns the hash value for the X.509v3 certificate as an array of bytes.
            </summary>
            <returns>The hash value for the X.509 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetRawCertData">
            <summary>
            Returns the raw data for the entire X.509v3 certificate.
            </summary>
            <returns>The raw data for the entire X.509v3 certificate.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.HasPrivateKey">
            <summary>
            Checks whether a private key for this certificate is available.
            </summary>
            <returns>true if available, false if not available.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.IsTimeValid">
            <summary>
            Checks whether a certifiacte is time valid.
            </summary>
            <returns>true if valid, false if not valid.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetIntendedUsage">
            <summary>
            Returns the intended key usage value.
            </summary>
            <returns>Intended key usage.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetUsage">
            <summary>
            This method is deprecated, use <see cref="M:Rebex.Security.Certificates.Certificate.GetEnhancedUsage"/> instead.
            </summary>
            <returns>An array of intended key usage identifiers.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetEnhancedUsage">
            <summary>
            Returns an array of enhanced key usage identifiers.
            </summary>
            <returns>An array of enhanced key usage identifiers, or null if the certificate is valid for all uses.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetDSAParameters">
            <summary>
            Returns the DSA parameters of certificate's public key.
            </summary>
            <returns>The DSA parameters of certificate's public key.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetRSAParameters">
            <summary>
            Returns the RSA parameters of certificate's public key.
            </summary>
            <returns>The RSA parameters of certificate's public key.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.GetKeySize">
            <summary>
            Returns the size of the key in bits.
            </summary>
            <returns>Size of the key in bits.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.VerifyHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
            <param name="hash">The hash value of the signed data.</param>
            <param name="alg">A hash algorithm used to create the hash value.</param>
            <param name="signature">The RSA signature for the specified hash value.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
            <remarks>The hash algorithm parameter is ignored with managed RSA.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.SignHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Boolean)">
            <summary>
            Computes the signature for the specified hash value by encrypting it with the private key.
            </summary>
            <param name="hash">The hash value of the data to be signed.</param>
            <param name="alg">A hash algorithm used to create the hash value.</param>
            <param name="silent">If set to true, the CSP should not display any user interface (UI).</param>
            <returns>The RSA signature for the specified hash value.</returns>
            <remarks>
            <p>
            The private key for a certificate must be available for this method to succeed.
            </p>
            <p>
            If silent operation is requested and the CSP must display UI to operate, this method will fail.
            </p>
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Encrypt(System.Byte[])">
            <summary>
            Encrypts data.
            </summary>
            <param name="rgb">Data to be encrypted.</param>
            <returns>Encrypted data.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Decrypt(System.Byte[],System.Boolean)">
            <summary>
            Decrypts data.
            </summary>
            <param name="rgb">Data to be decrypted.</param>
            <param name="silent">If set to true, the CSP should not display any user interface (UI).</param>
            <returns>Decrypted data.</returns>
            <remarks>
            If silent operation is requested and the CSP must display UI to operate, this method will fail.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Validate">
            <summary>
            Verifies the validity of the certificate.
            </summary>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Validate(Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria.
            </summary>
            <param name="options">Validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Validate(System.String,Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria.
            </summary>
            <param name="serverName">The name of the server.</param>
            <param name="options">Validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Validate(System.String,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
            <summary>
            Verifies the validity of the certificate, including its compliance with the specified criteria,
            using the specified chain engine.
            </summary>
            <param name="serverName">The name of the server.</param>
            <param name="options">Validation options.</param>
            <param name="engine">Certificate chain engine.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Dispose">
            <summary>
            Disposes the object and releases resources.
            </summary>
            <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.Certificate.Finalize">
            <summary>
            Finalizer called by garbage collector.
            </summary>
        </member>
        <member name="P:Rebex.Security.Certificates.Certificate.Handle">
            <summary>
            Gets a handle of the certificate.
            </summary>
            <value>A handle of the certificate.</value>
            <remarks>
            <p>
            Behaviour of this property is subject to change.
            </p>
            <p>
            On non-Windows system, this will always return null.
            </p>
            </remarks>
        </member>
        <member name="P:Rebex.Security.Certificates.Certificate.KeyAlgorithm">
            <summary>
            Returns the key algorithm for this certificate.
            </summary>
            <value>The key algorithm for this certificate.</value>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateChainEngine">
            <summary>
            A chain engine (name space and cache) to be used to build and validate certificate chains.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateChainEngine.CurrentUser">
            <summary>
            The chain engine of the current user.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateChainEngine.LocalMachine">
            <summary>
            The chain engine of the local machine.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateChain">
            <summary>
            Represents a chain of certificates.
            </summary>
            <remarks>
            A chain starts by the end certificate and each following certificate
            must directly certify the one preceding it.
            The last certificate in the list is a self-signed root certificate, and
            may be optionally omitted under the assumption it must be known in any case.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.Add(Rebex.Security.Certificates.Certificate)">
            <summary>
            Adds a certificate to the end of the chain.
            </summary>
            <param name="certificate">The certificate to be added to the chain.</param>
            <returns>The position of the certificate in the chain.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.#ctor">
            <summary>
            Creates an empty certificate chain.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.#ctor(Rebex.Security.Certificates.Certificate[])">
            <summary>
            Creates a certificate chain from an array of certificates.
            </summary>
            <param name="certificates">An array of certificates.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.String,System.String)">
            <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) file.
            </summary>
            <param name="path">Path to a file.</param>
            <param name="password">Encryption password.</param>
            <returns>A certificate with private key.</returns>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.LoadPfx(System.Byte[],System.String)">
            <summary>
            Loads a certificate with a private key from a PKCS#12 (PFX) array.
            </summary>
            <param name="data">An array containing DER encoded PKCS#12 data.</param>
            <param name="password">Encryption password.</param>
            <returns>A certificate with private key.</returns>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.VerifyHash(System.Byte[],Rebex.Security.Certificates.SignatureHashAlgorithm,System.Byte[])">
            <summary>
            Verifies the specified signature data by comparing it to the signature computed for the specified hash value.
            </summary>
            <param name="hash">The hash value of the signed data.</param>
            <param name="alg">A hash algorithm used to create the hash value.</param>
            <param name="signature">The RSA signature for the specified hash value.</param>
            <returns>true if the signature verifies as valid; otherwise, false.</returns>
            <remarks>The hash algorithm parameter is ignored with managed RSA.</remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate)">
            <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
            <param name="cert">End certificate.</param>
            <returns>The chain for an end certificate.</returns>
            <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateChainEngine)">
            <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
            <param name="cert">End certificate.</param>
            <param name="engine">Certificate chain engine.</param>
            <returns>The chain for an end certificate.</returns>
            <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateStore)">
            <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
            <param name="cert">End certificate.</param>
            <param name="store">Additional store to search in addition to system stores.</param>
            <returns>The chain for an end certificate.</returns>
            <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.BuildFrom(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateStore,Rebex.Security.Certificates.CertificateChainEngine)">
            <summary>
            Builds a certificate chain for a specified certificate.
            </summary>
            <param name="cert">End certificate.</param>
            <param name="engine">Certificate chain engine.</param>
            <param name="store">Additional store to search in addition to system stores.</param>
            <returns>The chain for an end certificate.</returns>
            <remarks>
            This function builds a certificate chain context starting from an end
            certificate and going back, if possible, to a trusted root certificate.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.Validate">
            <summary>
            Verifies the validity of the certificate chain.
            </summary>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria.
            </summary>
            <param name="options">Validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(System.String,Rebex.Security.Certificates.ValidationOptions)">
            <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria.
            </summary>
            <param name="serverName">The name of the server.</param>
            <param name="options">Validation options.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateChain.Validate(System.String,Rebex.Security.Certificates.ValidationOptions,Rebex.Security.Certificates.CertificateChainEngine)">
            <summary>
            Verifies the validity of the certificate chain, including its compliance with the specified criteria,
            using the specified chain engine.
            </summary>
            <param name="serverName">The name of the server.</param>
            <param name="options">Validation options.</param>
            <param name="engine">Certificate chain engine.</param>
            <returns>Validation result.</returns>
        </member>
        <member name="P:Rebex.Security.Certificates.CertificateChain.Count">
            <summary>
            Gets the number of certificates in the chain.
            </summary>
            <value>The number of certificates in the chain.</value>
        </member>
        <member name="P:Rebex.Security.Certificates.CertificateChain.Item(System.Int32)">
            <summary>
            Gets or sets the certificate at the specified position.
            </summary>
            <value>The certificate at the specified position</value>
            <remarks>The certificate at the specified position.</remarks>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateCollection">
            <summary>
            Represents a collection of X509 v3 certificates.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateCollection.#ctor">
            <summary>
            Creates a new instance of <see cref="T:Rebex.Security.Certificates.CertificateCollection"/>.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateCollection.Add(Rebex.Security.Certificates.Certificate)">
            <summary>
            Adds a <see cref="T:Rebex.Security.Certificates.Certificate"/> to the collection.
            </summary>
            <param name="certificate">A certificate to add.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateCollection.Remove(Rebex.Security.Certificates.Certificate)">
            <summary>
            Removes a <see cref="T:Rebex.Security.Certificates.Certificate"/> from the collection.
            </summary>
            <param name="certificate">A certificate to remove.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateCollection.Clear">
            <summary>
            Removes all certificates from the collection.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateCollection.CopyTo(Rebex.Security.Certificates.Certificate[],System.Int32)">
            <summary>
            Copies the range of elements from the <see cref="T:Rebex.Security.Certificates.CertificateCollection"/> to a compatible one-dimensional
            array, starting at the specified index of the target array.
            </summary>
            <param name="array">One-dimensional zero-based array that is the destination of the elements copied from <see cref="T:Rebex.Security.Certificates.CertificateCollection"/>.</param>
            <param name="index">A zero-based index in the destination array at which copying begins.</param>
        </member>
        <member name="P:Rebex.Security.Certificates.CertificateCollection.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:Rebex.Security.Certificates.Certificate"/> at the specified index.
            </summary>
            <param name="index">The zero-based index of the <see cref="T:Rebex.Security.Certificates.Certificate"/> to get.</param>
            <value>A certificate.</value>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateException">
            <summary>
            The exception that is thrown when a certificate-related error occurs.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Rebex.Security.Certificates.CertificateException"/> class with serialized data.
            </summary>
            <param name="info">The object that holds the serialized object data.</param>
            <param name="context">The contextual information about the source or destination.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the Exception class
            with a specified error message.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the Exception class
            with a specified error message and a reference to the
            inner exception that is the cause of this exception.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateFindOptions">
            <summary>
            Options for <see cref="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName[],Rebex.Security.Certificates.CertificateFindOptions)"/> methods.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateFindOptions.HasPrivateKey">
            <summary>
            Only find certificates that have a private key.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateFindOptions.IsTimeValid">
            <summary>
            Only find certificates that are time valid.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateFindOptions.ClientAuthentication">
            <summary>
            Only find certificates that can be used for client authentication.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateFindOptions.ServerAuthentication">
            <summary>
            Only find certificates that can be used for server authentication.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateFindType">
            <summary>
            The type of search for <see cref="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindType,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)"/> method.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateFindType.SubjectKeyIdentifier">
            <summary>
            Certificates whose subject key identifier (SKI) matches the specified value.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateStoreLocation">
            <summary>
            Specifies the location of the certificate store.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.None">
            <summary>None.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentUser">
            <summary>The store located at HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachine">
            <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentService">
            <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\&lt;ServiceName>&gt;\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.Services">
            <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Services\&lt;ServiceName&gt;\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.Users">
            <summary>The store located at HKEY_USERS\&lt;UserName&gt;\Software\Microsoft\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.CurrentUserGroupPolicy">
            <summary>The store located at HKEY_CURRENT_USER\Software\Policies\Microsoft\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachineGroupPolicy">
            <summary>The store located at HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\SystemCertificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreLocation.LocalMachineEnterprise">
            <summary>The store located at HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates.</summary>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateStoreName">
            <summary>
            Specifies the name of the certificate store.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.None">
            <summary>None.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.AddressBook">
            <summary>Other users.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.AuthRoot">
            <summary>Third-party certificate authorities.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.CertificateAuthority">
            <summary>Intermediate certificate authorities.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.Disallowed">
            <summary>Revoked certificates.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.My">
            <summary>Personal certificates</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.Root">
            <summary>Trusted root certificate authorities.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.TrustedPeople">
            <summary>Directly trusted people and resources.</summary>
        </member>
        <member name="F:Rebex.Security.Certificates.CertificateStoreName.TrustedPublisher">
            <summary>Directly trusted publishers.</summary>
        </member>
        <member name="T:Rebex.Security.Certificates.CertificateStore">
            <summary>
            Represents a certificate store.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String,Rebex.Security.Certificates.CertificateStoreLocation)">
            <summary>
            Opens a system certificate store of the specified name a the specified location.
            </summary>
            <param name="storeName">The store name.</param>
            <param name="location">Specifies the location of the certificate store.</param>
            <remarks>
            Some example system stores are:<br/>
            "CA" - Certification authority certificates.<br/>
            "My" - A certificate store that holds certificates with associated private keys.<br/>
            "Root" - Root certificates.<br/>
            "SPC" - Software publisher certificate.<br/>
            "Trust"<br/>
            "Disallowed"<br/>
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreLocation)">
            <summary>
            Opens a system certificate store of the specified name a the specified location.
            </summary>
            <param name="storeName">The store name value.</param>
            <param name="location">Specifies the location of the certificate store.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.String)">
            <summary>
            Opens a system certificate store of the specified name.
            </summary>
            <param name="storeName">The store name.</param>
            <remarks>
            Some example system stores are:<br/>
            "CA" - Certification authority certificates.<br/>
            "My" - A certificate store that holds certificates with associated private keys.<br/>
            "Root" - Root certificates.<br/>
            "SPC" - Software publisher certificate.<br/>
            "Trust"<br/>
            "Disallowed"<br/>
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(Rebex.Security.Certificates.CertificateStoreName)">
            <summary>
            Opens a system certificate store of the specified name.
            </summary>
            <param name="storeName">The store name value.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.#ctor(System.Collections.ICollection)">
            <summary>
            Creates a temporary memory-based certificate store
            and populates it with certificats from the specified collection.
            </summary>
            <param name="certificates">The certificate collection.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(System.String,Rebex.Security.Certificates.CertificateStoreLocation)">
            <summary>
            Determines whether the specified certificate store exists.
            </summary>
            <param name="storeName">The store name.</param>
            <param name="location">Specifies the location of the certificate store.</param>
            <returns>True if the store exists; false otherwise.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(Rebex.Security.Certificates.CertificateStoreName,Rebex.Security.Certificates.CertificateStoreLocation)">
            <summary>
            Determines whether the specified certificate store exists.
            </summary>
            <param name="storeName">The store name value.</param>
            <param name="location">Specifies the location of the certificate store.</param>
            <returns>True if the store exists; false otherwise.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(System.String)">
            <summary>
            Determines whether the specified certificate store exists.
            </summary>
            <param name="storeName">The store name.</param>
            <returns>True if the store exists; false otherwise.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Exists(Rebex.Security.Certificates.CertificateStoreName)">
            <summary>
            Determines whether the specified certificate store exists.
            </summary>
            <param name="storeName">The store name value.</param>
            <returns>True if the store exists; false otherwise.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.AddCertificate(Rebex.Security.Certificates.Certificate)">
            <summary>
            Adds a certificate to this certificate store.
            </summary>
            <param name="cert">Certificate to be added.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Remove(Rebex.Security.Certificates.Certificate)">
            <summary>
            Removes a certificate from this certificate store.
            </summary>
            <param name="cert">Certificate to be removed.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName,Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates issued by the specified issuer and corresponding to specified options.
            </summary>
            <param name="issuer">Issuer DN.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates with the specified serial number issued by the specified issuer
            and corresponding to specified options.
            </summary>
            <param name="issuer">Issuer DN.</param>
            <param name="serialNumber">Certificate serial number.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindType,System.Byte[],Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates matching the specified criteria.
            </summary>
            <param name="findType">Specifies the type of search being made.</param>
            <param name="data">A byte array whose meaning is defined by 'findType'.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.DistinguishedName[],Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates issued by one of specified issuers and corresponding to specified options.
            </summary>
            <param name="issuers">An array of issuers' DNs.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.Certificate,Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates matching the specified certificate and options.
            </summary>
            <param name="certificate">Certificate to find.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificates(Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates corresponding to specified options.
            </summary>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificatesForMailAddress(System.String)">
            <summary>
            Returns all certificates corresponding to the specified e-mail address.
            </summary>
            <param name="address">E-mail address.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.FindCertificatesForMailAddress(System.String,Rebex.Security.Certificates.CertificateFindOptions)">
            <summary>
            Returns all certificates corresponding to the specified e-mail address and options.
            </summary>
            <param name="address">E-mail address.</param>
            <param name="options">Options.</param>
            <returns>An array of certificates.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Dispose">
            <summary>
            Disposes the object and releases resources.
            </summary>
            <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.CertificateStore.Finalize">
            <summary>
            Finalizer called by garbage collector.
            </summary>
        </member>
        <member name="P:Rebex.Security.Certificates.CertificateStore.Handle">
            <summary>
            Gets a handle of the certificate.
            </summary>
            <value>A handle of the certificate.</value>
            <remarks>
            <p>
            Behaviour of this property is subject to change.
            </p>
            <p>
            On non-Windows system, this will always return null.
            </p>
            </remarks>
        </member>
        <member name="T:Rebex.Security.Certificates.DistinguishedName">
            <summary>
            Represents a distinguished name.
            </summary>
        </member>
        <member name="M:Rebex.Security.Certificates.DistinguishedName.#ctor(System.Byte[])">
            <summary>
            Creates an instance of distingushed name from an ASN1 block.
            </summary>
            <param name="dn">ASN1 block.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.DistinguishedName.#ctor(System.String)">
            <summary>
            Creates an instance of distingushed name from a DN string.
            </summary>
            <param name="dn">DN string.</param>
        </member>
        <member name="M:Rebex.Security.Certificates.DistinguishedName.GetMailAddresses">
            <summary>
            Returns the list of DN's e-mail addresses.
            </summary>
            <returns>The list of addresses.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.DistinguishedName.ToArray">
            <summary>
            Converts a distinguished name into a byte array.
            </summary>
            <returns>Byte array.</returns>
        </member>
        <member name="M:Rebex.Security.Certificates.DistinguishedName.ToString">
            <summary>
            Returns a string representation of the object.
            </summary>
            <returns>A DN string.</returns>
        </member>
        <member name="T:Rebex.InteropServices.UnmanagedBlock">
            <summary>
            Represents a block of unmanaged memory.
            </summary>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.#ctor(System.Int32)">
            <summary>
            Allocates a block of unmanaged memory with the specified length.
            </summary>
            <param name="length">The length of unmanaged memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.#ctor(System.IntPtr)">
            <summary>
            Creates an unmanaged block that represents a block of memory specified by the supplied pointer.
            </summary>
            <param name="ptr">Pointer to a block of unmanaged memory.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ToIntPtr">
            <summary>
            Returns a pointer to the current unmanaged memory block.
            </summary>
            <returns>A pointer to unamanged memory block.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteByte(System.Int32,System.Byte)">
            <summary>
            Writes an 8-bit unsigned integer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadByte(System.Int32)">
            <summary>
            Reads an 8-bit unsigned integer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteInt64(System.IntPtr,System.Int32,System.Int64)">
            <summary>
            Writes a 64-bit signed integer value to unmanaged memory.
            </summary>
            <param name="ptr">The address in unmanaged memory to which to write.</param>
            <param name="ofs">An additional byte offset, added to the ptr parameter before writing.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadInt64(System.IntPtr,System.Int32)">
            <summary>
            Reads a 64-bit signed integer value from unmanaged memory.
            </summary>
            <param name="ptr">The address in unmanaged memory from which to read.</param>
            <param name="ofs">An additional byte offset, added to the ptr parameter before reading.</param>
            <returns>The value.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteInt64(System.Int32,System.Int64)">
            <summary>
            Writes a 64-bit signed integer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadInt64(System.Int32)">
            <summary>
            Reads a 64-bit signed integer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteInt32(System.Int32,System.Int32)">
            <summary>
            Writes a 32-bit signed integer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadInt32(System.Int32)">
            <summary>
            Reads a 32-bit signed integer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteInt16(System.Int32,System.Int16)">
            <summary>
            Writes a 16-bit unsigned integer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadInt16(System.Int32)">
            <summary>
            Reads a 16-bit unsigned integer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.WriteIntPtr(System.Int32,System.IntPtr)">
            <summary>
            Writes a pointer to the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
            <param name="val">The value to write.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ReadIntPtr(System.Int32)">
            <summary>
            Reads a pointer from the specified offset of the memory block.
            </summary>
            <param name="ofs">Offset in the memory block.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.PtrToStringAnsi(System.IntPtr)">
            <summary>
            Reads a string from an unmanaged pointer.
            </summary>
            <param name="ptr">The address in unmanaged memory from which to read.</param>
            <returns>The string.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.PtrToStringAnsi(System.IntPtr,System.Int32)">
            <summary>
            Reads a string of the specified length from an unmanaged pointer.
            </summary>
            <param name="ptr">The address in unmanaged memory from which to read.</param>
            <param name="length">The length of the string.</param>
            <returns>The string.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.FromArray(System.Byte[])">
            <summary>
            Allocates a block of an unmanaged memory for the data contained in the specified byte array.
            </summary>
            <param name="buffer">A byte array.</param>
            <returns>A <see cref="T:Rebex.InteropServices.UnmanagedBlock"/>.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.ToArray">
            <summary>
            Allocates a byte array for the data contained in the unmanaged memory block.
            </summary>
            <returns>A byte array.</returns>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.Dispose">
            <summary>
            Disposes the object and releases resources.
            </summary>
            <remarks>
            Calling this method ensures that all resources are freed.
            </remarks>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources and optionally releases the managed resources.
            </summary>
            <param name="disposing"><b>true</b> to release both managed and unmanaged resources; <b>false</b> to release only unmanaged resources.</param>
        </member>
        <member name="M:Rebex.InteropServices.UnmanagedBlock.Finalize">
            <summary>
            Finalizer called by garbage collector.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.ValidationOptions">
            <summary>
            Certificate validation method options.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.None">
            <summary>
            No options specified.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreTimeNotValid">
            <summary>
            Ignore an invalid time.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCtlTimeNotValid">
            <summary>
            Ignore an invalid certificate trust list time.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreTimeNotNested">
            <summary>
            Ignore an invalid time nesting.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreAllTimeNotValid">
            <summary>
            Ignore all invalid time checks.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreInvalidBasicConstraints">
            <summary>
            Ignore invalid basic constraints.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.AllowUnknownCa">
            <summary>
            Allow unknown certification authority.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreWrongUsage">
            <summary>
            Ignore wrong usage of the certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreInvalidPolicy">
            <summary>
            Ignore invalid policy.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreEndRevUnknown">
            <summary>
            Ignore an unknown revocation status of the end certificate.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCtlSignerRevUnknown">
            <summary>
            Ignore an unknown revocation status of the certificate trust list signer.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCaRevUnknown">
            <summary>
            Ignore an unknown revocation status of the CA certificate.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreRootRevUnknown">
            <summary>
            Ignore an unknown revocation status of a root certificate.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreAllRevUnknown">
            <summary>
            Ignore all unknown revocation statuses.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.AllowTestRoot">
            <summary>
            Allow a test root.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.TrustTestRoot">
            <summary>
            Trush a test root.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.UseCacheOnly">
            <summary>
            Only use local cache, do not access the network.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationOptions.IgnoreCnNotMatch">
            <summary>
            Ignore invalid common name.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.ValidationStatus">
            <summary>
            Certificate validation status.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.TimeNotValid">
            <summary>
            This certificate or one of the certificates in the certificate chain is not time valid.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.TimeNotNested">
            <summary>
            Certificates in the chain are not properly time nested.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.Revoked">
            <summary>
            Trust for this certificate or one of the certificates in the certificate chain has been revoked.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.SignatureNotValid">
            <summary>
            The certificate or one of the certificates in the certificate chain does not have a valid signature.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.WrongUsage">
            <summary>
            The certificate or certificate chain is not valid for its proposed usage.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.RootNotTrusted">
            <summary>
            The certificate or certificate chain is based on an untrusted root.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownRev">
            <summary>
            The revocation status of the certificate or one of the certificates in the certificate chain is unknown.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CyclicChain">
            <summary>
            One of the certificates in the chain was issued by a certification authority that the original certificate had certified.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidExtension">
            <summary>
            One of the certificates has an invalid extension.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidPolicyConstraints">
            <summary>
            The certificate or one of the certificates in the certificate chain has
            a policy constraints extension, and one of the issued certificates has
            a disallowed policy mapping extension or does not have a required issuance
            policies extension.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidBasicConstraints">
            <summary>
            The certificate or one of the certificates in the certificate chain has
            a basic constraints extension and either the certificate cannot be used
            to issue other certificates or the chain path length has been exceeded.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidNameConstraints">
            <summary>
            The certificate or one of the certificates in the certificate chain has
            an invalid name constraints extension.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.UnsupportedNameConstraint">
            <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension containing unsupported fields.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.NotDefinedNameConstraint">
            <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and a name constraint is missing for one of the name choices in the end certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.NotPermittedNameConstraint">
            <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and there is not a permitted name constraint for one of the name choices in the end certificate.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.ExcludedNameConstraint">
            <summary>
            The certificate or one of the certificates in the certificate chain has a name constraints extension and one of the name choices in the end certificate is explicitly excluded.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.IncompleteChain">
            <summary>
            The certificate chain is not compete.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlTimeNotValid">
            <summary>
            A CTL used to create this chain was not time valid.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlSignatureNotValid">
            <summary>
            A CTL used to create this chain did not have a valid signature.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CtlWrongUsage">
            <summary>
            A CTL used to create this chain is not valid for this usage.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.OfflineRev">
            <summary>
            The revocation status of the certificate or one of the certificates in the certificate chain is either off-line or stale.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.NoIssuanceChainPolicy">
            <summary>
            The end certificate does not have any resultant issuance policies, and one of the issuing CA certificates has a policy constraints extension requiring it.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownError">
            <summary>
            Unknown error.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.PathTooLong">
            <summary>
            A path length constraint in the certification chain has been violated.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownCriticalExtension">
            <summary>
            A certificate contains an unknown extension that is marked critical.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.InvalidChain">
            <summary>
            A parent of a given certificate in fact did not issue that child certificate.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.UnknownCa">
            <summary>
            A certificate chain could not be built to a trusted root authority.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CnNotMatch">
            <summary>
            The certificate's CN name does not match the passed value.
            </summary>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.CaNotTrusted">
            <summary>
            A certification chain processed correctly, but one of the CA certificates
            is not trusted by the policy provider.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.ExplicitDistrust">
            <summary>
            The certificate was explicitly marked as untrusted by the user.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.Malformed">
            <summary>
            A certificate is missing or has an empty value for an important field,
            such as a subject or issuer name.
            </summary>
            <remarks>Not supported in builds for .NET CF.</remarks>
        </member>
        <member name="F:Rebex.Security.Certificates.ValidationStatus.MoreErrors">
            <summary>
            There might be more errors apart from those reported.
            </summary>
        </member>
        <member name="T:Rebex.Security.Certificates.ValidationResult">
            <summary>
            Represents the result of certificate chaing validation.
            </summary>
        </member>
        <member name="P:Rebex.Security.Certificates.ValidationResult.Status">
            <summary>
            Gets the status mask.
            </summary>
            <value>Status mask.</value>
        </member>
        <member name="P:Rebex.Security.Certificates.ValidationResult.Valid">
            <summary>
            Gets the certificate chain validity status.
            </summary>
            <value>True if valid, false if not valid.</value>
        </member>
        <member name="P:Rebex.Security.Certificates.ValidationResult.ErrorCode">
            <summary>
            Gets the error code returned by the validation function.
            </summary>
            <value>The error code returned by the validation function.</value>
        </member>
    </members>
</doc>
