summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore7
-rw-r--r--.nuget/NuGet.Config6
-rw-r--r--.nuget/NuGet.exebin0 -> 1662976 bytes
-rw-r--r--BouncyCastle-PCL.sln34
-rw-r--r--License.html39
-rw-r--r--Portable.BouncyCastle.nuspec44
-rw-r--r--README.md4
-rw-r--r--crypto.tests.Net45/Properties/AssemblyInfo.cs36
-rw-r--r--crypto.tests.Net45/crypto.tests.Net45.csproj91
-rw-r--r--crypto.tests.Net45/packages.config5
-rw-r--r--crypto/crypto.Net45.csproj54
-rw-r--r--crypto/doc/crypto.xml19296
-rw-r--r--crypto/doc/wp7/crypto.xml19296
-rw-r--r--crypto/src/asn1/DerUnknownTag.cs80
-rw-r--r--crypto/src/cms/NullOutputStream.cs20
-rw-r--r--crypto/src/crypto/tls/AlwaysValidVerifyer.cs24
-rw-r--r--crypto/src/crypto/tls/DigestAlgorithm.cs21
-rw-r--r--crypto/src/crypto/tls/ICertificateVerifyer.cs18
-rw-r--r--crypto/src/crypto/tls/LegacyTlsAuthentication.cs32
-rw-r--r--crypto/src/crypto/tls/LegacyTlsClient.cs28
-rw-r--r--crypto/src/crypto/tls/TlsException.cs11
-rw-r--r--crypto/src/math/ec/IntArray.cs485
-rw-r--r--crypto/src/math/ec/multiplier/FpNafMultiplier.cs41
-rw-r--r--crypto/src/math/ec/multiplier/WNafMultiplier.cs243
-rw-r--r--crypto/test/src/math/ec/test/ECAlgorithmsTest.cs1
-rw-r--r--crypto/test/src/math/ec/test/ECPointPerformanceTest.cs1
-rw-r--r--crypto/test/src/util/test/SimpleTest.cs4
-rw-r--r--pack.cmd1
28 files changed, 39920 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index b804bc4a3..463d451b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,8 +5,15 @@
 *.user
 *.vsp
 
+*.nupkg
+
 Backup/
 bin/
 dist/
 doc/
 obj/
+
+_Resharper.*/
+_Resharper*/
+*.ide/
+packages/
diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config
new file mode 100644
index 000000000..67f8ea046
--- /dev/null
+++ b/.nuget/NuGet.Config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <solution>
+    <add key="disableSourceControlIntegration" value="true" />
+  </solution>
+</configuration>
\ No newline at end of file
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
new file mode 100644
index 000000000..c41a0d0de
--- /dev/null
+++ b/.nuget/NuGet.exe
Binary files differdiff --git a/BouncyCastle-PCL.sln b/BouncyCastle-PCL.sln
new file mode 100644
index 000000000..3ab7a13e6
--- /dev/null
+++ b/BouncyCastle-PCL.sln
@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.30723.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{43196EF9-B75F-4ABB-8967-DAFD621A7D05}"
+	ProjectSection(SolutionItems) = preProject
+		Portable.BouncyCastle.nuspec = Portable.BouncyCastle.nuspec
+		README.md = README.md
+	EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.Net45", "crypto\crypto.Net45.csproj", "{45473847-8AF8-4BAF-B768-442C6875B8CF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "crypto.tests.Net45", "crypto.tests.Net45\crypto.tests.Net45.csproj", "{45473847-8AF8-4BAF-B768-442C6875B8CE}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{45473847-8AF8-4BAF-B768-442C6875B8CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CF}.Release|Any CPU.Build.0 = Release|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{45473847-8AF8-4BAF-B768-442C6875B8CE}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/License.html b/License.html
new file mode 100644
index 000000000..0dae3a978
--- /dev/null
+++ b/License.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+  <meta content="text/html; charset=ISO-8859-1"
+ http-equiv="content-type">
+  <title>License</title>
+</head>
+<body>
+<h2>The Bouncy Castle Cryptographic C#&reg; API</h2>
+<h3>License:</h3>
+The Bouncy Castle License<br>
+Copyright (c) 2000-2011 The Legion Of The Bouncy Castle
+(http://www.bouncycastle.org)<br>
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sub license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:<br>
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.<br>
+<span style="font-weight: bold;">THE SOFTWARE IS PROVIDED "AS IS",
+WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">PURPOSE AND NONINFRINGEMENT. IN NO
+EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</span><br
+ style="font-weight: bold;">
+<span style="font-weight: bold;">DEALINGS IN THE SOFTWARE.<br>
+<br>
+</span>
+</body>
+</html>
diff --git a/Portable.BouncyCastle.nuspec b/Portable.BouncyCastle.nuspec
new file mode 100644
index 000000000..8684981de
--- /dev/null
+++ b/Portable.BouncyCastle.nuspec
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
+    <metadata>
+        <id>Portable.BouncyCastle</id>
+        <version>1.7.0.1</version>
+        <title>Bouncy Castle PCL</title>
+        <authors>Oren Novotny</authors>
+        <owners>onovotny</owners>
+        <projectUrl>https://github.com/onovotny/BouncyCastle-PCL</projectUrl>
+        <requireLicenseAcceptance>false</requireLicenseAcceptance>
+        <description>BouncyCastle.Crypto is a cryptography API providing:
+ -Generation and parsing of PKCS#12 files.
+ -X.509: Generators and parsers for V1 and V3 certificates, V2 CRLs and attribute certificates.
+ -PBE algorithms supported by PBEUtil: PBEwithMD2andDES-CBC, PBEwithMD2andRC2-CBC, PBEwithMD5andDES-CBC, PBEwithMD5andRC2-CBC, PBEwithSHA1andDES-CBC, PBEwithSHA1andRC2-CBC, PBEwithSHA-1and128bitRC4, PBEwithSHA-1and40bitRC4, PBEwithSHA-1and3-keyDESEDE-CBC, PBEwithSHA-1and2-keyDESEDE-CBC, PBEwithSHA-1and128bitRC2-CBC, PBEwithSHA-1and40bitRC2-CBC, PBEwithHmacSHA-1, PBEwithHmacSHA-224, PBEwithHmacSHA-256, PBEwithHmacRIPEMD128, PBEwithHmacRIPEMD160, and PBEwithHmacRIPEMD256.
+ -Signature algorithms supported by SignerUtilities: MD2withRSA, MD4withRSA, MD5withRSA, RIPEMD128withRSA, RIPEMD160withRSA, RIPEMD256withRSA, SHA-1withRSA, SHA-224withRSA, SHA-256withRSAandMGF1, SHA-384withRSAandMGF1, SHA-512withRSAandMGF1, SHA-1withDSA, and SHA-1withECDSA.
+ -Symmetric key algorithms: AES, Blowfish, Camellia, CAST5, CAST6, DESede, DES, GOST28147, HC-128, HC-256, IDEA, NaccacheStern, RC2, RC4, RC5-32, RC5-64, RC6, Rijndael, Serpent, Skipjack, TEA/XTEA, Twofish, and VMPC.
+ -Symmetric key modes: CBC, CFB, CTS, GOFB, OFB, OpenPGPCFB, and SIC (or CTR).
+ -Symmetric key paddings: ISO10126d2, ISO7816d4, PKCS#5/7, TBC, X.923, and Zero Byte.
+ -Asymmetric key algorithms: RSA (with blinding), ElGamal, DSA, ECDSA.
+ -Asymmetric key paddings/encodings: ISO9796d1, OAEP, and PKCS#1.
+ -Digests: GOST3411, MD2, MD4, MD5, RIPEMD128, RIPEMD160, RIPEMD256, RIPEMD320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger, and Whirlpool.
+ -Signer mechanisms: DSA, ECDSA, ECGOST3410, GOST3410, ISO9796d2, PSS, RSA.
+ -Key Agreement: Diffie-Hellman and EC-DH.
+ -Macs: CBCBlockCipher, CFBBlockCipher, GOST28147, HMac, and ISO9797 Alg. 3.
+ -PBE generators: PKCS#12, and PKCS#5 - schemes 1 and 2.
+ -OpenPGP (RFC 2440)
+ -Cryptographic Message Syntax (CMS, RFC 3852), including streaming API.
+ -Online Certificate Status Protocol (OCSP, RFC 2560).
+ -Time Stamp Protocol (TSP, RFC 3161).
+ -TLS/SSL Client with support for client side authentication.
+ 
+        Support for .NET 4, Windows Phone 8, Windows Phone App 8.1, Windows 8, Silverlight 5, MonoTouch, MonoAndroid
+        </description>
+        <language>en-US</language>
+        <tags>bouncycastle, cryptography, encryption, security, PCL, wp8, wpa81, net4, sl5, monotouch, monoandroid, xamarin</tags>
+    </metadata>
+    <files>
+        <file src="Crypto\bin\Release\crypto.xml" target="lib\portable-net4+sl5+wp8+win8+wpa81\crypto.xml" />
+        <file src="Crypto\bin\Release\crypto.pdb" target="lib\portable-net4+sl5+wp8+win8+wpa81\crypto.pdb" />
+        <file src="Crypto\bin\Release\crypto.dll" target="lib\portable-net4+sl5+wp8+win8+wpa81\crypto.dll" />
+        <file src="Crypto\Readme.html" target="Readme.html" />
+        <file src="**\*.cs" target="src" exclude="_ReSharper.*\**\*.*;packages\**\*.*;**\Debug\**\*.*;" />
+    </files>
+</package>
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..2aa889e7c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4 @@
+BouncyCastle-PCL
+================
+
+PCL Version of BouncyCastle targetting .NET Framework 4, Silverlight 5, Windows 8, Windows Phone App 8.1, MonoTouch, MonoAndroid
diff --git a/crypto.tests.Net45/Properties/AssemblyInfo.cs b/crypto.tests.Net45/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..52472faf8
--- /dev/null
+++ b/crypto.tests.Net45/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("crypto.tests.Net45")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("crypto.tests.Net45")]
+[assembly: AssemblyCopyright("Copyright ©  2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("22ae3209-5ce9-448c-9212-04b9e8f6361e")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/crypto.tests.Net45/crypto.tests.Net45.csproj b/crypto.tests.Net45/crypto.tests.Net45.csproj
new file mode 100644
index 000000000..503c80e13
--- /dev/null
+++ b/crypto.tests.Net45/crypto.tests.Net45.csproj
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{45473847-8AF8-4BAF-B768-442C6875B8CE}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>crypto.tests</RootNamespace>
+    <AssemblyName>crypto.tests.Net45</AssemblyName>
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;LIB;PCL;SILVERLIGHT</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE;LIB;PCL;SILVERLIGHT</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="nunit.framework">
+      <HintPath>..\packages\NUnit.2.6.3\lib\nunit.framework.dll</HintPath>
+    </Reference>
+    <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
+      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="..\crypto\test\src\**\*.cs" Exclude="..\**\examples\**\*.cs;">
+      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
+    </Compile>
+    <EmbeddedResource Include="..\crypto\test\data\**\*.*" Exclude="..\**\README.txt">
+      <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <ItemGroup>
+    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\crypto\crypto.Net45.csproj">
+      <Project>{45473847-8af8-4baf-b768-442c6875b8cf}</Project>
+      <Name>crypto.Net45</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/crypto.tests.Net45/packages.config b/crypto.tests.Net45/packages.config
new file mode 100644
index 000000000..f9de1cc4a
--- /dev/null
+++ b/crypto.tests.Net45/packages.config
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="NUnit" version="2.6.3" targetFramework="net45" />
+  <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net45" />
+</packages>
\ No newline at end of file
diff --git a/crypto/crypto.Net45.csproj b/crypto/crypto.Net45.csproj
new file mode 100644
index 000000000..14b3581f5
--- /dev/null
+++ b/crypto/crypto.Net45.csproj
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{45473847-8AF8-4BAF-B768-442C6875B8CF}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>crypto</RootNamespace>
+    <AssemblyName>crypto</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <TargetFrameworkProfile />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG;LIB;PCL;SILVERLIGHT</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE;LIB;PCL;SILVERLIGHT</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="src\**\*.cs" />
+    <Compile Include="bzip2\**\*.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/crypto/doc/crypto.xml b/crypto/doc/crypto.xml
new file mode 100644
index 000000000..f1cf2f391
--- /dev/null
+++ b/crypto/doc/crypto.xml
@@ -0,0 +1,19296 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>crypto</name>
+    </assembly>
+    <members>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.BZip2Constants">
+             Base class for both the compress and decompress classes.
+             Holds common arrays, and static data.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CBZip2InputStream">
+             An input stream that decompresses from the BZip2 format (with the file
+             header chars) to be read as any other stream.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+            
+             <b>NB:</b> note this class has been modified to read the leading BZ from the
+             start of the BZIP2 stream to make it compatible with other PGP programs.
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CBZip2OutputStream">
+             An output stream that compresses into the BZip2 format (with the file
+             header chars) into another stream.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+            
+             TODO:    Update to BZip2 1.0.1
+             <b>NB:</b> note this class has been modified to add a leading BZ to the
+             start of the BZIP2 stream to make it compatible with other PGP programs.
+        </member>
+        <member name="M:Org.BouncyCastle.Apache.Bzip2.CBZip2OutputStream.WriteByte(System.Byte)">
+            
+             modified by Oliver Merkel, 010128
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CRC">
+             A simple class the hold and calculate the CRC for sanity checking
+             of the data.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Encodable.GetDerEncoded">
+             Return the DER encoding of the object, null if the DER encoding can not be made.
+            
+             @return a DER byte array, null otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1InputStream">
+            a general purpose ASN.1 decoder - note: this class differs from the
+            others in that it returns null after it has read the last object in
+            the stream. If an ASN.1 Null is encountered a Der/BER Null object is
+            returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.#ctor(System.IO.Stream,System.Int32)">
+             Create an ASN1InputStream where no DER object will be longer than limit.
+            
+             @param input stream containing ASN.1 encoded data.
+             @param limit maximum size of a DER encoded object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.#ctor(System.Byte[])">
+             Create an ASN1InputStream based on the input byte array. The length of DER objects in
+             the stream is automatically limited to the length of the input array.
+            
+             @param input array containing ASN.1 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.BuildObject(System.Int32,System.Int32,System.Int32)">
+            build an object given its tag and the number of bytes to construct it from.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1Null">
+            A Null object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Object.FromByteArray(System.Byte[])">
+            <summary>Create a base ASN.1 object from a byte array.</summary>
+            <param name="data">The byte array to parse.</param>
+            <returns>The base ASN.1 object represented by the byte array.</returns>
+            <exception cref="T:System.IO.IOException">If there is a problem parsing the data.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Object.FromStream(System.IO.Stream)">
+            <summary>Read a base ASN.1 object from a stream.</summary>
+            <param name="inStr">The stream to parse.</param>
+            <returns>The base ASN.1 object represented by the byte array.</returns>
+            <exception cref="T:System.IO.IOException">If there is a problem parsing the data.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Octet string from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                          be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.GetInstance(System.Object)">
+             return an Octet string from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.#ctor(System.Byte[])">
+            @param string the octets making up the octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Sequence.GetInstance(System.Object)">
+             return an Asn1Sequence from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Sequence.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return an ASN1 sequence from a tagged object. There is a special
+             case here, if an object appears to have been explicitly tagged on
+             reading but we were expecting it to be implicitly tagged in the
+             normal course of events it indicates that we lost the surrounding
+             sequence - so we need to add it back (this will happen if the tagged
+             object is a sequence that contains other sequences). If you are
+             dealing with implicitly tagged sequences you really <b>should</b>
+             be using this method.
+            
+             @param obj the tagged object.
+             @param explicitly true if the object is meant to be explicitly tagged,
+                      false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                      be converted.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Asn1Sequence.Item(System.Int32)">
+             return the object at the sequence position indicated by index.
+            
+             @param index the sequence number (starting at zero) of the object
+             @return the object at the sequence position indicated by index.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.GetInstance(System.Object)">
+             return an ASN1Set from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return an ASN1 set from a tagged object. There is a special
+             case here, if an object appears to have been explicitly tagged on
+             reading but we were expecting it to be implicitly tagged in the
+             normal course of events it indicates that we lost the surrounding
+             set - so we need to add it back (this will happen if the tagged
+             object is a sequence that contains other sequences). If you are
+             dealing with implicitly tagged sets you really <b>should</b>
+             be using this method.
+            
+             @param obj the tagged object.
+             @param explicitly true if the object is meant to be explicitly tagged
+                      false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                      be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.LessThanOrEqual(System.Byte[],System.Byte[])">
+            return true if a &lt;= b (arrays are assumed padded with zeros).
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Asn1Set.Item(System.Int32)">
+             return the object at the set position indicated by index.
+            
+             @param index the set number (starting at zero) of the object
+             @return the object at the set position indicated by index.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1TaggedObject">
+            ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if the object is explicitly tagged.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.IsExplicit">
+            return whether or not the object may be explicitly tagged.
+            <p>
+            Note: if the object has been read from an input stream, the only
+            time you can be sure if isExplicit is returning the true state of
+            affairs is if it returns false. An implicitly tagged object may appear
+            to be explicitly tagged, so you need to understand the context under
+            which the reading was done as well, see GetObject below.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.GetObject">
+            return whatever was following the tag.
+            <p>
+            Note: tagged objects are generally context dependent if you're
+            trying to extract a tagged object you should be going via the
+            appropriate GetInstance method.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.GetObjectParser(System.Int32,System.Boolean)">
+            Return the object held in this tagged object as a parser assuming it has
+            the type of the passed in tag. If the object doesn't have a parser
+            associated with it, the base object is returned.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerApplicationSpecific">
+            Base class for an application specific object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerApplicationSpecific.GetObject">
+             Return the enclosed object assuming explicit tagging.
+            
+             @return  the resulting object
+             @throws IOException if reconstruction fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerApplicationSpecific.GetObject(System.Int32)">
+             Return the enclosed object assuming implicit tagging.
+            
+             @param derTagNo the type tag that should be applied to the object's contents.
+             @return  the resulting object
+             @throws IOException if reconstruction fails.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.BerNull">
+            A BER Null object.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerNull">
+            A Null object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerOctetString.#ctor(System.Byte[])">
+            <param name="str">The octets making up the octet string.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.ToBytes(System.Collections.IEnumerable)">
+            convert a vector of octet strings into a single byte string
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.#ctor(System.Byte[])">
+            <param name="str">The octets making up the octet string.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.GetEnumerator">
+            return the DER octets that make up this string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a sequence containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a sequence containing a vector of objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a sequence containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a sequence containing a vector of objects.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerSet">
+            A Der encoded set object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor">
+            create an empty set
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param obj - a single object that makes up the set.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            @param v - a vector of objects making up the set.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a set containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a set containing a vector of objects.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.BerTaggedObject">
+            BER TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerTaggedObject">
+            DER TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if an explicitly tagged object.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Int32)">
+            create an implicitly tagged object that contains a zero
+            length sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if an explicitly tagged object.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Int32)">
+            create an implicitly tagged object that contains a zero
+            length sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CAKeyUpdAnnContent.ToAsn1Object">
+            <pre>
+            CAKeyUpdAnnContent ::= SEQUENCE {
+                                        oldWithNew   CmpCertificate, -- old pub signed with new priv
+                                        newWithOld   CmpCertificate, -- new pub signed with old priv
+                                        newWithNew   CmpCertificate  -- new pub signed with new priv
+             }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertConfirmContent.ToAsn1Object">
+            <pre>
+            CertConfirmContent ::= SEQUENCE OF CertStatus
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertifiedKeyPair.ToAsn1Object">
+            <pre>
+            CertifiedKeyPair ::= SEQUENCE {
+                                             certOrEncCert       CertOrEncCert,
+                                             privateKey      [0] EncryptedValue      OPTIONAL,
+                                             -- see [CRMF] for comment on encoding
+                                             publicationInfo [1] PKIPublicationInfo  OPTIONAL
+                  }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IAsn1Choice">
+            Marker interface for CHOICE objects - if you implement this in a roll-your-own
+            object, any attempt to tag the object implicitly will convert the tag to an
+            explicit one as the encoding rules require.
+            <p>
+            If you use this interface your class should also implement the getInstance
+            pattern which takes a tag object and the tagging mode used. 
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertOrEncCert.ToAsn1Object">
+            <pre>
+            CertOrEncCert ::= CHOICE {
+                                 certificate     [0] CMPCertificate,
+                                 encryptedCert   [1] EncryptedValue
+                      }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertRepMessage.ToAsn1Object">
+            <pre>
+            CertRepMessage ::= SEQUENCE {
+                                     caPubs       [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                        OPTIONAL,
+                                     response         SEQUENCE OF CertResponse
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertResponse.ToAsn1Object">
+            <pre>
+            CertResponse ::= SEQUENCE {
+                                       certReqId           INTEGER,
+                                       -- to match this response with corresponding request (a value
+                                       -- of -1 is to be used if certReqId is not specified in the
+                                       -- corresponding request)
+                                       status              PKIStatusInfo,
+                                       certifiedKeyPair    CertifiedKeyPair    OPTIONAL,
+                                       rspInfo             OCTET STRING        OPTIONAL
+                                       -- analogous to the id-regInfo-utf8Pairs string defined
+                                       -- for regInfo in CertReqMsg [CRMF]
+                        }
+            </pre> 
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertStatus.ToAsn1Object">
+            <pre>
+            CertStatus ::= SEQUENCE {
+                              certHash    OCTET STRING,
+                              -- the hash of the certificate, using the same hash algorithm
+                              -- as is used to create and verify the certificate signature
+                              certReqId   INTEGER,
+                              -- to match this confirmation with the corresponding req/rep
+                              statusInfo  PKIStatusInfo OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.Challenge.ToAsn1Object">
+             <pre>
+             Challenge ::= SEQUENCE {
+                             owf                 AlgorithmIdentifier  OPTIONAL,
+            
+                             -- MUST be present in the first Challenge; MAY be omitted in
+                             -- any subsequent Challenge in POPODecKeyChallContent (if
+                             -- omitted, then the owf used in the immediately preceding
+                             -- Challenge is to be used).
+            
+                             witness             OCTET STRING,
+                             -- the result of applying the one-way function (owf) to a
+                             -- randomly-generated INTEGER, A.  [Note that a different
+                             -- INTEGER MUST be used for each Challenge.]
+                             challenge           OCTET STRING
+                             -- the encryption (under the public key for which the cert.
+                             -- request is being made) of Rand, where Rand is specified as
+                             --   Rand ::= SEQUENCE {
+                             --      int      INTEGER,
+                             --       - the randomly-generated INTEGER A (above)
+                             --      sender   GeneralName
+                             --       - the sender's name (as included in PKIHeader)
+                             --   }
+                  }
+             </pre>
+             @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CmpCertificate.#ctor(Org.BouncyCastle.Asn1.X509.AttributeCertificate)">
+            Note: the addition of attribute certificates is a BC extension.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CmpCertificate.ToAsn1Object">
+             <pre>
+             CMPCertificate ::= CHOICE {
+                        x509v3PKCert        Certificate
+                        x509v2AttrCert      [1] AttributeCertificate
+              }
+             </pre>
+             Note: the addition of attribute certificates is a BC extension.
+            
+             @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CrlAnnContent.ToAsn1Object">
+            <pre>
+            CrlAnnContent ::= SEQUENCE OF CertificateList
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.ErrorMsgContent.ToAsn1Object">
+            <pre>
+            ErrorMsgContent ::= SEQUENCE {
+                                   pKIStatusInfo          PKIStatusInfo,
+                                   errorCode              INTEGER           OPTIONAL,
+                                   -- implementation-specific error codes
+                                   errorDetails           PKIFreeText       OPTIONAL
+                                   -- implementation-specific error details
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.GenMsgContent.ToAsn1Object">
+            <pre>
+            GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.GenRepContent.ToAsn1Object">
+            <pre>
+            GenRepContent ::= SEQUENCE OF InfoTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cmp.InfoTypeAndValue">
+             Example InfoTypeAndValue contents include, but are not limited
+             to, the following (un-comment in this ASN.1 module and use as
+             appropriate for a given environment):
+             <pre>
+               id-it-caProtEncCert    OBJECT IDENTIFIER ::= {id-it 1}
+                  CAProtEncCertValue      ::= CMPCertificate
+               id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2}
+                 SignKeyPairTypesValue   ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-encKeyPairTypes  OBJECT IDENTIFIER ::= {id-it 3}
+                 EncKeyPairTypesValue    ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4}
+                  PreferredSymmAlgValue   ::= AlgorithmIdentifier
+               id-it-caKeyUpdateInfo  OBJECT IDENTIFIER ::= {id-it 5}
+                  CAKeyUpdateInfoValue    ::= CAKeyUpdAnnContent
+               id-it-currentCRL       OBJECT IDENTIFIER ::= {id-it 6}
+                  CurrentCRLValue         ::= CertificateList
+               id-it-unsupportedOIDs  OBJECT IDENTIFIER ::= {id-it 7}
+                  UnsupportedOIDsValue    ::= SEQUENCE OF OBJECT IDENTIFIER
+               id-it-keyPairParamReq  OBJECT IDENTIFIER ::= {id-it 10}
+                  KeyPairParamReqValue    ::= OBJECT IDENTIFIER
+               id-it-keyPairParamRep  OBJECT IDENTIFIER ::= {id-it 11}
+                  KeyPairParamRepValue    ::= AlgorithmIdentifer
+               id-it-revPassphrase    OBJECT IDENTIFIER ::= {id-it 12}
+                  RevPassphraseValue      ::= EncryptedValue
+               id-it-implicitConfirm  OBJECT IDENTIFIER ::= {id-it 13}
+                  ImplicitConfirmValue    ::= NULL
+               id-it-confirmWaitTime  OBJECT IDENTIFIER ::= {id-it 14}
+                  ConfirmWaitTimeValue    ::= GeneralizedTime
+               id-it-origPKIMessage   OBJECT IDENTIFIER ::= {id-it 15}
+                  OrigPKIMessageValue     ::= PKIMessages
+               id-it-suppLangTags     OBJECT IDENTIFIER ::= {id-it 16}
+                  SuppLangTagsValue       ::= SEQUENCE OF UTF8String
+            
+             where
+            
+               id-pkix OBJECT IDENTIFIER ::= {
+                  iso(1) identified-organization(3)
+                  dod(6) internet(1) security(5) mechanisms(5) pkix(7)}
+             and
+                  id-it   OBJECT IDENTIFIER ::= {id-pkix 4}
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.InfoTypeAndValue.ToAsn1Object">
+            <pre>
+            InfoTypeAndValue ::= SEQUENCE {
+                                    infoType               OBJECT IDENTIFIER,
+                                    infoValue              ANY DEFINED BY infoType  OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.KeyRecRepContent.ToAsn1Object">
+            <pre>
+            KeyRecRepContent ::= SEQUENCE {
+                                    status                  PKIStatusInfo,
+                                    newSigCert          [0] CMPCertificate OPTIONAL,
+                                    caCerts             [1] SEQUENCE SIZE (1..MAX) OF
+                                                                      CMPCertificate OPTIONAL,
+                                    keyPairHist         [2] SEQUENCE SIZE (1..MAX) OF
+                                                                      CertifiedKeyPair OPTIONAL
+                         }
+            </pre> 
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.OobCertHash.ToAsn1Object">
+            <pre>
+            OobCertHash ::= SEQUENCE {
+                                 hashAlg     [0] AlgorithmIdentifier     OPTIONAL,
+                                 certId      [1] CertId                  OPTIONAL,
+                                 hashVal         BIT STRING
+                                 -- hashVal is calculated over the Der encoding of the
+                                 -- self-signed certificate with the identifier certID.
+                  }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PbmParameter.ToAsn1Object">
+            <pre>
+             PbmParameter ::= SEQUENCE {
+                                   salt                OCTET STRING,
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this string to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   owf                 AlgorithmIdentifier,
+                                   -- AlgId for a One-Way Function (SHA-1 recommended)
+                                   iterationCount      INTEGER,
+                                   -- number of times the OWF is applied
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this integer to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   mac                 AlgorithmIdentifier
+                                   -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+               }   -- or HMAC [RFC2104, RFC2202])
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiBody.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            Creates a new PkiBody.
+            @param type one of the TYPE_* constants
+            @param content message content
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiBody.ToAsn1Object">
+            <pre>
+            PkiBody ::= CHOICE {       -- message-specific body elements
+                   ir       [0]  CertReqMessages,        --Initialization Request
+                   ip       [1]  CertRepMessage,         --Initialization Response
+                   cr       [2]  CertReqMessages,        --Certification Request
+                   cp       [3]  CertRepMessage,         --Certification Response
+                   p10cr    [4]  CertificationRequest,   --imported from [PKCS10]
+                   popdecc  [5]  POPODecKeyChallContent, --pop Challenge
+                   popdecr  [6]  POPODecKeyRespContent,  --pop Response
+                   kur      [7]  CertReqMessages,        --Key Update Request
+                   kup      [8]  CertRepMessage,         --Key Update Response
+                   krr      [9]  CertReqMessages,        --Key Recovery Request
+                   krp      [10] KeyRecRepContent,       --Key Recovery Response
+                   rr       [11] RevReqContent,          --Revocation Request
+                   rp       [12] RevRepContent,          --Revocation Response
+                   ccr      [13] CertReqMessages,        --Cross-Cert. Request
+                   ccp      [14] CertRepMessage,         --Cross-Cert. Response
+                   ckuann   [15] CAKeyUpdAnnContent,     --CA Key Update Ann.
+                   cann     [16] CertAnnContent,         --Certificate Ann.
+                   rann     [17] RevAnnContent,          --Revocation Ann.
+                   crlann   [18] CRLAnnContent,          --CRL Announcement
+                   pkiconf  [19] PKIConfirmContent,      --Confirmation
+                   nested   [20] NestedMessageContent,   --Nested Message
+                   genm     [21] GenMsgContent,          --General Message
+                   genp     [22] GenRepContent,          --General Response
+                   error    [23] ErrorMsgContent,        --Error Message
+                   certConf [24] CertConfirmContent,     --Certificate confirm
+                   pollReq  [25] PollReqContent,         --Polling request
+                   pollRep  [26] PollRepContent          --Polling response
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiConfirmContent.ToAsn1Object">
+            <pre>
+            PkiConfirmContent ::= NULL
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cmp.PkiFailureInfo">
+            <pre>
+            PKIFailureInfo ::= BIT STRING {
+            badAlg               (0),
+              -- unrecognized or unsupported Algorithm Identifier
+            badMessageCheck      (1), -- integrity check failed (e.g., signature did not verify)
+            badRequest           (2),
+              -- transaction not permitted or supported
+            badTime              (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+            badCertId            (4), -- no certificate could be found matching the provided criteria
+            badDataFormat        (5),
+              -- the data submitted has the wrong format
+            wrongAuthority       (6), -- the authority indicated in the request is different from the one creating the response token
+            incorrectData        (7), -- the requester's data is incorrect (for notary services)
+            missingTimeStamp     (8), -- when the timestamp is missing but should be there (by policy)
+            badPOP               (9)  -- the proof-of-possession failed
+            timeNotAvailable    (14),
+              -- the TSA's time source is not available
+            unacceptedPolicy    (15),
+              -- the requested TSA policy is not supported by the TSA
+            unacceptedExtension (16),
+              -- the requested extension is not supported by the TSA
+             addInfoNotAvailable (17)
+               -- the additional information requested could not be understood
+               -- or is not available
+             systemFailure       (25)
+               -- the request cannot be handled due to system failure
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IAsn1String">
+            basic interface for Der string objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetPadBits(System.Int32)">
+            return the correct number of pad bits for a bit string defined in
+            a 32 bit constant
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetBytes(System.Int32)">
+            return the correct number of bytes for a bit string defined in
+            a 32 bit constant
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetInstance(System.Object)">
+             return a Bit string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Bit string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.#ctor(System.Byte[],System.Int32)">
+            @param data the octets making up the bit string.
+            @param padBits the number of extra bits at the end of the string.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerBitString.IntValue">
+            @return the value of the bit string as an int (truncating if necessary)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiFailureInfo.#ctor(System.Int32)">
+            Basic constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.ToAsn1Object">
+            <pre>
+            PkiFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.Size">
+             Return the number of string elements present.
+            
+             @return number of elements present.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.Item(System.Int32)">
+             Return the UTF8STRING at index.
+            
+             @param index index of the string of interest
+             @return the string at index.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Cmp.PkiHeader.NULL_NAME">
+            Value for a "null" recipient or sender.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiHeader.ToAsn1Object">
+            <pre>
+             PkiHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiHeaderBuilder.Build">
+            <pre>
+             PKIHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessage.#ctor(Org.BouncyCastle.Asn1.Cmp.PkiHeader,Org.BouncyCastle.Asn1.Cmp.PkiBody,Org.BouncyCastle.Asn1.DerBitString,Org.BouncyCastle.Asn1.Cmp.CmpCertificate[])">
+             Creates a new PkiMessage.
+            
+             @param header message header
+             @param body message body
+             @param protection message protection (may be null)
+             @param extraCerts extra certificates (may be null)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessage.ToAsn1Object">
+            <pre>
+            PkiMessage ::= SEQUENCE {
+                             header           PKIHeader,
+                             body             PKIBody,
+                             protection   [0] PKIProtection OPTIONAL,
+                             extraCerts   [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessages.ToAsn1Object">
+            <pre>
+            PkiMessages ::= SEQUENCE SIZE (1..MAX) OF PkiMessage
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.#ctor(System.Int32)">
+            @param status
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.#ctor(System.Int32,Org.BouncyCastle.Asn1.Cmp.PkiFreeText)">
+            @param status
+            @param statusString
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.ToAsn1Object">
+             <pre>
+             PkiStatusInfo ::= SEQUENCE {
+                 status        PKIStatus,                (INTEGER)
+                 statusString  PkiFreeText     OPTIONAL,
+                 failInfo      PkiFailureInfo  OPTIONAL  (BIT STRING)
+             }
+            
+             PKIStatus:
+               granted                (0), -- you got exactly what you asked for
+               grantedWithMods        (1), -- you got something like what you asked for
+               rejection              (2), -- you don't get it, more information elsewhere in the message
+               waiting                (3), -- the request body part has not yet been processed, expect to hear more later
+               revocationWarning      (4), -- this message contains a warning that a revocation is imminent
+               revocationNotification (5), -- notification that a revocation has occurred
+               keyUpdateWarning       (6)  -- update already done for the oldCertId specified in CertReqMsg
+            
+             PkiFailureInfo:
+               badAlg           (0), -- unrecognized or unsupported Algorithm Identifier
+               badMessageCheck  (1), -- integrity check failed (e.g., signature did not verify)
+               badRequest       (2), -- transaction not permitted or supported
+               badTime          (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+               badCertId        (4), -- no certificate could be found matching the provided criteria
+               badDataFormat    (5), -- the data submitted has the wrong format
+               wrongAuthority   (6), -- the authority indicated in the request is different from the one creating the response token
+               incorrectData    (7), -- the requester's data is incorrect (for notary services)
+               missingTimeStamp (8), -- when the timestamp is missing but should be there (by policy)
+               badPOP           (9)  -- the proof-of-possession failed
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PollRepContent.ToAsn1Object">
+            <pre>
+            PollRepContent ::= SEQUENCE OF SEQUENCE {
+                    certReqId              INTEGER,
+                    checkAfter             INTEGER,  -- time in seconds
+                    reason                 PKIFreeText OPTIONAL
+                }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PollReqContent.ToAsn1Object">
+            <pre>
+            PollReqContent ::= SEQUENCE OF SEQUENCE {
+                                   certReqId              INTEGER
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PopoDecKeyChallContent.ToAsn1Object">
+            <pre>
+            PopoDecKeyChallContent ::= SEQUENCE OF Challenge
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PopoDecKeyRespContent.ToAsn1Object">
+            <pre>
+            PopoDecKeyRespContent ::= SEQUENCE OF INTEGER
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.ProtectedPart.ToAsn1Object">
+            <pre>
+            ProtectedPart ::= SEQUENCE {
+                               header    PKIHeader,
+                               body      PKIBody
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevAnnContent.ToAsn1Object">
+            <pre>
+            RevAnnContent ::= SEQUENCE {
+                  status              PKIStatus,
+                  certId              CertId,
+                  willBeRevokedAt     GeneralizedTime,
+                  badSinceDate        GeneralizedTime,
+                  crlDetails          Extensions  OPTIONAL
+                   -- extra CRL details (e.g., crl number, reason, location, etc.)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevDetails.ToAsn1Object">
+            <pre>
+            RevDetails ::= SEQUENCE {
+                             certDetails         CertTemplate,
+                              -- allows requester to specify as much as they can about
+                              -- the cert. for which revocation is requested
+                              -- (e.g., for cases in which serialNumber is not available)
+                              crlEntryDetails     Extensions       OPTIONAL
+                              -- requested crlEntryExtensions
+                        }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevRepContent.ToAsn1Object">
+            <pre>
+            RevRepContent ::= SEQUENCE {
+                   status       SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
+                   -- in same order as was sent in RevReqContent
+                   revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId OPTIONAL,
+                   -- IDs for which revocation was requested
+                   -- (same order as status)
+                   crls     [1] SEQUENCE SIZE (1..MAX) OF CertificateList OPTIONAL
+                   -- the resulting CRLs (there may be more than one)
+              }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevReqContent.ToAsn1Object">
+            <pre>
+            RevReqContent ::= SEQUENCE OF RevDetails
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attribute.GetInstance(System.Object)">
+             return an Attribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attribute.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attribute ::= SEQUENCE {
+                attrType OBJECT IDENTIFIER,
+                attrValues SET OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attributes.ToAsn1Object">
+            <pre>
+            Attributes ::=
+              SET SIZE(1..MAX) OF Attribute -- according to RFC 5652
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AttributeTable.GetAll(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             Return all the attributes matching the OBJECT IDENTIFIER oid. The vector will be
+             empty if there are no attributes of the required type present.
+            
+             @param oid type of attribute required.
+             @return a vector of all the attributes found of type oid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AttributeTable.Add(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Return a new table with the passed in attribute added.
+            
+             @param attrType
+             @param attrValue
+             @return
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cms.AttributeTable.Item(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            <summary>Return the first attribute matching the given OBJECT IDENTIFIER</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthenticatedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.GetInstance(System.Object)">
+             return an AuthenticatedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.AuthenticatedDataParser">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthEnvelopedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.GetInstance(System.Object)">
+             return an AuthEnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedDataParser">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            <pre>
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.CompressedData">
+            RFC 3274 - CMS Compressed Data.
+            <pre>
+            CompressedData ::= Sequence {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.CompressedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a CompressedData object from a tagged object.
+            
+             @param ato the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.CompressedData.GetInstance(System.Object)">
+             return a CompressedData object from the given object.
+            
+             @param _obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.CompressedDataParser">
+            RFC 3274 - CMS Compressed Data.
+            <pre>
+            CompressedData ::= SEQUENCE {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.ContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.ContentInfoParser">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= SEQUENCE {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthEnvelopedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.GetInstance(System.Object)">
+             return an AuthEnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            MQVuserKeyingMaterial ::= SEQUENCE {
+              ephemeralPublicKey OriginatorPublicKey,
+              addedukm [0] EXPLICIT UserKeyingMaterial OPTIONAL  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfo.GetInstance(System.Object)">
+             return an EncryptedContentInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EncryptedContentInfo ::= Sequence {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfoParser">
+            <pre>
+            EncryptedContentInfo ::= SEQUENCE {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedData.ToAsn1Object">
+            <pre>
+                  EncryptedData ::= SEQUENCE {
+                                version CMSVersion,
+                                encryptedContentInfo EncryptedContentInfo,
+                                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an EnvelopedData object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.GetInstance(System.Object)">
+             return an EnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EnvelopedData ::= Sequence {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.EnvelopedDataParser">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EnvelopedData ::= SEQUENCE {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KekIdentifier object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.GetInstance(System.Object)">
+             return a KekIdentifier object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KekIdentifier ::= Sequence {
+                keyIdentifier OCTET STRING,
+                date GeneralizedTime OPTIONAL,
+                other OtherKeyAttribute OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KekRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.GetInstance(System.Object)">
+             return a KekRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KekRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 4
+                kekID KekIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an KeyAgreeRecipientIdentifier object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.GetInstance(System.Object)">
+             return an KeyAgreeRecipientIdentifier object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KeyAgreeRecipientIdentifier ::= CHOICE {
+                issuerAndSerialNumber IssuerAndSerialNumber,
+                rKeyId [0] IMPLICIT RecipientKeyIdentifier
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KeyAgreeRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.GetInstance(System.Object)">
+             return a KeyAgreeRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.ToAsn1Object">
+                     * Produce an object suitable for an Asn1OutputStream.
+                     * <pre>
+                     * KeyAgreeRecipientInfo ::= Sequence {
+                     *     version CMSVersion,  -- always set to 3
+                     *     originator [0] EXPLICIT OriginatorIdentifierOrKey,
+                     *     ukm [1] EXPLICIT UserKeyingMaterial OPTIONAL,
+                     *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                     *     recipientEncryptedKeys RecipientEncryptedKeys
+                     * }
+            		 *
+            		 * UserKeyingMaterial ::= OCTET STRING
+                     * </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyTransRecipientInfo.GetInstance(System.Object)">
+             return a KeyTransRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyTransRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KeyTransRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 0 or 2
+                rid RecipientIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.MetaData.ToAsn1Object">
+            <pre>
+            MetaData ::= SEQUENCE {
+              hashProtected        BOOLEAN,
+              fileName             UTF8String OPTIONAL,
+              mediaType            IA5String OPTIONAL,
+              otherMetaData        Attributes OPTIONAL
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorIdentifierOrKey object from a tagged object.
+            
+             @param o the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.GetInstance(System.Object)">
+             return an OriginatorIdentifierOrKey object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             OriginatorIdentifierOrKey ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier,
+                 originatorKey [1] OriginatorPublicKey
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.GetInstance(System.Object)">
+             return an OriginatorInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OriginatorInfo ::= Sequence {
+                certs [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorPublicKey object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.GetInstance(System.Object)">
+             return an OriginatorPublicKey object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OriginatorPublicKey ::= Sequence {
+                algorithm AlgorithmIdentifier,
+                publicKey BIT STRING
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherKeyAttribute.GetInstance(System.Object)">
+             return an OtherKeyAttribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherKeyAttribute.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OtherKeyAttribute ::= Sequence {
+                keyAttrId OBJECT IDENTIFIER,
+                keyAttr ANY DEFINED BY keyAttrId OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a OtherRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.GetInstance(System.Object)">
+             return a OtherRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OtherRecipientInfo ::= Sequence {
+               oriType OBJECT IDENTIFIER,
+               oriValue ANY DEFINED BY oriType }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a PasswordRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.GetInstance(System.Object)">
+             return a PasswordRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            PasswordRecipientInfo ::= Sequence {
+              version CMSVersion,   -- Always set to 0
+              keyDerivationAlgorithm [0] KeyDerivationAlgorithmIdentifier
+                                        OPTIONAL,
+             keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+             encryptedKey EncryptedKey }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an RecipientEncryptedKey object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.GetInstance(System.Object)">
+             return a RecipientEncryptedKey object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RecipientEncryptedKey ::= SEQUENCE {
+                rid KeyAgreeRecipientIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientIdentifier.GetInstance(System.Object)">
+             return a RecipientIdentifier object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             RecipientIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RecipientInfo ::= CHOICE {
+                ktri KeyTransRecipientInfo,
+                kari [1] KeyAgreeRecipientInfo,
+                kekri [2] KekRecipientInfo,
+                pwri [3] PasswordRecipientInfo,
+                ori [4] OtherRecipientInfo }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a RecipientKeyIdentifier object from a tagged object.
+            
+             @param _ato the tagged object holding the object we want.
+             @param _explicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.GetInstance(System.Object)">
+             return a RecipientKeyIdentifier object from the given object.
+            
+             @param _obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             RecipientKeyIdentifier ::= Sequence {
+                 subjectKeyIdentifier SubjectKeyIdentifier,
+                 date GeneralizedTime OPTIONAL,
+                 other OtherKeyAttribute OPTIONAL
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.SignedData">
+            a signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SignedData ::= Sequence {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.SignedDataParser">
+            <pre>
+            SignedData ::= SEQUENCE {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerIdentifier.GetInstance(System.Object)">
+             return a SignerIdentifier object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             SignerIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              SignerInfo ::= Sequence {
+                  version Version,
+                  SignerIdentifier sid,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Time.#ctor(System.DateTime)">
+            creates a time object from a given date - if the date is between 1950
+            and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime
+            is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Time.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampAndCrl.ToAsn1Object">
+            <pre>
+            TimeStampAndCRL ::= SEQUENCE {
+                timeStamp   TimeStampToken,          -- according to RFC 3161
+                crl         CertificateList OPTIONAL -- according to RFC 5280
+             }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampedData.ToAsn1Object">
+            <pre>
+            TimeStampedData ::= SEQUENCE {
+              version              INTEGER { v1(1) },
+              dataUri              IA5String OPTIONAL,
+              metaData             MetaData OPTIONAL,
+              content              OCTET STRING OPTIONAL,
+              temporalEvidence     Evidence
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampTokenEvidence.ToAsn1Object">
+            <pre>
+            TimeStampTokenEvidence ::=
+               SEQUENCE SIZE(1..MAX) OF TimeStampAndCrl
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.AttributeTypeAndValue.ToAsn1Object">
+            <pre>
+            AttributeTypeAndValue ::= SEQUENCE {
+                      type         OBJECT IDENTIFIER,
+                      value        ANY DEFINED BY type }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertId.ToAsn1Object">
+            <pre>
+            CertId ::= SEQUENCE {
+                            issuer           GeneralName,
+                            serialNumber     INTEGER }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMessages.ToAsn1Object">
+            <pre>
+            CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMsg.#ctor(Org.BouncyCastle.Asn1.Crmf.CertRequest,Org.BouncyCastle.Asn1.Crmf.ProofOfPossession,Org.BouncyCastle.Asn1.Crmf.AttributeTypeAndValue[])">
+            Creates a new CertReqMsg.
+            @param certReq CertRequest
+            @param popo may be null
+            @param regInfo may be null
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMsg.ToAsn1Object">
+            <pre>
+            CertReqMsg ::= SEQUENCE {
+                               certReq   CertRequest,
+                               pop       ProofOfPossession  OPTIONAL,
+                               -- content depends upon key type
+                               regInfo   SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertRequest.ToAsn1Object">
+            <pre>
+            CertRequest ::= SEQUENCE {
+                                 certReqId     INTEGER,          -- ID for matching request and reply
+                                 certTemplate  CertTemplate,  -- Selected fields of cert to be issued
+                                 controls      Controls OPTIONAL }   -- Attributes affecting issuance
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplate.ToAsn1Object">
+            <pre>
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetVersion(System.Int32)">
+            Sets the X.509 version. Note: for X509v3, use 2 here. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetIssuerUID(Org.BouncyCastle.Asn1.DerBitString)">
+            Sets the issuer unique ID (deprecated in X.509v3) 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetSubjectUID(Org.BouncyCastle.Asn1.DerBitString)">
+            Sets the subject unique ID (deprecated in X.509v3) 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.Build">
+            <pre>
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.Controls.ToAsn1Object">
+            <pre>
+            Controls  ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncKeyWithID.ToAsn1Object">
+            <pre>
+            EncKeyWithID ::= SEQUENCE {
+                 privateKey           PrivateKeyInfo,
+                 identifier CHOICE {
+                    string               UTF8String,
+                    generalName          GeneralName
+                } OPTIONAL
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncryptedKey.ToAsn1Object">
+            <pre>
+               EncryptedKey ::= CHOICE {
+                   encryptedValue        EncryptedValue, -- deprecated
+                   envelopedData     [0] EnvelopedData }
+                   -- The encrypted private key MUST be placed in the envelopedData
+                   -- encryptedContentInfo encryptedContent OCTET STRING.
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncryptedValue.ToAsn1Object">
+            <pre>
+            EncryptedValue ::= SEQUENCE {
+                                intendedAlg   [0] AlgorithmIdentifier  OPTIONAL,
+                                -- the intended algorithm for which the value will be used
+                                symmAlg       [1] AlgorithmIdentifier  OPTIONAL,
+                                -- the symmetric algorithm used to encrypt the value
+                                encSymmKey    [2] BIT STRING           OPTIONAL,
+                                -- the (encrypted) symmetric key used to encrypt the value
+                                keyAlg        [3] AlgorithmIdentifier  OPTIONAL,
+                                -- algorithm used to encrypt the symmetric key
+                                valueHint     [4] OCTET STRING         OPTIONAL,
+                                -- a brief description or identifier of the encValue content
+                                -- (may be meaningful only to the sending entity, and used only
+                                -- if EncryptedValue might be re-examined by the sending entity
+                                -- in the future)
+                                encValue       BIT STRING }
+                                -- the encrypted value itself
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.OptionalValidity.ToAsn1Object">
+            <pre>
+            OptionalValidity ::= SEQUENCE {
+                                   notBefore  [0] Time OPTIONAL,
+                                   notAfter   [1] Time OPTIONAL } --at least one MUST be present
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PkiArchiveOptions.ToAsn1Object">
+            <pre>
+             PkiArchiveOptions ::= CHOICE {
+                 encryptedPrivKey     [0] EncryptedKey,
+                 -- the actual value of the private key
+                 keyGenParameters     [1] KeyGenParameters,
+                 -- parameters which allow the private key to be re-generated
+                 archiveRemGenPrivKey [2] BOOLEAN }
+                 -- set to TRUE if sender wishes receiver to archive the private
+                 -- key of a key pair that the receiver generates in response to
+                 -- this request; set to FALSE if no archival is desired.
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PkiPublicationInfo.ToAsn1Object">
+            <pre>
+            PkiPublicationInfo ::= SEQUENCE {
+                             action     INTEGER {
+                                            dontPublish (0),
+                                            pleasePublish (1) },
+                             pubInfos  SEQUENCE SIZE (1..MAX) OF SinglePubInfo OPTIONAL }
+            -- pubInfos MUST NOT be present if action is "dontPublish"
+            -- (if action is "pleasePublish" and pubInfos is omitted,
+            -- "dontCare" is assumed)
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Crmf.PKMacValue">
+            Password-based MAC value for use with POPOSigningKeyInput.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.#ctor(Org.BouncyCastle.Asn1.Cmp.PbmParameter,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new PKMACValue.
+            @param params parameters for password-based MAC
+            @param value MAC of the DER-encoded SubjectPublicKeyInfo
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.#ctor(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new PKMACValue.
+            @param aid CMPObjectIdentifiers.passwordBasedMAC, with PBMParameter
+            @param value MAC of the DER-encoded SubjectPublicKeyInfo
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.ToAsn1Object">
+            <pre>
+            PKMACValue ::= SEQUENCE {
+                 algId  AlgorithmIdentifier,
+                 -- algorithm value shall be PasswordBasedMac 1.2.840.113533.7.66.13
+                 -- parameter value is PBMParameter
+                 value  BIT STRING }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoPrivKey.ToAsn1Object">
+            <pre>
+            PopoPrivKey ::= CHOICE {
+                   thisMessage       [0] BIT STRING,         -- Deprecated
+                    -- possession is proven in this message (which contains the private
+                    -- key itself (encrypted for the CA))
+                   subsequentMessage [1] SubsequentMessage,
+                    -- possession will be proven in a subsequent message
+                   dhMAC             [2] BIT STRING,         -- Deprecated
+                   agreeMAC          [3] PKMACValue,
+                   encryptedKey      [4] EnvelopedData }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKey.#ctor(Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput,Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new Proof of Possession object for a signing key.
+            @param poposkIn the PopoSigningKeyInput structure, or null if the
+                CertTemplate includes both subject and publicKey values.
+            @param aid the AlgorithmIdentifier used to sign the proof of possession.
+            @param signature a signature over the DER-encoded value of poposkIn,
+                or the DER-encoded value of certReq if poposkIn is null.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKey.ToAsn1Object">
+            <pre>
+            PopoSigningKey ::= SEQUENCE {
+                                 poposkInput           [0] PopoSigningKeyInput OPTIONAL,
+                                 algorithmIdentifier   AlgorithmIdentifier,
+                                 signature             BIT STRING }
+             -- The signature (using "algorithmIdentifier") is on the
+             -- DER-encoded value of poposkInput.  NOTE: If the CertReqMsg
+             -- certReq CertTemplate contains the subject and publicKey values,
+             -- then poposkInput MUST be omitted and the signature MUST be
+             -- computed on the DER-encoded value of CertReqMsg certReq.  If
+             -- the CertReqMsg certReq CertTemplate does not contain the public
+             -- key and subject values, then poposkInput MUST be present and
+             -- MUST be signed.  This strategy ensures that the public key is
+             -- not present in both the poposkInput and CertReqMsg certReq
+             -- CertTemplate fields.
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Creates a new PopoSigningKeyInput with sender name as authInfo. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.#ctor(Org.BouncyCastle.Asn1.Crmf.PKMacValue,Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Creates a new PopoSigningKeyInput using password-based MAC. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.ToAsn1Object">
+            <pre>
+            PopoSigningKeyInput ::= SEQUENCE {
+                   authInfo             CHOICE {
+                                            sender              [0] GeneralName,
+                                            -- used only if an authenticated identity has been
+                                            -- established for the sender (e.g., a DN from a
+                                            -- previously-issued and currently-valid certificate
+                                            publicKeyMac        PKMacValue },
+                                            -- used if no authenticated GeneralName currently exists for
+                                            -- the sender; publicKeyMac contains a password-based MAC
+                                            -- on the DER-encoded value of publicKey
+                   publicKey           SubjectPublicKeyInfo }  -- from CertTemplate
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.Sender">
+            Returns the sender field, or null if authInfo is publicKeyMac 
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.PublicKeyMac">
+            Returns the publicKeyMac field, or null if authInfo is sender 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor">
+            Creates a ProofOfPossession with type raVerified. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor(Org.BouncyCastle.Asn1.Crmf.PopoSigningKey)">
+            Creates a ProofOfPossession for a signing key. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor(System.Int32,Org.BouncyCastle.Asn1.Crmf.PopoPrivKey)">
+            Creates a ProofOfPossession for key encipherment or agreement.
+            @param type one of TYPE_KEY_ENCIPHERMENT or TYPE_KEY_AGREEMENT
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.ToAsn1Object">
+            <pre>
+            ProofOfPossession ::= CHOICE {
+                                      raVerified        [0] NULL,
+                                      -- used if the RA has already verified that the requester is in
+                                      -- possession of the private key
+                                      signature         [1] PopoSigningKey,
+                                      keyEncipherment   [2] PopoPrivKey,
+                                      keyAgreement      [3] PopoPrivKey }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.SinglePubInfo.ToAsn1Object">
+            <pre>
+            SinglePubInfo ::= SEQUENCE {
+                   pubMethod    INTEGER {
+                      dontCare    (0),
+                      x500        (1),
+                      web         (2),
+                      ldap        (3) },
+                  pubLocation  GeneralName OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerInteger.GetInstance(System.Object)">
+             return an integer from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerInteger.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Integer from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerInteger.PositiveValue">
+            in some cases positive values Get crammed into a space,
+            that's not quite big enough...
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves">
+            table of the available named parameters for GOST 3410-2001.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the ECDomainParameters object for the given OID, null if it
+             isn't present.
+            
+             @param oid an object identifier representing a named parameters, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.Gost28147Parameters.ToAsn1Object">
+             <pre>
+             Gost28147-89-Parameters ::=
+                           SEQUENCE {
+                                   iv                   Gost28147-89-IV,
+                                   encryptionParamSet   OBJECT IDENTIFIER
+                            }
+            
+               Gost28147-89-IV ::= OCTET STRING (SIZE (8))
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters">
+            table of the available named parameters for GOST 3410-94.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the GOST3410ParamSetParameters object for the given OID, null if it
+             isn't present.
+            
+             @param oid an object identifier representing a named parameters, if present.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters.Names">
+            returns an enumeration containing the name strings for parameters
+            contained in this structure.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerBmpString">
+            Der BMPString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.GetInstance(System.Object)">
+             return a BMP string from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a BMP string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                          be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(System.Object)">
+             return a bool from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(System.Boolean)">
+            return a DerBoolean from the passed in bool.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Boolean from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerEnumerated.GetInstance(System.Object)">
+             return an integer from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerEnumerated.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Enumerated from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerExternal">
+            Class representing the DER-type External
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerExternal.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.DerInteger,Org.BouncyCastle.Asn1.Asn1Object,Org.BouncyCastle.Asn1.DerTaggedObject)">
+            Creates a new instance of DerExternal
+            See X.690 for more informations about the meaning of these parameters
+            @param directReference The direct reference or <code>null</code> if not set.
+            @param indirectReference The indirect reference or <code>null</code> if not set.
+            @param dataValueDescriptor The data value descriptor or <code>null</code> if not set.
+            @param externalData The external data in its encoded form.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerExternal.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.DerInteger,Org.BouncyCastle.Asn1.Asn1Object,System.Int32,Org.BouncyCastle.Asn1.Asn1Object)">
+            Creates a new instance of DerExternal.
+            See X.690 for more informations about the meaning of these parameters
+            @param directReference The direct reference or <code>null</code> if not set.
+            @param indirectReference The indirect reference or <code>null</code> if not set.
+            @param dataValueDescriptor The data value descriptor or <code>null</code> if not set.
+            @param encoding The encoding to be used for the external data
+            @param externalData The external data
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerExternal.Encoding">
+            The encoding of the content. Valid values are
+            <ul>
+            <li><code>0</code> single-ASN1-type</li>
+            <li><code>1</code> OCTET STRING</li>
+            <li><code>2</code> BIT STRING</li>
+            </ul>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerGeneralizedTime">
+            Generalized time object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetInstance(System.Object)">
+             return a generalized time from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Generalized Time object from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.#ctor(System.String)">
+             The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z
+             for local time, or Z+-HHMM on the end, for difference between local
+             time and UTC time. The fractional second amount f must consist of at
+             least one number with trailing zeroes removed.
+            
+             @param time the time string.
+             @exception ArgumentException if string is an illegal format.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.#ctor(System.DateTime)">
+            base constructor from a local time object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetTime">
+            return the time - always in the form of
+             YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm).
+            <p>
+            Normally in a certificate we would expect "Z" rather than "GMT",
+            however adding the "GMT" means we can just use:
+            <pre>
+                dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
+            </pre>
+            To read in the time and Get a date which is compatible with our local
+            time zone.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerGeneralizedTime.TimeString">
+            Return the time.
+            @return The time string as it appeared in the encoded object.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerIA5String">
+            Der IA5String object - this is an ascii string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.GetInstance(System.Object)">
+             return a IA5 string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an IA5 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.String)">
+            basic constructor - without validation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in an IA5String.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.IsIA5String(System.String)">
+             return true if the passed in String can be represented without
+             loss as an IA5String, false otherwise.
+            
+             @return true if in printable set, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerNumericString">
+            Der NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.GetInstance(System.Object)">
+             return a Numeric string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Numeric string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.String)">
+            basic constructor -  without validation..
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in a NumericString.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.IsNumericString(System.String)">
+             Return true if the string can be represented as a NumericString ('0'..'9', ' ')
+            
+             @param str string to validate.
+             @return true if numeric, fale otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.GetInstance(System.Object)">
+             return an Oid from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an object Identifier from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.On(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            Return  true if this oid is an extension of the passed in branch, stem.
+            @param stem the arc or branch that is a possible parent.
+            @return  true if the branch is on the passed in stem, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerPrintableString">
+            Der PrintableString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.GetInstance(System.Object)">
+             return a printable string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Printable string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.String)">
+            basic constructor - this does not validate the string
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in a PrintableString.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.IsPrintableString(System.String)">
+             return true if the passed in String can be represented without
+             loss as a PrintableString, false otherwise.
+            
+             @return true if in printable set, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerT61String">
+            Der T61String (also the teletex string) - 8-bit characters
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.GetInstance(System.Object)">
+             return a T61 string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an T61 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.#ctor(System.String)">
+            basic constructor - with string.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUniversalString">
+            Der UniversalString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.GetInstance(System.Object)">
+             return a Universal string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Universal string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUnknownTag">
+            We insert one of these when we find a tag we don't recognise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUnknownTag.#ctor(System.Int32,System.Byte[])">
+            @param tag the tag value.
+            @param data the contents octets.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUtcTime">
+            UTC time object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.GetInstance(System.Object)">
+             return an UTC Time from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an UTC Time from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.#ctor(System.String)">
+            The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were
+            never encoded. When you're creating one of these objects from scratch, that's
+            what you want to use, otherwise we'll try to deal with whatever Gets read from
+            the input stream... (this is why the input format is different from the GetTime()
+            method output).
+            <p>
+            @param time the time string.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.#ctor(System.DateTime)">
+            base constructor from a DateTime object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.ToDateTime">
+             return the time as a date based on whatever a 2 digit year will return. For
+             standardised processing use ToAdjustedDateTime().
+            
+             @return the resulting date
+             @exception ParseException if the date string cannot be parsed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.ToAdjustedDateTime">
+             return the time as an adjusted date
+             in the range of 1950 - 2049.
+            
+             @return a date in the range of 1950 to 2049.
+             @exception ParseException if the date string cannot be parsed.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerUtcTime.TimeString">
+            return the time - always in the form of
+             YYMMDDhhmmssGMT(+hh:mm|-hh:mm).
+            <p>
+            Normally in a certificate we would expect "Z" rather than "GMT",
+            however adding the "GMT" means we can just use:
+            <pre>
+                dateF = new SimpleDateFormat("yyMMddHHmmssz");
+            </pre>
+            To read in the time and Get a date which is compatible with our local
+            time zone.</p>
+            <p>
+            <b>Note:</b> In some cases, due to the local date processing, this
+            may lead to unexpected results. If you want to stick the normal
+            convention of 1950 to 2049 use the GetAdjustedTime() method.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerUtcTime.AdjustedTimeString">
+            <summary>
+            Return a time string as an adjusted date with a 4 digit year.
+            This goes in the range of 1950 - 2049.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUtf8String">
+            Der UTF8String object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.GetInstance(System.Object)">
+             return an UTF8 string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an UTF8 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerVisibleString">
+            Der VisibleString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.GetInstance(System.Object)">
+             return a Visible string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Visible string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CertificateValues">
+            <remarks>
+            RFC 3126: 4.3.1 Certificate Values Attribute Definition
+            <code>
+            CertificateValues ::= SEQUENCE OF Certificate
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeIndication.ToAsn1Object">
+            <pre>
+            CommitmentTypeIndication ::= SEQUENCE {
+                 commitmentTypeId   CommitmentTypeIdentifier,
+                 commitmentTypeQualifier   SEQUENCE SIZE (1..MAX) OF
+                         CommitmentTypeQualifier OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier">
+             Commitment type qualifiers, used in the Commitment-Type-Indication attribute (RFC3126).
+            
+             <pre>
+               CommitmentTypeQualifier ::= SEQUENCE {
+                   commitmentTypeIdentifier  CommitmentTypeIdentifier,
+                   qualifier          ANY DEFINED BY commitmentTypeIdentifier OPTIONAL }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param commitmentTypeIdentifier a <code>CommitmentTypeIdentifier</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param commitmentTypeIdentifier a <code>CommitmentTypeIdentifier</code> value
+             @param qualifier the qualifier, defined by the above field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param as <code>CommitmentTypeQualifier</code> structure
+             encoded as an Asn1Sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.ToAsn1Object">
+             Returns a DER-encodable representation of this instance.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CompleteCertificateRefs">
+            <remarks>
+            RFC 3126: 4.2.1 Complete Certificate Refs Attribute Definition
+            <code>
+            CompleteCertificateRefs ::= SEQUENCE OF OtherCertID
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CompleteRevocationRefs">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlIdentifier">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlIdentifier ::= SEQUENCE 
+            {
+            	crlissuer		Name,
+            	crlIssuedTime	UTCTime,
+            	crlNumber		INTEGER OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlListID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CRLListID ::= SEQUENCE 
+            {
+            	crls	SEQUENCE OF CrlValidatedID
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlOcspRef">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlOcspRef ::= SEQUENCE {
+            	crlids		[0] CRLListID		OPTIONAL,
+            	ocspids		[1] OcspListID		OPTIONAL,
+            	otherRev	[2] OtherRevRefs	OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlValidatedID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlValidatedID ::= SEQUENCE {
+            	crlHash			OtherHash,
+            	crlIdentifier	CrlIdentifier OPTIONAL}
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspIdentifier">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspIdentifier ::= SEQUENCE {
+            	ocspResponderID		ResponderID,
+            		-- As in OCSP response data
+            	producedAt			GeneralizedTime
+            		-- As in OCSP response data
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspListID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspListID ::=  SEQUENCE {
+            	ocspResponses	SEQUENCE OF OcspResponsesID
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspResponsesID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspResponsesID ::= SEQUENCE {
+            	ocspIdentifier	OcspIdentifier,
+            	ocspRepHash		OtherHash OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherCertID">
+            <remarks>
+            <code>
+            OtherCertID ::= SEQUENCE {
+            	otherCertHash	OtherHash,
+            	issuerSerial	IssuerSerial OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherHash">
+            <remarks>
+            <code>
+            OtherHash ::= CHOICE {
+            	sha1Hash	OtherHashValue, -- This contains a SHA-1 hash
+            	otherHash	OtherHashAlgAndValue
+            }
+            
+            OtherHashValue ::= OCTET STRING
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherHashAlgAndValue">
+            <summary>
+            Summary description for OtherHashAlgAndValue.
+            </summary>
+            <remarks>
+            <code>
+            OtherHashAlgAndValue ::= SEQUENCE {
+            	hashAlgorithm	AlgorithmIdentifier,
+            	hashValue		OtherHashValue
+            }
+            
+            OtherHashValue ::= OCTET STRING
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherRevRefs">
+             <remarks>
+             RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+             <code>
+             OtherRevRefs ::= SEQUENCE 
+             {
+            		otherRevRefType      OtherRevRefType,
+            		otherRevRefs         ANY DEFINED BY otherRevRefType
+             }
+            
+             OtherRevRefType ::= OBJECT IDENTIFIER
+             </code>
+             </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherRevVals">
+             <remarks>
+             RFC 3126: 4.3.2 Revocation Values Attribute Definition
+             <code>
+             OtherRevVals ::= SEQUENCE 
+             {
+            		otherRevValType      OtherRevValType,
+            		otherRevVals         ANY DEFINED BY otherRevValType
+             }
+            
+             OtherRevValType ::= OBJECT IDENTIFIER
+             </code>
+             </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherSigningCertificate">
+            <remarks>
+            <code>
+            OtherSigningCertificate ::= SEQUENCE {
+            	certs		SEQUENCE OF OtherCertID,
+            	policies	SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.RevocationValues">
+            <remarks>
+            RFC 5126: 6.3.4.  revocation-values Attribute Definition
+            <code>
+            RevocationValues ::=  SEQUENCE {
+            	crlVals			[0] SEQUENCE OF CertificateList     OPTIONAL,
+            	ocspVals		[1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
+            	otherRevVals	[2] OtherRevVals OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignaturePolicyId">
+            <remarks>
+            <code>
+            SignaturePolicyId ::= SEQUENCE {
+            	sigPolicyIdentifier		SigPolicyId,
+            	sigPolicyHash			SigPolicyHash,
+            	sigPolicyQualifiers		SEQUENCE SIZE (1..MAX) OF SigPolicyQualifierInfo OPTIONAL
+            }
+            
+            SigPolicyId ::= OBJECT IDENTIFIER
+            
+            SigPolicyHash ::= OtherHashAlgAndValue
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignaturePolicyIdentifier">
+            <remarks>
+            <code>
+            SignaturePolicyIdentifier ::= CHOICE {
+            	SignaturePolicyId		SignaturePolicyId,
+            	SignaturePolicyImplied	SignaturePolicyImplied
+            }
+            
+            SignaturePolicyImplied ::= NULL
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.SignerAttribute.ToAsn1Object">
+            
+             <pre>
+              SignerAttribute ::= SEQUENCE OF CHOICE {
+                  claimedAttributes   [0] ClaimedAttributes,
+                  certifiedAttributes [1] CertifiedAttributes }
+            
+              ClaimedAttributes ::= SEQUENCE OF Attribute
+              CertifiedAttributes ::= AttributeCertificate -- as defined in RFC 3281: see clause 4.1.
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignerLocation">
+             Signer-Location attribute (RFC3126).
+            
+             <pre>
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.SignerLocation.ToAsn1Object">
+             <pre>
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+            
+               DirectoryString ::= CHOICE {
+                     teletexString           TeletexString (SIZE (1..MAX)),
+                     printableString         PrintableString (SIZE (1..MAX)),
+                     universalString         UniversalString (SIZE (1..MAX)),
+                     utf8String              UTF8String (SIZE (1.. MAX)),
+                     bmpString               BMPString (SIZE (1..MAX)) }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SigPolicyQualifierInfo">
+            <remarks>
+            <code>
+            SigPolicyQualifierInfo ::= SEQUENCE {
+            	sigPolicyQualifierId  SigPolicyQualifierId,
+            	sigQualifier          ANY DEFINED BY sigPolicyQualifierId
+            }
+            
+            SigPolicyQualifierId ::= OBJECT IDENTIFIER
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentHints.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentHints.ToAsn1Object">
+            <pre>
+            ContentHints ::= SEQUENCE {
+              contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,
+              contentType ContentType }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+            Create from OCTET STRING whose octets represent the identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.#ctor(System.Byte[])">
+            Create from byte array representing the identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.ToAsn1Object">
+            The definition of ContentIdentifier is
+            <pre>
+            ContentIdentifier ::=  OCTET STRING
+            </pre>
+            id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 7 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertID.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertID.ToAsn1Object">
+            <pre>
+            EssCertID ::= SEQUENCE {
+                certHash Hash,
+                issuerSerial IssuerSerial OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertIDv2.ToAsn1Object">
+             <pre>
+             EssCertIDv2 ::=  SEQUENCE {
+                 hashAlgorithm     AlgorithmIdentifier
+                          DEFAULT {algorithm id-sha256},
+                 certHash          Hash,
+                 issuerSerial      IssuerSerial OPTIONAL
+             }
+            
+             Hash ::= OCTET STRING
+            
+             IssuerSerial ::= SEQUENCE {
+                 issuer         GeneralNames,
+                 serialNumber   CertificateSerialNumber
+             }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherCertID.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherCertID.ToAsn1Object">
+             <pre>
+             OtherCertID ::= SEQUENCE {
+                 otherCertHash    OtherHash,
+                 issuerSerial     IssuerSerial OPTIONAL }
+            
+             OtherHash ::= CHOICE {
+                 sha1Hash     OCTET STRING,
+                 otherHash    OtherHashAlgAndValue }
+            
+             OtherHashAlgAndValue ::= SEQUENCE {
+                 hashAlgorithm    AlgorithmIdentifier,
+                 hashValue        OCTET STRING }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherSigningCertificate.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructors
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherSigningCertificate.ToAsn1Object">
+            The definition of OtherSigningCertificate is
+            <pre>
+            OtherSigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF OtherCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 19 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificate.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructors
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificate.ToAsn1Object">
+            The definition of SigningCertificate is
+            <pre>
+            SigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 12 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificateV2.ToAsn1Object">
+            The definition of SigningCertificateV2 is
+            <pre>
+            SigningCertificateV2 ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertIDv2,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1)
+               member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+               smime(16) id-aa(2) 47 }
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.CscaMasterList">
+             The CscaMasterList object. This object can be wrapped in a
+             CMSSignedData to be published in LDAP.
+            
+             <pre>
+             CscaMasterList ::= SEQUENCE {
+               version                CscaMasterListVersion,
+               certList               SET OF Certificate }
+               
+             CscaMasterListVersion :: INTEGER {v0(0)}
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.DataGroupHash">
+             The DataGroupHash object.
+             <pre>
+             DataGroupHash  ::=  SEQUENCE {
+                  dataGroupNumber         DataGroupNumber,
+                  dataGroupHashValue     OCTET STRING }
+            
+             DataGroupNumber ::= INTEGER {
+                     dataGroup1    (1),
+                     dataGroup1    (2),
+                     dataGroup1    (3),
+                     dataGroup1    (4),
+                     dataGroup1    (5),
+                     dataGroup1    (6),
+                     dataGroup1    (7),
+                     dataGroup1    (8),
+                     dataGroup1    (9),
+                     dataGroup1    (10),
+                     dataGroup1    (11),
+                     dataGroup1    (12),
+                     dataGroup1    (13),
+                     dataGroup1    (14),
+                     dataGroup1    (15),
+                     dataGroup1    (16) }
+            
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.LdsSecurityObject">
+             The LDSSecurityObject object (V1.8).
+             <pre>
+             LDSSecurityObject ::= SEQUENCE {
+               version                LDSSecurityObjectVersion,
+               hashAlgorithm          DigestAlgorithmIdentifier,
+               dataGroupHashValues    SEQUENCE SIZE (2..ub-DataGroups) OF DataHashGroup,
+               ldsVersionInfo         LDSVersionInfo OPTIONAL
+                 -- if present, version MUST be v1 }
+            
+             DigestAlgorithmIdentifier ::= AlgorithmIdentifier,
+            
+             LDSSecurityObjectVersion :: INTEGER {V0(0)}
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Icao.LdsVersionInfo.ToAsn1Object">
+            <pre>
+            LDSVersionInfo ::= SEQUENCE {
+               ldsVersion PRINTABLE STRING
+               unicodeVersion PRINTABLE STRING
+             }
+            </pre>
+            @return
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttCPAccredited">
+            The id-isismtt-cp-accredited OID indicates that the certificate is a
+            qualified certificate according to Directive 1999/93/EC of the European
+            Parliament and of the Council of 13 December 1999 on a Community
+            Framework for Electronic Signatures, which additionally conforms the
+            special requirements of the SigG and has been issued by an accredited CA.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATDateOfCertGen">
+             Certificate extensionDate of certificate generation
+             
+             <pre>
+            		DateOfCertGenSyntax ::= GeneralizedTime
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATProcuration">
+            Attribute to indicate that the certificate holder may sign in the name of
+            a third person. May also be used as extension in a certificate.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATAdmission">
+            Attribute to indicate admissions to certain professions. May be used as
+            attribute in attribute certificate or as extension in a certificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATMonetaryLimit">
+            Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST
+            be used in new certificates in place of the extension/attribute
+            MonetaryLimit since January 1, 2004. For the sake of backward
+            compatibility with certificates already in use, SigG conforming
+            components MUST support MonetaryLimit (as well as QcEuLimitValue).
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATDeclarationOfMajority">
+            A declaration of majority. May be used as attribute in attribute
+            certificate or as extension in a certificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATIccsn">
+             
+             Serial number of the smart card containing the corresponding private key
+             
+             <pre>
+            		ICCSNSyntax ::= OCTET STRING (SIZE(8..20))
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATPKReference">
+             
+             Reference for a file of a smartcard that stores the public key of this
+             certificate and that is used as �security anchor�.
+             
+             <pre>
+            		PKReferenceSyntax ::= OCTET STRING (SIZE(20))
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRestriction">
+             Some other restriction regarding the usage of this certificate. May be
+             used as attribute in attribute certificate or as extension in a
+             certificate.
+             
+             <pre>
+            		RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             </pre>
+             
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRetrieveIfAllowed">
+             
+             (Single)Request extension: Clients may include this extension in a
+             (single) Request to request the responder to send the certificate in the
+             response message along with the status information. Besides the LDAP
+             service, this extension provides another mechanism for the distribution
+             of certificates, which MAY optionally be provided by certificate
+             repositories.
+             
+             <pre>
+            		RetrieveIfAllowed ::= BOOLEAN
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRequestedCertificate">
+            SingleOCSPResponse extension: The certificate requested by the client by
+            inserting the RetrieveIfAllowed extension in the request, will be
+            returned in this extension.
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATNamingAuthorities">
+            Base ObjectIdentifier for naming authorities
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATCertInDirSince">
+             SingleOCSPResponse extension: Date, when certificate has been published
+             in the directory and status information has become available. Currently,
+             accrediting authorities enforce that SigG-conforming OCSP servers include
+             this extension in the responses.
+             
+             <pre>
+            		CertInDirSince ::= GeneralizedTime
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATCertHash">
+             Hash of a certificate in OCSP.
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATNameAtBirth">
+             <pre>
+            		NameAtBirth ::= DirectoryString(SIZE(1..64)
+             </pre>
+             
+             Used in
+             {@link Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes SubjectDirectoryAttributes}
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATAdditionalInformation">
+            Some other information of non-restrictive nature regarding the usage of
+            this certificate. May be used as attribute in atribute certificate or as
+            extension in a certificate.
+            
+            <pre>
+                          AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            </pre>
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATLiabilityLimitationFlag">
+             Indicates that an attribute certificate exists, which limits the
+             usability of this public key certificate. Whenever verifying a signature
+             with the help of this certificate, the content of the corresponding
+             attribute certificate should be concerned. This extension MUST be
+             included in a PKC, if a corresponding attribute certificate (having the
+             PKC as base certificate) contains some attribute that restricts the
+             usability of the PKC too. Attribute certificates with restricting content
+             MUST always be included in the signed document.
+             
+             <pre>
+            		LiabilityLimitationFlagSyntax ::= BOOLEAN
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash">
+            ISIS-MTT PROFILE: The responder may include this extension in a response to
+            send the hash of the requested certificate to the responder. This hash is
+            cryptographically bound to the certificate and serves as evidence that the
+            certificate is known to the responder (i.e. it has been issued and is present
+            in the directory). Hence, this extension is a means to provide a positive
+            statement of availability as described in T8.[8]. As explained in T13.[1],
+            clients may rely on this information to be able to validate signatures after
+            the expiry of the corresponding certificate. Hence, clients MUST support this
+            extension. If a positive statement of availability is to be delivered, this
+            extension syntax and OID MUST be used.
+            <p/>
+            <p/>
+            <pre>
+                CertHash ::= SEQUENCE {
+                  hashAlgorithm AlgorithmIdentifier,
+                  certificateHash OCTET STRING
+                }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type CertHash:
+             <p/>
+             <pre>
+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.#ctor(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,System.Byte[])">
+             Constructor from a given details.
+            
+             @param hashAlgorithm   The hash algorithm identifier.
+             @param certificateHash The hash of the whole DER encoding of the certificate.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate">
+            ISIS-MTT-Optional: The certificate requested by the client by inserting the
+            RetrieveIfAllowed extension in the request, will be returned in this
+            extension.
+            <p/>
+            ISIS-MTT-SigG: The signature act allows publishing certificates only then,
+            when the certificate owner gives his isExplicit permission. Accordingly, there
+            may be �nondownloadable� certificates, about which the responder must provide
+            status information, but MUST NOT include them in the response. Clients may
+            get therefore the following three kind of answers on a single request
+            including the RetrieveIfAllowed extension:
+            <ul>
+            <li> a) the responder supports the extension and is allowed to publish the
+            certificate: RequestedCertificate returned including the requested
+            certificate</li>
+            <li>b) the responder supports the extension but is NOT allowed to publish
+            the certificate: RequestedCertificate returned including an empty OCTET
+            STRING</li>
+            <li>c) the responder does not support the extension: RequestedCertificate is
+            not included in the response</li>
+            </ul>
+            Clients requesting RetrieveIfAllowed MUST be able to handle these cases. If
+            any of the OCTET STRING options is used, it MUST contain the DER encoding of
+            the requested certificate.
+            <p/>
+            <pre>
+                       RequestedCertificate ::= CHOICE {
+                         Certificate Certificate,
+                         publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                         attributeCertificate [1] EXPLICIT OCTET STRING
+                       }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure)">
+             Constructor from a given details.
+             <p/>
+             Only one parameter can be given. All other must be <code>null</code>.
+            
+             @param certificate Given as Certificate
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                        RequestedCertificate ::= CHOICE {
+                          Certificate Certificate,
+                          publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                          attributeCertificate [1] EXPLICIT OCTET STRING
+                        }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax">
+            Some other information of non-restrictive nature regarding the usage of this
+            certificate.
+            
+            <pre>
+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param information The describtion of the information.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions">
+             An Admissions structure.
+             <p/>
+             <pre>
+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             <p/>
+             </pre>
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority,Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo[])">
+             Constructor from a given details.
+             <p/>
+             Parameter <code>professionInfos</code> is mandatory.
+            
+             @param admissionAuthority The admission authority.
+             @param namingAuthority    The naming authority.
+             @param professionInfos    The profession infos.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   Admissions ::= SEQUENCE
+                   {
+                     admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                     namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                     professionInfos SEQUENCE OF ProfessionInfo
+                   }
+             <p/>
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax">
+             Attribute to indicate admissions to certain professions.
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+             <p/>
+             <p/>
+             ISIS-MTT PROFILE: The relatively complex structure of AdmissionSyntax
+             supports the following concepts and requirements:
+             <ul>
+             <li> External institutions (e.g. professional associations, chambers, unions,
+             administrative bodies, companies, etc.), which are responsible for granting
+             and verifying professional admissions, are indicated by means of the data
+             field admissionAuthority. An admission authority is indicated by a
+             GeneralName object. Here an X.501 directory name (distinguished name) can be
+             indicated in the field directoryName, a URL address can be indicated in the
+             field uniformResourceIdentifier, and an object identifier can be indicated in
+             the field registeredId.</li>
+             <li> The names of authorities which are responsible for the administration of
+             title registers are indicated in the data field namingAuthority. The name of
+             the authority can be identified by an object identifier in the field
+             namingAuthorityId, by means of a text string in the field
+             namingAuthorityText, by means of a URL address in the field
+             namingAuthorityUrl, or by a combination of them. For example, the text string
+             can contain the name of the authority, the country and the name of the title
+             register. The URL-option refers to a web page which contains lists with
+             �officially� registered professions (text and possibly OID) as well as
+             further information on these professions. Object identifiers for the
+             component namingAuthorityId are grouped under the OID-branch
+             id-isis-at-namingAuthorities and must be applied for.</li>
+             <li>See http://www.teletrust.de/anwend.asp?Id=30200&amp;Sprache=E_&amp;HomePG=0
+             for an application form and http://www.teletrust.de/links.asp?id=30220,11
+             for an overview of registered naming authorities.</li>
+             <li> By means of the data type ProfessionInfo certain professions,
+             specializations, disciplines, fields of activity, etc. are identified. A
+             profession is represented by one or more text strings, resp. profession OIDs
+             in the fields professionItems and professionOIDs and by a registration number
+             in the field registrationNumber. An indication in text form must always be
+             present, whereas the other indications are optional. The component
+             addProfessionInfo may contain additional applicationspecific information in
+             DER-encoded form.</li>
+             </ul>
+             <p/>
+             By means of different namingAuthority-OIDs or profession OIDs hierarchies of
+             professions, specializations, disciplines, fields of activity, etc. can be
+             expressed. The issuing admission authority should always be indicated (field
+             admissionAuthority), whenever a registration number is presented. Still,
+             information on admissions can be given without indicating an admission or a
+             naming authority by the exclusive use of the component professionItems. In
+             this case the certification authority is responsible for the verification of
+             the admission information.
+             <p/>
+             <p/>
+             <p/>
+             This attribute is single-valued. Still, several admissions can be captured in
+             the sequence structure of the component contentsOfAdmissions of
+             AdmissionSyntax or in the component professionInfos of Admissions. The
+             component admissionAuthority of AdmissionSyntax serves as default value for
+             the component admissionAuthority of Admissions. Within the latter component
+             the default value can be overwritten, in case that another authority is
+             responsible. The component namingAuthority of Admissions serves as a default
+             value for the component namingAuthority of ProfessionInfo. Within the latter
+             component the default value can be overwritten, in case that another naming
+             authority needs to be recorded.
+             <p/>
+             The length of the string objects is limited to 128 characters. It is
+             recommended to indicate a namingAuthorityURL in all issued attribute
+             certificates. If a namingAuthorityURL is indicated, the field professionItems
+             of ProfessionInfo should contain only registered titles. If the field
+             professionOIDs exists, it has to contain the OIDs of the professions listed
+             in professionItems in the same order. In general, the field professionInfos
+             should contain only one entry, unless the admissions that are to be listed
+             are logically connected (e.g. they have been issued under the same admission
+             number).
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from given details.
+            
+             @param admissionAuthority   The admission authority.
+             @param contentsOfAdmissions The admissions.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.GetContentsOfAdmissions">
+            @return Returns the contentsOfAdmissions.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.AdmissionAuthority">
+            @return Returns the admissionAuthority if present, null otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority">
+            A declaration of majority.
+            <p/>
+            <pre>
+                      DeclarationOfMajoritySyntax ::= CHOICE
+                      {
+                        notYoungerThan [0] IMPLICIT INTEGER,
+                        fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                        {
+                          fullAge BOOLEAN DEFAULT TRUE,
+                          country PrintableString (SIZE(2))
+                        }
+                        dateOfBirth [2] IMPLICIT GeneralizedTime
+                      }
+            </pre>
+            <p/>
+            fullAgeAtCountry indicates the majority of the owner with respect to the laws
+            of a specific country.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                       DeclarationOfMajoritySyntax ::= CHOICE
+                       {
+                         notYoungerThan [0] IMPLICIT INTEGER,
+                         fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                         {
+                           fullAge BOOLEAN DEFAULT TRUE,
+                           country PrintableString (SIZE(2))
+                         }
+                         dateOfBirth [2] IMPLICIT GeneralizedTime
+                       }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority.NotYoungerThan">
+            @return notYoungerThan if that's what we are, -1 otherwise
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit">
+            Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST be
+            used in new certificates in place of the extension/attribute MonetaryLimit
+            since January 1, 2004. For the sake of backward compatibility with
+            certificates already in use, components SHOULD support MonetaryLimit (as well
+            as QcEuLimitValue).
+            <p/>
+            Indicates a monetary limit within which the certificate holder is authorized
+            to act. (This value DOES NOT express a limit on the liability of the
+            certification authority).
+            <p/>
+            <pre>
+               MonetaryLimitSyntax ::= SEQUENCE
+               {
+                 currency PrintableString (SIZE(3)),
+                 amount INTEGER,
+                 exponent INTEGER
+               }
+            </pre>
+            <p/>
+            currency must be the ISO code.
+            <p/>
+            value = amount�10*exponent
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit.#ctor(System.String,System.Int32,System.Int32)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             value = amount�10^exponent
+            
+             @param currency The currency. Must be the ISO code.
+             @param amount   The amount
+             @param exponent The exponent
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                MonetaryLimitSyntax ::= SEQUENCE
+                {
+                  currency PrintableString (SIZE(3)),
+                  amount INTEGER,
+                  exponent INTEGER
+                }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority">
+            Names of authorities which are responsible for the administration of title
+            registers.
+            
+            <pre>
+                        NamingAuthority ::= SEQUENCE 
+                        {
+                          namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                          namingAuthorityUrl IA5String OPTIONAL,
+                          namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                        }
+            </pre>
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern">
+            Profession OIDs should always be defined under the OID branch of the
+            responsible naming authority. At the time of this writing, the work group
+            �Recht, Wirtschaft, Steuern� (�Law, Economy, Taxes�) is registered as the
+            first naming authority under the OID id-isismtt-at-namingAuthorities.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             <p/>
+             <pre>
+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String,Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from given details.
+             <p/>
+             All parameters can be combined.
+            
+             @param namingAuthorityID   ObjectIdentifier for naming authority.
+             @param namingAuthorityUrl  URL for naming authority.
+             @param namingAuthorityText Textual representation of naming authority.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityID">
+            @return Returns the namingAuthorityID.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityText">
+            @return Returns the namingAuthorityText.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityUrl">
+            @return Returns the namingAuthorityUrl.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax">
+            Attribute to indicate that the certificate holder may sign in the name of a
+            third person.
+            <p>
+            ISIS-MTT PROFILE: The corresponding ProcurationSyntax contains either the
+            name of the person who is represented (subcomponent thirdPerson) or a
+            reference to his/her base certificate (in the component signingFor,
+            subcomponent certRef), furthermore the optional components country and
+            typeSubstitution to indicate the country whose laws apply, and respectively
+            the type of procuration (e.g. manager, procuration, custody).
+            </p>
+            <p>
+            ISIS-MTT PROFILE: The GeneralName MUST be of type directoryName and MAY only
+            contain: - RFC3039 attributes, except pseudonym (countryName, commonName,
+            surname, givenName, serialNumber, organizationName, organizationalUnitName,
+            stateOrProvincename, localityName, postalAddress) and - SubjectDirectoryName
+            attributes (title, dateOfBirth, placeOfBirth, gender, countryOfCitizenship,
+            countryOfResidence and NameAtBirth).
+            </p>
+            <pre>
+                          ProcurationSyntax ::= SEQUENCE {
+                            country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                            typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                            signingFor [3] EXPLICIT SigningFor 
+                          }
+                          
+                          SigningFor ::= CHOICE 
+                          { 
+                            thirdPerson GeneralName,
+                            certRef IssuerSerial 
+                          }
+            </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             <p/>
+                           SigningFor ::= CHOICE
+                           {
+                             thirdPerson GeneralName,
+                             certRef IssuerSerial
+                           }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(System.String,Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.X509.IssuerSerial)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             Either <code>generalName</code> or <code>certRef</code> MUST be
+             <code>null</code>.
+            
+             @param country            The country code whose laws apply.
+             @param typeOfSubstitution The type of procuration.
+             @param certRef            Reference to certificate of the person who is represented.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(System.String,Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             Either <code>generalName</code> or <code>certRef</code> MUST be
+             <code>null</code>.
+            
+             @param country            The country code whose laws apply.
+             @param typeOfSubstitution The type of procuration.
+             @param thirdPerson        The GeneralName of the person who is represented.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             <p/>
+                           SigningFor ::= CHOICE
+                           {
+                             thirdPerson GeneralName,
+                             certRef IssuerSerial
+                           }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo">
+            Professions, specializations, disciplines, fields of activity, etc.
+            
+            <pre>
+                          ProfessionInfo ::= SEQUENCE 
+                          {
+                            namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                            professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                            professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                            registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                            addProfessionInfo OCTET STRING OPTIONAL 
+                          }
+            </pre>
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsanwltin">
+            Rechtsanw�ltin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsanwalt">
+            Rechtsanwalt
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsbeistand">
+            Rechtsbeistand
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerberaterin">
+            Steuerberaterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerberater">
+            Steuerberater
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerbevollmchtigte">
+            Steuerbevollm�chtigte
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerbevollmchtigter">
+            Steuerbevollm�chtigter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarin">
+            Notarin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notar">
+            Notar
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarvertreterin">
+            Notarvertreterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarvertreter">
+            Notarvertreter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notariatsverwalterin">
+            Notariatsverwalterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notariatsverwalter">
+            Notariatsverwalter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Wirtschaftsprferin">
+            Wirtschaftspr�ferin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Wirtschaftsprfer">
+            Wirtschaftspr�fer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.VereidigteBuchprferin">
+            Vereidigte Buchpr�ferin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.VereidigterBuchprfer">
+            Vereidigter Buchpr�fer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Patentanwltin">
+            Patentanw�ltin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Patentanwalt">
+            Patentanwalt
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             <p/>
+             <pre>
+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.#ctor(Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority,Org.BouncyCastle.Asn1.X500.DirectoryString[],Org.BouncyCastle.Asn1.DerObjectIdentifier[],System.String,Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor from given details.
+             <p/>
+             <code>professionItems</code> is mandatory, all other parameters are
+             optional.
+            
+             @param namingAuthority    The naming authority.
+             @param professionItems    Directory strings of the profession.
+             @param professionOids     DERObjectIdentfier objects for the
+                                       profession.
+             @param registrationNumber Registration number.
+             @param addProfessionInfo  Additional infos in encoded form.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.GetProfessionItems">
+            @return Returns the professionItems.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.GetProfessionOids">
+            @return Returns the professionOids.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.AddProfessionInfo">
+            @return Returns the addProfessionInfo.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.NamingAuthority">
+            @return Returns the namingAuthority.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.RegistrationNumber">
+            @return Returns the registrationNumber.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction">
+            Some other restriction regarding the usage of this certificate.
+            <p/>
+            <pre>
+             RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from DirectoryString.
+             <p/>
+             The DirectoryString is of type RestrictionSyntax:
+             <p/>
+             <pre>
+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             </pre>
+            
+             @param restriction A IAsn1String.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param restriction The description of the restriction.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             <p/>
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.Cast5CbcParameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            cast5CBCParameters ::= Sequence {
+                                      iv         OCTET STRING DEFAULT 0,
+                                             -- Initialization vector
+                                      keyLength  Integer
+                                             -- Key length, in bits
+                                 }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.IdeaCbcPar.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            IDEA-CBCPar ::= Sequence {
+                                 iv    OCTET STRING OPTIONAL -- exactly 8 octets
+                             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Misc.NetscapeCertType">
+            The NetscapeCertType object.
+            <pre>
+               NetscapeCertType ::= BIT STRING {
+                    SSLClient               (0),
+                    SSLServer               (1),
+                    S/MIME                  (2),
+                    Object Signing          (3),
+                    Reserved                (4),
+                    SSL CA                  (5),
+                    S/MIME CA               (6),
+                    Object Signing CA       (7) }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.NetscapeCertType.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (X509NetscapeCertType.sslCA | X509NetscapeCertType.smimeCA)
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Mozilla.PublicKeyAndChallenge">
+             This is designed to parse
+             the PublicKeyAndChallenge created by the KEYGEN tag included by
+             Mozilla based browsers.
+              <pre>
+              PublicKeyAndChallenge ::= SEQUENCE {
+                spki SubjectPublicKeyInfo,
+                challenge IA5STRING
+              }
+            
+              </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Nist.NistNamedCurves">
+            Utility class for fetching curves using their NIST names as published in FIPS-PUB 186-2
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Ntt.NttObjectIdentifiers">
+            <summary>From RFC 3657</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.BasicOcspResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            BasicOcspResponse       ::= Sequence {
+                 tbsResponseData      ResponseData,
+                 signatureAlgorithm   AlgorithmIdentifier,
+                 signature            BIT STRING,
+                 certs                [0] EXPLICIT Sequence OF Certificate OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CertID          ::=     Sequence {
+                hashAlgorithm       AlgorithmIdentifier,
+                issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
+                issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
+                serialNumber        CertificateSerialNumber }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertStatus.#ctor">
+            create a CertStatus object with a tag of zero.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertStatus.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             CertStatus ::= CHOICE {
+                             good        [0]     IMPLICIT Null,
+                             revoked     [1]     IMPLICIT RevokedInfo,
+                             unknown     [2]     IMPLICIT UnknownInfo }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CrlID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CrlID ::= Sequence {
+                crlUrl               [0]     EXPLICIT IA5String OPTIONAL,
+                crlNum               [1]     EXPLICIT Integer OPTIONAL,
+                crlTime              [2]     EXPLICIT GeneralizedTime OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspRequest.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OcspRequest     ::=     Sequence {
+                tbsRequest                  TBSRequest,
+                optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OcspResponse ::= Sequence {
+                responseStatus         OcspResponseStatus,
+                responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspResponseStatus.#ctor(System.Int32)">
+            The OcspResponseStatus enumeration.
+            <pre>
+            OcspResponseStatus ::= Enumerated {
+                successful            (0),  --Response has valid confirmations
+                malformedRequest      (1),  --Illegal confirmation request
+                internalError         (2),  --Internal error in issuer
+                tryLater              (3),  --Try again later
+                                            --(4) is not used
+                sigRequired           (5),  --Must sign the request
+                unauthorized          (6)   --Request unauthorized
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.Request.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Request         ::=     Sequence {
+                reqCert                     CertID,
+                singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponderID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponderID ::= CHOICE {
+                 byName          [1] Name,
+                 byKey           [2] KeyHash }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponseBytes.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponseBytes ::=       Sequence {
+                responseType   OBJECT IDENTIFIER,
+                response       OCTET STRING }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponseData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponseData ::= Sequence {
+                version              [0] EXPLICIT Version DEFAULT v1,
+                responderID              ResponderID,
+                producedAt               GeneralizedTime,
+                responses                Sequence OF SingleResponse,
+                responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.RevokedInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RevokedInfo ::= Sequence {
+                 revocationTime              GeneralizedTime,
+                 revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ServiceLocator.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ServiceLocator ::= Sequence {
+                issuer    Name,
+                locator   AuthorityInfoAccessSyntax OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.Signature.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Signature       ::=     Sequence {
+                signatureAlgorithm      AlgorithmIdentifier,
+                signature               BIT STRING,
+                certs               [0] EXPLICIT Sequence OF Certificate OPTIONAL}
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.SingleResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             SingleResponse ::= Sequence {
+                     certID                       CertID,
+                     certStatus                   CertStatus,
+                     thisUpdate                   GeneralizedTime,
+                     nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
+                     singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.TbsRequest.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            TBSRequest      ::=     Sequence {
+                version             [0]     EXPLICIT Version DEFAULT v1,
+                requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
+                requestList                 Sequence OF Request,
+                requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.OidTokenizer">
+            class for breaking up an Oid into it's component tokens, ala
+            java.util.StringTokenizer. We need this class as some of the
+            lightweight Java environment don't support classes like
+            StringTokenizer.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.AttributePkcs.GetInstance(System.Object)">
+             return an Attribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.AttributePkcs.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.CertificationRequest">
+            Pkcs10 Certfication request object.
+            <pre>
+            CertificationRequest ::= Sequence {
+              certificationRequestInfo  CertificationRequestInfo,
+              signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+              signature                 BIT STRING
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.CertificationRequestInfo">
+             Pkcs10 CertificationRequestInfo object.
+             <pre>
+              CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.ContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.EncryptedData">
+             The EncryptedData object.
+             <pre>
+                  EncryptedData ::= Sequence {
+                       version Version,
+                       encryptedContentInfo EncryptedContentInfo
+                  }
+            
+            
+                  EncryptedContentInfo ::= Sequence {
+                      contentType ContentType,
+                      contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
+                      encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+                }
+            
+                EncryptedContent ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.EncryptedPrivateKeyInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             EncryptedPrivateKeyInfo ::= Sequence {
+                  encryptionAlgorithm AlgorithmIdentifier {{KeyEncryptionAlgorithms}},
+                  encryptedData EncryptedData
+             }
+            
+             EncryptedData ::= OCTET STRING
+            
+             KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
+                      ... -- For local profiles
+             }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+                 AlgorithmIdentifier ::= Sequence {
+                                       algorithm OBJECT IDENTIFIER,
+                                       parameters ANY DEFINED BY algorithm OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.MacData.ToAsn1Object">
+            <pre>
+            MacData ::= SEQUENCE {
+                mac      DigestInfo,
+                macSalt  OCTET STRING,
+                iterations INTEGER DEFAULT 1
+                -- Note: The default is for historic reasons and its use is deprecated. A
+                -- higher value, like 1024 is recommended.
+            </pre>
+            @return the basic DERObject construction.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.Pfx">
+            the infamous Pfx from Pkcs12
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.PrivateKeyInfo.ToAsn1Object">
+             write out an RSA private key with its associated information
+             as described in Pkcs8.
+             <pre>
+                  PrivateKeyInfo ::= Sequence {
+                                          version Version,
+                                          privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
+                                          privateKey PrivateKey,
+                                          attributes [0] IMPLICIT Attributes OPTIONAL
+                                      }
+                  Version ::= Integer {v1(0)} (v1,...)
+            
+                  PrivateKey ::= OCTET STRING
+            
+                  Attributes ::= Set OF Attr
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaesOaepParameters.#ctor">
+            The default version
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaesOaepParameters.ToAsn1Object">
+             <pre>
+              RSAES-OAEP-params ::= SEQUENCE {
+                 hashAlgorithm      [0] OAEP-PSSDigestAlgorithms     DEFAULT sha1,
+                 maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                 pSourceAlgorithm   [2] PKCS1PSourceAlgorithms  DEFAULT pSpecifiedEmpty
+               }
+            
+               OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-sha1 PARAMETERS NULL   }|
+                 { OID id-sha256 PARAMETERS NULL }|
+                 { OID id-sha384 PARAMETERS NULL }|
+                 { OID id-sha512 PARAMETERS NULL },
+                 ...  -- Allows for future expansion --
+               }
+               PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+               }
+               PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-pSpecified PARAMETERS OCTET STRING },
+                 ...  -- Allows for future expansion --
+              }
+             </pre>
+             @return the asn1 primitive representing the parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaPrivateKeyStructure.ToAsn1Object">
+             This outputs the key in Pkcs1v2 format.
+             <pre>
+                  RsaPrivateKey ::= Sequence {
+                                      version Version,
+                                      modulus Integer, -- n
+                                      publicExponent Integer, -- e
+                                      privateExponent Integer, -- d
+                                      prime1 Integer, -- p
+                                      prime2 Integer, -- q
+                                      exponent1 Integer, -- d mod (p-1)
+                                      exponent2 Integer, -- d mod (q-1)
+                                      coefficient Integer -- (inverse of q) mod p
+                                  }
+            
+                  Version ::= Integer
+             </pre>
+             <p>This routine is written to output Pkcs1 version 0, private keys.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsassaPssParameters.#ctor">
+            The default version
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsassaPssParameters.ToAsn1Object">
+             <pre>
+             RSASSA-PSS-params ::= SEQUENCE {
+               hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
+                maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                saltLength         [2] INTEGER  DEFAULT 20,
+                trailerField       [3] TrailerField  DEFAULT trailerFieldBC
+              }
+            
+             OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                { OID id-sha1 PARAMETERS NULL   }|
+                { OID id-sha256 PARAMETERS NULL }|
+                { OID id-sha384 PARAMETERS NULL }|
+                { OID id-sha512 PARAMETERS NULL },
+                ...  -- Allows for future expansion --
+             }
+            
+             PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+               { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+             }
+            
+             TrailerField ::= INTEGER { trailerFieldBC(1) }
+             </pre>
+             @return the asn1 primitive representing the parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.SignedData">
+            a Pkcs#7 signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.SignedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             SignedData ::= Sequence {
+                 version Version,
+                 digestAlgorithms DigestAlgorithmIdentifiers,
+                 contentInfo ContentInfo,
+                 certificates
+                     [0] IMPLICIT ExtendedCertificatesAndCertificates
+                              OPTIONAL,
+                 crls
+                     [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                 signerInfos SignerInfos }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.SignerInfo">
+            a Pkcs#7 signer info object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.SignerInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              SignerInfo ::= Sequence {
+                  version Version,
+                  issuerAndSerialNumber IssuerAndSerialNumber,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Sec.ECPrivateKeyStructure">
+            the elliptic curve private key object from SEC 1
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.ECPrivateKeyStructure.ToAsn1Object">
+            ECPrivateKey ::= SEQUENCE {
+                version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
+                privateKey OCTET STRING,
+                parameters [0] Parameters OPTIONAL,
+                publicKey [1] BIT STRING OPTIONAL }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Sec.SecObjectIdentifiers.EllipticCurve">
+            EllipticCurve OBJECT IDENTIFIER ::= {
+                  iso(1) identified-organization(3) certicom(132) curve(0)
+            }
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities">
+            Handler class for dealing with S/MIME Capabilities
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.PreferSignedData">
+            general preferences
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.DesCbc">
+            encryption algorithms preferences
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.GetInstance(System.Object)">
+             return an Attr object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.GetCapabilitiesForOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            returns an ArrayList with 0 or more objects of all the capabilities
+            matching the passed in capability Oid. If the Oid passed is null the
+            entire set is returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SMIMECapabilities ::= Sequence OF SMIMECapability
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeX509.GetInstance(System.Object)">
+             return an Attr object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeX509.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapability.PreferSignedData">
+            general preferences
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapability.DesCbc">
+            encryption algorithms preferences
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapability.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SMIMECapability ::= Sequence {
+                capabilityID OBJECT IDENTIFIER,
+                parameters ANY DEFINED BY capabilityID OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeCapabilityVector">
+            Handler for creating a vector S/MIME Capabilities
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeEncryptionKeyPreferenceAttribute">
+            The SmimeEncryptionKeyPreference object.
+            <pre>
+            SmimeEncryptionKeyPreference ::= CHOICE {
+                issuerAndSerialNumber   [0] IssuerAndSerialNumber,
+                receipentKeyId          [1] RecipientKeyIdentifier,
+                subjectAltKeyIdentifier [2] SubjectKeyIdentifier
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeEncryptionKeyPreferenceAttribute.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+            @param sKeyId the subjectKeyIdentifier value (normally the X.509 one)
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves">
+            elliptic curves defined in "ECC Brainpool Standard Curves and Curve Generation"
+            http://www.ecc-brainpool.org/download/draft_pkix_additional_ecc_dp.txt
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.Accuracy.ToAsn1Object">
+            <pre>
+            Accuracy ::= SEQUENCE {
+                        seconds        INTEGER              OPTIONAL,
+                        millis     [0] INTEGER  (1..999)    OPTIONAL,
+                        micros     [1] INTEGER  (1..999)    OPTIONAL
+                        }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.MessageImprint.GetInstance(System.Object)">
+            @param o
+            @return a MessageImprint object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.MessageImprint.ToAsn1Object">
+            <pre>
+               MessageImprint ::= SEQUENCE  {
+                  hashAlgorithm                AlgorithmIdentifier,
+                  hashedMessage                OCTET STRING  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TimeStampReq.ToAsn1Object">
+            <pre>
+            TimeStampReq ::= SEQUENCE  {
+             version                      INTEGER  { v1(1) },
+             messageImprint               MessageImprint,
+               --a hash algorithm OID and the hash value of the data to be
+               --time-stamped
+             reqPolicy             TSAPolicyId              OPTIONAL,
+             nonce                 INTEGER                  OPTIONAL,
+             certReq               BOOLEAN                  DEFAULT FALSE,
+             extensions            [0] IMPLICIT Extensions  OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TimeStampResp.ToAsn1Object">
+            <pre>
+            TimeStampResp ::= SEQUENCE  {
+              status                  PkiStatusInfo,
+              timeStampToken          TimeStampToken     OPTIONAL  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TstInfo.ToAsn1Object">
+             <pre>
+            
+                 TstInfo ::= SEQUENCE  {
+                    version                      INTEGER  { v1(1) },
+                    policy                       TSAPolicyId,
+                    messageImprint               MessageImprint,
+                      -- MUST have the same value as the similar field in
+                      -- TimeStampReq
+                    serialNumber                 INTEGER,
+                     -- Time-Stamping users MUST be ready to accommodate integers
+                     -- up to 160 bits.
+                    genTime                      GeneralizedTime,
+                    accuracy                     Accuracy                 OPTIONAL,
+                    ordering                     BOOLEAN             DEFAULT FALSE,
+                    nonce                        INTEGER                  OPTIONAL,
+                      -- MUST be present if the similar field was present
+                      -- in TimeStampReq.  In that case it MUST have the same value.
+                    tsa                          [0] GeneralName          OPTIONAL,
+                    extensions                   [1] IMPLICIT Extensions   OPTIONAL  }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.AsString(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Object,System.Text.StringBuilder)">
+             dump a Der object as a formatted string with indentation
+            
+             @param obj the Asn1Object to be dumped out.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.DumpAsString(Org.BouncyCastle.Asn1.Asn1Encodable)">
+             dump out a DER object as a formatted string, in non-verbose mode
+            
+             @param obj the Asn1Encodable to be dumped out.
+             @return  the resulting string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.DumpAsString(Org.BouncyCastle.Asn1.Asn1Encodable,System.Boolean)">
+             Dump out the object as a string
+            
+             @param obj the Asn1Encodable to be dumped out.
+             @param verbose  if true, dump out the contents of octet and bit strings.
+             @return  the resulting string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X500.DirectoryString.ToAsn1Object">
+            <pre>
+             DirectoryString ::= CHOICE {
+               teletexString               TeletexString (SIZE (1..MAX)),
+               printableString             PrintableString (SIZE (1..MAX)),
+               universalString             UniversalString (SIZE (1..MAX)),
+               utf8String                  UTF8String (SIZE (1..MAX)),
+               bmpString                   BMPString (SIZE (1..MAX))  }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AccessDescription">
+            The AccessDescription object.
+            <pre>
+            AccessDescription  ::=  SEQUENCE {
+                  accessMethod          OBJECT IDENTIFIER,
+                  accessLocation        GeneralName  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AccessDescription.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            create an AccessDescription with the oid and location provided.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.AccessDescription.AccessMethod">
+            
+             @return the access method.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.AccessDescription.AccessLocation">
+            
+             @return the access location
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertIssuer.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames)">
+            <summary>
+            Don't use this one if you are trying to be RFC 3281 compliant.
+            Use it for v1 attribute certificates only.
+            </summary>
+            <param name="names">Our GeneralNames structure</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertIssuer.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttCertIssuer ::= CHOICE {
+                  v1Form   GeneralNames,  -- MUST NOT be used in this
+                                          -- profile
+                  v2Form   [0] V2Form     -- v2 only
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertValidityPeriod.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttCertValidityPeriod  ::= Sequence {
+                  notBeforeTime  GeneralizedTime,
+                  notAfterTime   GeneralizedTime
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificate.GetInstance(System.Object)">
+            @param obj
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificate.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttributeCertificate ::= Sequence {
+                  acinfo               AttributeCertificateInfo,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificateInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+              }
+            
+              AttCertVersion ::= Integer { v2(1) }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AuthorityInformationAccess">
+             The AuthorityInformationAccess object.
+             <pre>
+             id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
+            
+             AuthorityInfoAccessSyntax  ::=
+                  Sequence SIZE (1..MAX) OF AccessDescription
+             AccessDescription  ::=  Sequence {
+                   accessMethod          OBJECT IDENTIFIER,
+                   accessLocation        GeneralName  }
+            
+             id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
+             id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
+             id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityInformationAccess.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            create an AuthorityInformationAccess with the oid and location provided.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier">
+             The AuthorityKeyIdentifier object.
+             <pre>
+             id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
+            
+               AuthorityKeyIdentifier ::= Sequence {
+                  keyIdentifier             [0] IMPLICIT KeyIdentifier           OPTIONAL,
+                  authorityCertIssuer       [1] IMPLICIT GeneralNames            OPTIONAL,
+                  authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber OPTIONAL  }
+            
+               KeyIdentifier ::= OCTET STRING
+             </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+                     *
+                     * Calulates the keyidentifier using a SHA1 hash over the BIT STRING
+                     * from SubjectPublicKeyInfo as defined in RFC2459.
+                     *
+                     * Example of making a AuthorityKeyIdentifier:
+                     * <pre>
+            	     *   SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence)new ASN1InputStream(
+            		 *       publicKey.getEncoded()).readObject());
+                     *   AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(apki);
+                     * </pre>
+                     *
+                     *
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo,Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with the GeneralNames tag and
+            the serial number provided as well.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with the GeneralNames tag and
+            the serial number provided.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(System.Byte[])">
+            create an AuthorityKeyIdentifier with a precomputed key identifier
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(System.Byte[],Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with a precomupted key identifier
+            and the GeneralNames tag and the serial number provided as well.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.BasicConstraints.#ctor(System.Int32)">
+             create a cA=true object for the given path length constraint.
+            
+             @param pathLenConstraint
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.BasicConstraints.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            BasicConstraints := Sequence {
+               cA                  Boolean DEFAULT FALSE,
+               pathLenConstraint   Integer (0..MAX) OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertificateList">
+             PKIX RFC-2459
+            
+             The X.509 v2 CRL syntax is as follows.  For signature calculation,
+             the data that is to be signed is ASN.1 Der encoded.
+            
+             <pre>
+             CertificateList  ::=  Sequence  {
+                  tbsCertList          TbsCertList,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING  }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertificatePair">
+             This class helps to support crossCerfificatePairs in a LDAP directory
+             according RFC 2587
+            
+             <pre>
+                 crossCertificatePairATTRIBUTE::={
+                   WITH SYNTAX   CertificatePair
+                   EQUALITY MATCHING RULE certificatePairExactMatch
+                   ID joint-iso-ccitt(2) ds(5) attributeType(4) crossCertificatePair(40)}
+             </pre>
+            
+             <blockquote> The forward elements of the crossCertificatePair attribute of a
+             CA's directory entry shall be used to store all, except self-issued
+             certificates issued to this CA. Optionally, the reverse elements of the
+             crossCertificatePair attribute, of a CA's directory entry may contain a
+             subset of certificates issued by this CA to other CAs. When both the forward
+             and the reverse elements are present in a single attribute value, issuer name
+             in one certificate shall match the subject name in the other and vice versa,
+             and the subject public key in one certificate shall be capable of verifying
+             the digital signature on the other certificate and vice versa.
+            
+             When a reverse element is present, the forward element value and the reverse
+             element value need not be stored in the same attribute value; in other words,
+             they can be stored in either a single attribute value or two attribute
+             values. </blockquote>
+            
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type CertificatePair:
+             <p/>
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure,Org.BouncyCastle.Asn1.X509.X509CertificateStructure)">
+             Constructor from a given details.
+            
+             @param forward Certificates issued to this CA.
+             @param reverse Certificates issued by this CA to other CAs.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.CertificatePair.Forward">
+            @return Returns the forward.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.CertificatePair.Reverse">
+            @return Returns the reverse.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertPolicyID">
+             CertPolicyId, used in the CertificatePolicies and PolicyMappings
+             X509V3 Extensions.
+            
+             <pre>
+                 CertPolicyId ::= OBJECT IDENTIFIER
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CrlDistPoint.GetDistributionPoints">
+             Return the distribution points making up the sequence.
+            
+             @return DistributionPoint[]
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CrlDistPoint.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CrlDistPoint ::= Sequence SIZE {1..MAX} OF DistributionPoint
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CrlNumber">
+            The CRLNumber object.
+            <pre>
+            CRLNumber::= Integer(0..MAX)
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CrlReason">
+            The CRLReason enumeration.
+            <pre>
+            CRLReason ::= Enumerated {
+             unspecified             (0),
+             keyCompromise           (1),
+             cACompromise            (2),
+             affiliationChanged      (3),
+             superseded              (4),
+             cessationOfOperation    (5),
+             certificateHold         (6),
+             removeFromCRL           (8),
+             privilegeWithdrawn      (9),
+             aACompromise           (10)
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DigestInfo">
+            The DigestInfo object.
+            <pre>
+            DigestInfo::=Sequence{
+                     digestAlgorithm  AlgorithmIdentifier,
+                     digest OCTET STRING }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DisplayText">
+             <code>DisplayText</code> class, used in
+             <code>CertificatePolicies</code> X509 V3 extensions (in policy qualifiers).
+            
+             <p>It stores a string in a chosen encoding.
+             <pre>
+             DisplayText ::= CHOICE {
+                  ia5String        IA5String      (SIZE (1..200)),
+                  visibleString    VisibleString  (SIZE (1..200)),
+                  bmpString        BMPString      (SIZE (1..200)),
+                  utf8String       UTF8String     (SIZE (1..200)) }
+             </pre></p>
+             @see PolicyQualifierInfo
+             @see PolicyInformation
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeIA5String">
+             Constant corresponding to ia5String encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeBmpString">
+             Constant corresponding to bmpString encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeUtf8String">
+             Constant corresponding to utf8String encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeVisibleString">
+             Constant corresponding to visibleString encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.DisplayTextMaximumSize">
+             Describe constant <code>DisplayTextMaximumSize</code> here.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(System.Int32,System.String)">
+             Creates a new <code>DisplayText</code> instance.
+            
+             @param type the desired encoding type for the text.
+             @param text the text to store. Strings longer than 200
+             characters are truncated.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(System.String)">
+             Creates a new <code>DisplayText</code> instance.
+            
+             @param text the text to encapsulate. Strings longer than 200
+             characters are truncated.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(Org.BouncyCastle.Asn1.IAsn1String)">
+             Creates a new <code>DisplayText</code> instance.
+             <p>Useful when reading back a <code>DisplayText</code> class
+             from it's Asn1Encodable form.</p>
+            
+             @param contents an <code>Asn1Encodable</code> instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.GetString">
+             Returns the stored <code>string</code> object.
+            
+             @return the stored text as a <code>string</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DistributionPoint">
+            The DistributionPoint object.
+            <pre>
+            DistributionPoint ::= Sequence {
+                 distributionPoint [0] DistributionPointName OPTIONAL,
+                 reasons           [1] ReasonFlags OPTIONAL,
+                 cRLIssuer         [2] GeneralNames OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DistributionPointName">
+            The DistributionPointName object.
+            <pre>
+            DistributionPointName ::= CHOICE {
+                fullName                 [0] GeneralNames,
+                nameRelativeToCRLIssuer  [1] RDN
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage">
+            The extendedKeyUsage object.
+            <pre>
+                 extendedKeyUsage ::= Sequence SIZE (1..MAX) OF KeyPurposeId
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage.GetAllUsages">
+            Returns all extended key usages.
+            The returned ArrayList contains DerObjectIdentifier instances.
+            @return An ArrayList with all key purposes.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.GeneralName">
+             The GeneralName object.
+             <pre>
+             GeneralName ::= CHOICE {
+                  otherName                       [0]     OtherName,
+                  rfc822Name                      [1]     IA5String,
+                  dNSName                         [2]     IA5String,
+                  x400Address                     [3]     ORAddress,
+                  directoryName                   [4]     Name,
+                  ediPartyName                    [5]     EDIPartyName,
+                  uniformResourceIdentifier       [6]     IA5String,
+                  iPAddress                       [7]     OCTET STRING,
+                  registeredID                    [8]     OBJECT IDENTIFIER}
+            
+             OtherName ::= Sequence {
+                  type-id    OBJECT IDENTIFIER,
+                  value      [0] EXPLICIT ANY DEFINED BY type-id }
+            
+             EDIPartyName ::= Sequence {
+                  nameAssigner            [0]     DirectoryString OPTIONAL,
+                  partyName               [1]     DirectoryString }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralName.#ctor(Org.BouncyCastle.Asn1.Asn1Object,System.Int32)">
+             When the subjectAltName extension contains an Internet mail address,
+             the address MUST be included as an rfc822Name. The format of an
+             rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822].
+            
+             When the subjectAltName extension contains a domain name service
+             label, the domain name MUST be stored in the dNSName (an IA5String).
+             The name MUST be in the "preferred name syntax," as specified by RFC
+             1034 [RFC 1034].
+            
+             When the subjectAltName extension contains a URI, the name MUST be
+             stored in the uniformResourceIdentifier (an IA5String). The name MUST
+             be a non-relative URL, and MUST follow the URL syntax and encoding
+             rules specified in [RFC 1738].  The name must include both a scheme
+             (e.g., "http" or "ftp") and a scheme-specific-part.  The scheme-
+             specific-part must include a fully qualified domain name or IP
+             address as the host.
+            
+             When the subjectAltName extension contains a iPAddress, the address
+             MUST be stored in the octet string in "network byte order," as
+             specified in RFC 791 [RFC 791]. The least significant bit (LSB) of
+             each octet is the LSB of the corresponding byte in the network
+             address. For IP Version 4, as specified in RFC 791, the octet string
+             MUST contain exactly four octets.  For IP Version 6, as specified in
+             RFC 1883, the octet string MUST contain exactly sixteen octets [RFC
+             1883].
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralName.#ctor(System.Int32,System.String)">
+             Create a GeneralName for the given tag from the passed in string.
+             <p>
+             This constructor can handle:
+             <ul>
+             <li>rfc822Name</li>
+             <li>iPAddress</li>
+             <li>directoryName</li>
+             <li>dNSName</li>
+             <li>uniformResourceIdentifier</li>
+             <li>registeredID</li>
+             </ul>
+             For x400Address, otherName and ediPartyName there is no common string
+             format defined.
+             </p><p>
+             Note: A directory name can be encoded in different ways into a byte
+             representation. Be aware of this if the byte representation is used for
+             comparing results.
+             </p>
+            
+             @param tag tag number
+             @param name string representation of name
+             @throws ArgumentException if the string encoding is not correct or
+                         not supported.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralNames.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName)">
+            <summary>Construct a GeneralNames object containing one GeneralName.</summary>
+            <param name="name">The name to be contained.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralNames.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            GeneralNames ::= Sequence SIZE {1..MAX} OF GeneralName
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.GeneralSubtree">
+             Class for containing a restriction object subtrees in NameConstraints. See
+             RFC 3280.
+            
+             <pre>
+            
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.NameConstraints
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralSubtree.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             Constructor from a given details.
+            
+             According RFC 3280, the minimum and maximum fields are not used with any
+             name forms, thus minimum MUST be zero, and maximum MUST be absent.
+             <p>
+             If minimum is <code>null</code>, zero is assumed, if
+             maximum is <code>null</code>, maximum is absent.</p>
+            
+             @param baseName
+                        A restriction.
+             @param minimum
+                        Minimum
+            
+             @param maximum
+                        Maximum
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralSubtree.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+            
+             Returns:
+            
+             <pre>
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Holder">
+            The Holder object.
+            <p>
+            For an v2 attribute certificate this is:
+            
+            <pre>
+                       Holder ::= SEQUENCE {
+                             baseCertificateID   [0] IssuerSerial OPTIONAL,
+                                      -- the issuer and serial number of
+                                      -- the holder's Public Key Certificate
+                             entityName          [1] GeneralNames OPTIONAL,
+                                      -- the name of the claimant or role
+                             objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                                      -- used to directly authenticate the holder,
+                                      -- for example, an executable
+                       }
+            </pre>
+            </p>
+            <p>
+            For an v1 attribute certificate this is:
+            
+            <pre>
+                    subject CHOICE {
+                     baseCertificateID [0] IssuerSerial,
+                     -- associated with a Public Key Certificate
+                     subjectName [1] GeneralNames },
+                     -- associated with a name
+            </pre>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.Asn1TaggedObject)">
+            Constructor for a holder for an v1 attribute certificate.
+            
+            @param tagObj The ASN.1 tagged holder object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor for a holder for an v2 attribute certificate. *
+            
+            @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.IssuerSerial,System.Int32)">
+            Constructs a holder from a IssuerSerial.
+            @param baseCertificateID The IssuerSerial.
+            @param version The version of the attribute certificate. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames)">
+            Constructs a holder with an entityName for v2 attribute certificates or
+            with a subjectName for v1 attribute certificates.
+            
+            @param entityName The entity or subject name.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,System.Int32)">
+            Constructs a holder with an entityName for v2 attribute certificates or
+            with a subjectName for v1 attribute certificates.
+            
+            @param entityName The entity or subject name.
+            @param version The version of the attribute certificate. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.ObjectDigestInfo)">
+            Constructs a holder from an object digest info.
+            
+            @param objectDigestInfo The object digest info object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.ToAsn1Object">
+            The Holder object.
+            <pre>
+             Holder ::= Sequence {
+                   baseCertificateID   [0] IssuerSerial OPTIONAL,
+                            -- the issuer and serial number of
+                            -- the holder's Public Key Certificate
+                   entityName          [1] GeneralNames OPTIONAL,
+                            -- the name of the claimant or role
+                   objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                            -- used to directly authenticate the holder,
+                            -- for example, an executable
+             }
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Holder.Version">
+            Returns 1 for v2 attribute certificates or 0 for v1 attribute
+            certificates. 
+            @return The version of the attribute certificate.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Holder.EntityName">
+            Returns the entityName for an v2 attribute certificate or the subjectName
+            for an v1 attribute certificate.
+            
+            @return The entityname or subjectname.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax">
+            Implementation of <code>IetfAttrSyntax</code> as specified by RFC3281.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax.ToAsn1Object">
+            
+             <pre>
+            
+              IetfAttrSyntax ::= Sequence {
+                policyAuthority [0] GeneralNames OPTIONAL,
+                values Sequence OF CHOICE {
+                  octets OCTET STRING,
+                  oid OBJECT IDENTIFIER,
+                  string UTF8String
+                }
+              }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuerSerial.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             IssuerSerial  ::=  Sequence {
+                  issuer         GeneralNames,
+                  serial         CertificateSerialNumber,
+                  issuerUid      UniqueIdentifier OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint">
+            <pre>
+            IssuingDistributionPoint ::= SEQUENCE { 
+              distributionPoint          [0] DistributionPointName OPTIONAL, 
+              onlyContainsUserCerts      [1] BOOLEAN DEFAULT FALSE, 
+              onlyContainsCACerts        [2] BOOLEAN DEFAULT FALSE, 
+              onlySomeReasons            [3] ReasonFlags OPTIONAL, 
+              indirectCRL                [4] BOOLEAN DEFAULT FALSE,
+              onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.#ctor(Org.BouncyCastle.Asn1.X509.DistributionPointName,System.Boolean,System.Boolean,Org.BouncyCastle.Asn1.X509.ReasonFlags,System.Boolean,System.Boolean)">
+            Constructor from given details.
+            
+            @param distributionPoint
+                       May contain an URI as pointer to most current CRL.
+            @param onlyContainsUserCerts Covers revocation information for end certificates.
+            @param onlyContainsCACerts Covers revocation information for CA certificates.
+            
+            @param onlySomeReasons
+                       Which revocation reasons does this point cover.
+            @param indirectCRL
+                       If <code>true</code> then the CRL contains revocation
+                       information about certificates ssued by other CAs.
+            @param onlyContainsAttributeCerts Covers revocation information for attribute certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from Asn1Sequence
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.DistributionPoint">
+            @return Returns the distributionPoint.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.OnlySomeReasons">
+            @return Returns the onlySomeReasons.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.KeyPurposeID">
+            The KeyPurposeID object.
+            <pre>
+                KeyPurposeID ::= OBJECT IDENTIFIER
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.KeyUsage">
+             The KeyUsage object.
+             <pre>
+                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
+            
+                KeyUsage ::= BIT STRING {
+                     digitalSignature        (0),
+                     nonRepudiation          (1),
+                     keyEncipherment         (2),
+                     dataEncipherment        (3),
+                     keyAgreement            (4),
+                     keyCertSign             (5),
+                     cRLSign                 (6),
+                     encipherOnly            (7),
+                     decipherOnly            (8) }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.KeyUsage.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NameConstraints.#ctor(System.Collections.IList,System.Collections.IList)">
+             Constructor from a given details.
+            
+             <p>permitted and excluded are Vectors of GeneralSubtree objects.</p>
+            
+             @param permitted Permitted subtrees
+             @param excluded Excluded subtrees
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.NoticeReference">
+             <code>NoticeReference</code> class, used in
+             <code>CertificatePolicies</code> X509 V3 extensions
+             (in policy qualifiers).
+            
+             <pre>
+              NoticeReference ::= Sequence {
+                  organization     DisplayText,
+                  noticeNumbers    Sequence OF Integer }
+            
+             </pre>
+            
+             @see PolicyQualifierInfo
+             @see PolicyInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.String,System.Collections.IList)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param orgName a <code>string</code> value
+             @param numbers a <code>ArrayList</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param orgName a <code>string</code> value
+             @param numbers an <code>Asn1Sequence</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.Int32,System.String,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param displayTextType an <code>int</code> value
+             @param orgName a <code>string</code> value
+             @param numbers an <code>Asn1Sequence</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+             <p>Useful for reconstructing a <code>NoticeReference</code>
+             instance from its encodable/encoded form.</p>
+            
+             @param as an <code>Asn1Sequence</code> value obtained from either
+             calling @{link ToAsn1Object()} for a <code>NoticeReference</code>
+             instance or from parsing it from a Der-encoded stream.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.ToAsn1Object">
+             Describe <code>ToAsn1Object</code> method here.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo">
+            ObjectDigestInfo ASN.1 structure used in v2 attribute certificates.
+            
+            <pre>
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            </pre>
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.PublicKey">
+            The public key is hashed.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.PublicKeyCert">
+            The public key certificate is hashed.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.OtherObjectDigest">
+            An other object is hashed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.#ctor(System.Int32,System.String,Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,System.Byte[])">
+            Constructor from given details.
+            <p>
+            If <code>digestedObjectType</code> is not {@link #publicKeyCert} or
+            {@link #publicKey} <code>otherObjectTypeID</code> must be given,
+            otherwise it is ignored.</p>
+            
+            @param digestedObjectType The digest object type.
+            @param otherObjectTypeID The object type ID for
+                       <code>otherObjectDigest</code>.
+            @param digestAlgorithm The algorithm identifier for the hash.
+            @param objectDigest The hash value.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            <pre>
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyMappings">
+             PolicyMappings V3 extension, described in RFC3280.
+             <pre>
+                PolicyMappings ::= Sequence SIZE (1..MAX) OF Sequence {
+                  issuerDomainPolicy      CertPolicyId,
+                  subjectDomainPolicy     CertPolicyId }
+             </pre>
+            
+             @see <a href="http://www.faqs.org/rfc/rfc3280.txt">RFC 3280, section 4.2.1.6</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyMappings.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>PolicyMappings</code> instance.
+            
+             @param seq an <code>Asn1Sequence</code> constructed as specified
+             in RFC 3280
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyMappings.#ctor(System.Collections.IDictionary)">
+             Creates a new <code>PolicyMappings</code> instance.
+            
+             @param mappings a <code>HashMap</code> value that maps
+             <code>string</code> oids
+             to other <code>string</code> oids.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyQualifierID">
+             PolicyQualifierId, used in the CertificatePolicies
+             X509V3 extension.
+            
+             <pre>
+                id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
+                id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
+                id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
+              PolicyQualifierId ::=
+                   OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo">
+             Policy qualifiers, used in the X509V3 CertificatePolicies
+             extension.
+            
+             <pre>
+               PolicyQualifierInfo ::= Sequence {
+                   policyQualifierId  PolicyQualifierId,
+                   qualifier          ANY DEFINED BY policyQualifierId }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Creates a new <code>PolicyQualifierInfo</code> instance.
+            
+             @param policyQualifierId a <code>PolicyQualifierId</code> value
+             @param qualifier the qualifier, defined by the above field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(System.String)">
+             Creates a new <code>PolicyQualifierInfo</code> containing a
+             cPSuri qualifier.
+            
+             @param cps the CPS (certification practice statement) uri as a
+             <code>string</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>PolicyQualifierInfo</code> instance.
+            
+             @param as <code>PolicyQualifierInfo</code> X509 structure
+             encoded as an Asn1Sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.ToAsn1Object">
+             Returns a Der-encodable representation of this instance.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PrivateKeyUsagePeriod">
+            <remarks>
+            <pre>
+            PrivateKeyUsagePeriod ::= SEQUENCE
+            {
+            notBefore       [0]     GeneralizedTime OPTIONAL,
+            notAfter        [1]     GeneralizedTime OPTIONAL }
+            </pre>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.BiometricData">
+            The BiometricData object.
+            <pre>
+            BiometricData  ::=  SEQUENCE {
+                  typeOfBiometricData  TypeOfBiometricData,
+                  hashAlgorithm        AlgorithmIdentifier,
+                  biometricDataHash    OCTET STRING,
+                  sourceDataUri        IA5String OPTIONAL  }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.Iso4217CurrencyCode">
+            The Iso4217CurrencyCode object.
+            <pre>
+            Iso4217CurrencyCode  ::=  CHOICE {
+                  alphabetic              PrintableString (SIZE 3), --Recommended
+                  numeric              INTEGER (1..999) }
+            -- Alphabetic or numeric currency code as defined in ISO 4217
+            -- It is recommended that the Alphabetic form is used
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.MonetaryValue">
+            The MonetaryValue object.
+            <pre>
+            MonetaryValue  ::=  SEQUENCE {
+                  currency              Iso4217CurrencyCode,
+                  amount               INTEGER,
+                  exponent             INTEGER }
+            -- value = amount * 10^exponent
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.QCStatement">
+            The QCStatement object.
+            <pre>
+            QCStatement ::= SEQUENCE {
+              statementId        OBJECT IDENTIFIER,
+              statementInfo      ANY DEFINED BY statementId OPTIONAL}
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.SemanticsInformation">
+             The SemanticsInformation object.
+             <pre>
+                   SemanticsInformation ::= SEQUENCE {
+                     semanticsIdentifier        OBJECT IDENTIFIER   OPTIONAL,
+                     nameRegistrationAuthorities NameRegistrationAuthorities
+                                                                     OPTIONAL }
+                     (WITH COMPONENTS {..., semanticsIdentifier PRESENT}|
+                      WITH COMPONENTS {..., nameRegistrationAuthorities PRESENT})
+            
+                 NameRegistrationAuthorities ::=  SEQUENCE SIZE (1..MAX) OF
+                     GeneralName
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.TypeOfBiometricData">
+             The TypeOfBiometricData object.
+             <pre>
+             TypeOfBiometricData ::= CHOICE {
+               predefinedBiometricType   PredefinedBiometricType,
+               biometricDataOid          OBJECT IDENTIFIER }
+            
+             PredefinedBiometricType ::= INTEGER {
+               picture(0),handwritten-signature(1)}
+               (picture|handwritten-signature)
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ReasonFlags">
+            The ReasonFlags object.
+            <pre>
+            ReasonFlags ::= BIT STRING {
+               unused(0),
+               keyCompromise(1),
+               cACompromise(2),
+               affiliationChanged(3),
+               superseded(4),
+               cessationOfOperation(5),
+               certficateHold(6)
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ReasonFlags.#ctor(System.Int32)">
+            @param reasons - the bitwise OR of the Key Reason flags giving the
+            allowed uses for the key.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.RoleSyntax">
+             Implementation of the RoleSyntax object as specified by the RFC3281.
+            
+             <pre>
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetInstance(System.Object)">
+            RoleSyntax factory method.
+            @param obj the object used to construct an instance of <code>
+            RoleSyntax</code>. It must be an instance of <code>RoleSyntax
+            </code> or <code>Asn1Sequence</code>.
+            @return the instance of <code>RoleSyntax</code> built from the
+            supplied object.
+            @throws java.lang.ArgumentException if the object passed
+            to the factory is not an instance of <code>RoleSyntax</code> or
+            <code>Asn1Sequence</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            Constructor.
+            @param roleAuthority the role authority of this RoleSyntax.
+            @param roleName    the role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName)">
+            Constructor. Invoking this constructor is the same as invoking
+            <code>new RoleSyntax(null, roleName)</code>.
+            @param roleName    the role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(System.String)">
+            Utility constructor. Takes a <code>string</code> argument representing
+            the role name, builds a <code>GeneralName</code> to hold the role name
+            and calls the constructor that takes a <code>GeneralName</code>.
+            @param roleName
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor that builds an instance of <code>RoleSyntax</code> by
+            extracting the encoded elements from the <code>Asn1Sequence</code>
+            object supplied.
+            @param seq    an instance of <code>Asn1Sequence</code> that holds
+            the encoded elements used to build this <code>RoleSyntax</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetRoleNameAsString">
+            Gets the role name as a <code>java.lang.string</code> object.
+            @return    the role name of this RoleSyntax represented as a
+            <code>string</code> object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetRoleAuthorityAsString">
+            Gets the role authority as a <code>string[]</code> object.
+            @return the role authority of this RoleSyntax represented as a
+            <code>string[]</code> array.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.ToAsn1Object">
+             Implementation of the method <code>ToAsn1Object</code> as
+             required by the superclass <code>ASN1Encodable</code>.
+            
+             <pre>
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.RoleSyntax.RoleAuthority">
+            Gets the role authority of this RoleSyntax.
+            @return    an instance of <code>GeneralNames</code> holding the
+            role authority of this RoleSyntax.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.RoleSyntax.RoleName">
+            Gets the role name of this RoleSyntax.
+            @return    an instance of <code>GeneralName</code> holding the
+            role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RsaPublicKeyStructure.ToAsn1Object">
+            This outputs the key in Pkcs1v2 format.
+            <pre>
+                 RSAPublicKey ::= Sequence {
+                                     modulus Integer, -- n
+                                     publicExponent Integer, -- e
+                                 }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym">
+            Structure for a name or pseudonym.
+            
+            <pre>
+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString 
+                    },
+                	   pseudonym DirectoryString 
+                  }
+            </pre>
+            
+            @see org.bouncycastle.asn1.x509.sigi.PersonalData
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString)">
+            Constructor from DERString.
+            <p/>
+            The sequence is of type NameOrPseudonym:
+            <p/>
+            <pre>
+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString
+                    },
+                	   pseudonym DirectoryString
+                  }
+            </pre>
+            @param pseudonym pseudonym value to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type NameOrPseudonym:
+             <p/>
+             <pre>
+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param pseudonym The pseudonym.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from a given details.
+            
+             @param surname   The surname.
+             @param givenName A sequence of directory strings making up the givenName
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.PersonalData">
+             Contains personal data for the otherName field in the subjectAltNames
+             extension.
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.sigi.NameOrPseudonym
+             @see org.bouncycastle.asn1.x509.sigi.SigIObjectIdentifiers
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type NameOrPseudonym:
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.#ctor(Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Asn1.DerGeneralizedTime,Org.BouncyCastle.Asn1.X500.DirectoryString,System.String,Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from a given details.
+            
+             @param nameOrPseudonym  Name or pseudonym.
+             @param nameDistinguisher Name distinguisher.
+             @param dateOfBirth      Date of birth.
+             @param placeOfBirth     Place of birth.
+             @param gender           Gender.
+             @param postalAddress    Postal Address.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers">
+            Object Identifiers of SigI specifciation (German Signature Law
+            Interoperability specification).
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIKP">
+            Key purpose IDs for German SigI (Signature Interoperability
+            Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigICP">
+            Certificate policy IDs for German SigI (Signature Interoperability
+            Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigION">
+            Other Name IDs for German SigI (Signature Interoperability Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIKPDirectoryService">
+            To be used for for the generation of directory service certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIONPersonalData">
+            ID for PersonalData
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigICPSigConform">
+            Certificate is conform to german signature law.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes">
+             This extension may contain further X.500 attributes of the subject. See also
+             RFC 3039.
+            
+             <pre>
+                 SubjectDirectoryAttributes ::= Attributes
+                 Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                 Attribute ::= SEQUENCE
+                 {
+                   type AttributeType
+                   values SET OF AttributeValue
+                 }
+            
+                 AttributeType ::= OBJECT IDENTIFIER
+                 AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.X509Name for AttributeType ObjectIdentifiers.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+            
+             The sequence is of type SubjectDirectoryAttributes:
+            
+             <pre>
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @param seq
+                        The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.#ctor(System.Collections.IList)">
+             Constructor from an ArrayList of attributes.
+            
+             The ArrayList consists of attributes of type {@link Attribute Attribute}
+            
+             @param attributes The attributes.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+            
+             Returns:
+            
+             <pre>
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.Attributes">
+            @return Returns the attributes.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier">
+            The SubjectKeyIdentifier object.
+            <pre>
+            SubjectKeyIdentifier::= OCTET STRING
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+             Calculates the keyIdentifier using a SHA1 hash over the BIT STRING
+             from SubjectPublicKeyInfo as defined in RFC3280.
+            
+             @param spki the subject public key info.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.CreateSha1KeyIdentifier(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Return a RFC 3280 type 1 key identifier. As in:
+            <pre>
+            (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the
+            value of the BIT STRING subjectPublicKey (excluding the tag,
+            length, and number of unused bits).
+            </pre>
+            @param keyInfo the key info object containing the subjectPublicKey field.
+            @return the key identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.CreateTruncatedSha1KeyIdentifier(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Return a RFC 3280 type 2 key identifier. As in:
+            <pre>
+            (2) The keyIdentifier is composed of a four bit type field with
+            the value 0100 followed by the least significant 60 bits of the
+            SHA-1 hash of the value of the BIT STRING subjectPublicKey.
+            </pre>
+            @param keyInfo the key info object containing the subjectPublicKey field.
+            @return the key identifier.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo">
+            The object that contains the public key stored in a certficate.
+            <p>
+            The GetEncoded() method in the public keys in the JCE produces a DER
+            encoded one of these.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.GetPublicKey">
+             for when the public key is an encoded object - if the bitstring
+             can't be decoded this routine raises an IOException.
+            
+             @exception IOException - if the bit string doesn't represent a Der
+             encoded object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SubjectPublicKeyInfo ::= Sequence {
+                                     algorithm AlgorithmIdentifier,
+                                     publicKey BIT STRING }
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.PublicKeyData">
+            for when the public key is raw bits...
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Target">
+            Target structure used in target information extension for attribute
+            certificates from RFC 3281.
+            
+            <pre>
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            </pre>
+            
+            <p>
+            The targetCert field is currently not supported and must not be used
+            according to RFC 3281.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.GetInstance(System.Object)">
+            Creates an instance of a Target from the given object.
+            <p>
+            <code>obj</code> can be a Target or a {@link Asn1TaggedObject}</p>
+            
+            @param obj The object.
+            @return A Target instance.
+            @throws ArgumentException if the given object cannot be
+                        interpreted as Target.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.#ctor(Org.BouncyCastle.Asn1.Asn1TaggedObject)">
+            Constructor from Asn1TaggedObject.
+            
+            @param tagObj The tagged object.
+            @throws ArgumentException if the encoding is wrong.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.#ctor(Org.BouncyCastle.Asn1.X509.Target.Choice,Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Constructor from given details.
+             <p>
+             Exactly one of the parameters must be not <code>null</code>.</p>
+            
+             @param type the choice type to apply to the name.
+             @param name the general name.
+             @throws ArgumentException if type is invalid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            </pre>
+            
+            @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Target.TargetGroup">
+            @return Returns the targetGroup.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Target.TargetName">
+            @return Returns the targetName.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TargetInformation">
+            Target information extension for attributes certificates according to RFC
+            3281.
+            
+            <pre>
+                      SEQUENCE OF Targets
+            </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.GetInstance(System.Object)">
+            Creates an instance of a TargetInformation from the given object.
+            <p>
+            <code>obj</code> can be a TargetInformation or a {@link Asn1Sequence}</p>
+            
+            @param obj The object.
+            @return A TargetInformation instance.
+            @throws ArgumentException if the given object cannot be interpreted as TargetInformation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from a Asn1Sequence.
+            
+            @param seq The Asn1Sequence.
+            @throws ArgumentException if the sequence does not contain
+                        correctly encoded Targets elements.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.GetTargetsObjects">
+            Returns the targets in this target information extension.
+            <p>
+            The ArrayList is cloned before it is returned.</p>
+            
+            @return Returns the targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.X509.Targets)">
+            Constructs a target information from a single targets element. 
+            According to RFC 3281 only one targets element must be produced.
+            
+            @param targets A Targets instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.X509.Target[])">
+             According to RFC 3281 only one targets element must be produced. If
+             multiple targets are given they must be merged in
+             into one targets element.
+            
+             @param targets An array with {@link Targets}.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                     SEQUENCE OF Targets
+            </pre>
+            
+            <p>
+            According to RFC 3281 only one targets element must be produced. If
+            multiple targets are given in the constructor they are merged into one
+            targets element. If this was produced from a
+            {@link Org.BouncyCastle.Asn1.Asn1Sequence} the encoding is kept.</p>
+            
+            @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Targets">
+            Targets structure used in target information extension for attribute
+            certificates from RFC 3281.
+            
+            <pre>
+                       Targets ::= SEQUENCE OF Target
+                      
+                       Target  ::= CHOICE {
+                         targetName          [0] GeneralName,
+                         targetGroup         [1] GeneralName,
+                         targetCert          [2] TargetCert
+                       }
+                      
+                       TargetCert  ::= SEQUENCE {
+                         targetCertificate    IssuerSerial,
+                         targetName           GeneralName OPTIONAL,
+                         certDigestInfo       ObjectDigestInfo OPTIONAL
+                       }
+            </pre>
+            
+            @see org.bouncycastle.asn1.x509.Target
+            @see org.bouncycastle.asn1.x509.TargetInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.GetInstance(System.Object)">
+            Creates an instance of a Targets from the given object.
+            <p>
+            <code>obj</code> can be a Targets or a {@link Asn1Sequence}</p>
+            
+            @param obj The object.
+            @return A Targets instance.
+            @throws ArgumentException if the given object cannot be interpreted as Target.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from Asn1Sequence.
+            
+            @param targets The ASN.1 SEQUENCE.
+            @throws ArgumentException if the contents of the sequence are
+                        invalid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.#ctor(Org.BouncyCastle.Asn1.X509.Target[])">
+            Constructor from given targets.
+            <p>
+            The ArrayList is copied.</p>
+            
+            @param targets An <code>ArrayList</code> of {@link Target}s.
+            @see Target
+            @throws ArgumentException if the ArrayList contains not only Targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.GetTargets">
+            Returns the targets in an <code>ArrayList</code>.
+            <p>
+            The ArrayList is cloned before it is returned.</p>
+            
+            @return Returns the targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                       Targets ::= SEQUENCE OF Target
+            </pre>
+            
+            @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TbsCertificateStructure">
+            The TbsCertificate object.
+            <pre>
+            TbsCertificate ::= Sequence {
+                 version          [ 0 ]  Version DEFAULT v1(0),
+                 serialNumber            CertificateSerialNumber,
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 validity                Validity,
+                 subject                 Name,
+                 subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                 issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 extensions        [ 3 ] Extensions OPTIONAL
+                 }
+            </pre>
+            <p>
+            Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class
+            will parse them, but you really shouldn't be creating new ones.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TbsCertificateList">
+            PKIX RFC-2459 - TbsCertList object.
+            <pre>
+            TbsCertList  ::=  Sequence  {
+                 version                 Version OPTIONAL,
+                                              -- if present, shall be v2
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 thisUpdate              Time,
+                 nextUpdate              Time OPTIONAL,
+                 revokedCertificates     Sequence OF Sequence  {
+                      userCertificate         CertificateSerialNumber,
+                      revocationDate          Time,
+                      crlEntryExtensions      Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }  OPTIONAL,
+                 crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.#ctor(System.DateTime)">
+            creates a time object from a given date - if the date is between 1950
+            and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime
+            is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.ToDateTime">
+            <summary>
+            Return our time as DateTime.
+            </summary>
+            <returns>A date time.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.UserNotice">
+             <code>UserNotice</code> class, used in
+             <code>CertificatePolicies</code> X509 extensions (in policy
+             qualifiers).
+             <pre>
+             UserNotice ::= Sequence {
+                  noticeRef        NoticeReference OPTIONAL,
+                  explicitText     DisplayText OPTIONAL}
+            
+             </pre>
+            
+             @see PolicyQualifierId
+             @see PolicyInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.X509.NoticeReference,Org.BouncyCastle.Asn1.X509.DisplayText)">
+             Creates a new <code>UserNotice</code> instance.
+            
+             @param noticeRef a <code>NoticeReference</code> value
+             @param explicitText a <code>DisplayText</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.X509.NoticeReference,System.String)">
+             Creates a new <code>UserNotice</code> instance.
+            
+             @param noticeRef a <code>NoticeReference</code> value
+             @param str the explicitText field as a string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>UserNotice</code> instance.
+             <p>Useful from reconstructing a <code>UserNotice</code> instance
+             from its encodable/encoded form.
+            
+             @param as an <code>ASN1Sequence</code> value obtained from either
+             calling @{link toASN1Object()} for a <code>UserNotice</code>
+             instance or from parsing it from a DER-encoded stream.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V1TbsCertificateGenerator">
+             Generator for Version 1 TbsCertificateStructures.
+             <pre>
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  }
+             </pre>
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V2AttributeCertificateInfoGenerator">
+             Generator for Version 2 AttributeCertificateInfo
+             <pre>
+             AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+             }
+             </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.V2AttributeCertificateInfoGenerator.AddAttribute(Org.BouncyCastle.Asn1.X509.AttributeX509)">
+            @param attribute
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.V2Form.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             V2Form ::= Sequence {
+                  issuerName            GeneralNames  OPTIONAL,
+                  baseCertificateID     [0] IssuerSerial  OPTIONAL,
+                  objectDigestInfo      [1] ObjectDigestInfo  OPTIONAL
+                    -- issuerName MUST be present in this profile
+                    -- baseCertificateID and objectDigestInfo MUST NOT
+                    -- be present in this profile
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V2TbsCertListGenerator">
+             Generator for Version 2 TbsCertList structures.
+             <pre>
+              TbsCertList  ::=  Sequence  {
+                   version                 Version OPTIONAL,
+                                                -- if present, shall be v2
+                   signature               AlgorithmIdentifier,
+                   issuer                  Name,
+                   thisUpdate              Time,
+                   nextUpdate              Time OPTIONAL,
+                   revokedCertificates     Sequence OF Sequence  {
+                        userCertificate         CertificateSerialNumber,
+                        revocationDate          Time,
+                        crlEntryExtensions      Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }  OPTIONAL,
+                   crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }
+             </pre>
+            
+             <b>Note: This class may be subject to change</b>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V3TbsCertificateGenerator">
+             Generator for Version 3 TbsCertificateStructures.
+             <pre>
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  extensions        [ 3 ] Extensions OPTIONAL
+                  }
+             </pre>
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509CertificateStructure">
+            an X509Certificate structure.
+            <pre>
+             Certificate ::= Sequence {
+                 tbsCertificate          TbsCertificate,
+                 signatureAlgorithm      AlgorithmIdentifier,
+                 signature               BIT STRING
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509DefaultEntryConverter">
+            The default converter for X509 DN entries when going from their
+            string value to ASN.1 strings.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter">
+                 * It turns out that the number of standard ways the fields in a DN should be
+                 * encoded into their ASN.1 counterparts is rapidly approaching the
+                 * number of machines on the internet. By default the X509Name class
+                 * will produce UTF8Strings in line with the current recommendations (RFC 3280).
+                 * <p>
+                 * An example of an encoder look like below:
+                 * <pre>
+                 * public class X509DirEntryConverter
+                 *     : X509NameEntryConverter
+                 * {
+                 *     public Asn1Object GetConvertedValue(
+                 *         DerObjectIdentifier  oid,
+                 *         string               value)
+                 *     {
+                 *         if (str.Length() != 0 &amp;&amp; str.charAt(0) == '#')
+                 *         {
+                 *             return ConvertHexEncoded(str, 1);
+                 *         }
+                 *         if (oid.Equals(EmailAddress))
+                 *         {
+                 *             return new DerIA5String(str);
+                 *         }
+                 *         else if (CanBePrintable(str))
+                 *         {
+                 *             return new DerPrintableString(str);
+                 *         }
+                 *         else if (CanBeUTF8(str))
+                 *         {
+                 *             return new DerUtf8String(str);
+                 *         }
+                 *         else
+                 *         {
+                 *             return new DerBmpString(str);
+                 *         }
+                 *     }
+                 * }
+            	 * </pre>
+            	 * </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.ConvertHexEncoded(System.String,System.Int32)">
+             Convert an inline encoded hex string rendition of an ASN.1
+             object back into its corresponding ASN.1 object.
+            
+             @param str the hex encoded object
+             @param off the index at which the encoding starts
+             @return the decoded object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.CanBePrintable(System.String)">
+            return true if the passed in string can be represented without
+            loss as a PrintableString, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.GetConvertedValue(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String)">
+             Convert the passed in string value into the appropriate ASN.1
+             encoded object.
+            
+             @param oid the oid associated with the value in the DN.
+             @param value the value of the particular DN component.
+             @return the ASN.1 equivalent for the value.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509DefaultEntryConverter.GetConvertedValue(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String)">
+             Apply default conversion for the given value depending on the oid
+             and the character range of the value.
+            
+             @param oid the object identifier for the DN entry
+             @param value the value associated with it
+             @return the ASN.1 equivalent for the string value.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509Extension">
+            an object for the elements in the X.509 V3 extension block.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extension.ConvertValueToObject(Org.BouncyCastle.Asn1.X509.X509Extension)">
+            <sumary>Convert the value of the passed in extension to an object.</sumary>
+            <param name="ext">The extension to parse.</param>
+            <returns>The object the value string contains.</returns>
+            <exception cref="T:System.ArgumentException">If conversion is not possible.</exception>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectDirectoryAttributes">
+            Subject Directory Attributes
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectKeyIdentifier">
+            Subject Key Identifier
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.KeyUsage">
+            Key Usage
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PrivateKeyUsagePeriod">
+            Private Key Usage Period
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectAlternativeName">
+            Subject Alternative Name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.IssuerAlternativeName">
+            Issuer Alternative Name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.BasicConstraints">
+            Basic Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CrlNumber">
+            CRL Number
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.ReasonCode">
+            Reason code
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InstructionCode">
+            Hold Instruction Code
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InvalidityDate">
+            Invalidity Date
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.DeltaCrlIndicator">
+            Delta CRL indicator
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.IssuingDistributionPoint">
+            Issuing Distribution Point
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CertificateIssuer">
+            Certificate Issuer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.NameConstraints">
+            Name Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CrlDistributionPoints">
+            CRL Distribution Points
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CertificatePolicies">
+            Certificate Policies
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PolicyMappings">
+            Policy Mappings
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuthorityKeyIdentifier">
+            Authority Key Identifier
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PolicyConstraints">
+            Policy Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.ExtendedKeyUsage">
+            Extended Key Usage
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.FreshestCrl">
+            Freshest CRL
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InhibitAnyPolicy">
+            Inhibit Any Policy
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuthorityInfoAccess">
+            Authority Info Access
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectInfoAccess">
+            Subject Info Access
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.LogoType">
+            Logo Type
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.BiometricInfo">
+            BiometricInfo
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.QCStatements">
+            QCStatements
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuditIdentity">
+            Audit identity extension in attribute certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.NoRevAvail">
+            NoRevAvail extension in attribute certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.TargetInformation">
+            TargetInformation extension in attribute certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+            
+             the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IDictionary)">
+            constructor from a table of extensions.
+            <p>
+            it's is assumed the table contains Oid/string pairs.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IList,System.Collections.IDictionary)">
+            Constructor from a table of extensions with ordering.
+            <p>
+            It's is assumed the table contains Oid/string pairs.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IList,System.Collections.IList)">
+             Constructor from two vectors
+            
+             @param objectIDs an ArrayList of the object identifiers.
+             @param values an ArrayList of the extension values.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.GetExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the extension represented by the object identifier
+             passed in.
+            
+             @return the extension if it's present, null otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.ToAsn1Object">
+             <pre>
+                 Extensions        ::=   SEQUENCE SIZE (1..MAX) OF Extension
+            
+                 Extension         ::=   SEQUENCE {
+                    extnId            EXTENSION.&amp;id ({ExtensionSet}),
+                    critical          BOOLEAN DEFAULT FALSE,
+                    extnValue         OCTET STRING }
+             </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509Extensions.ExtensionOids">
+            return an Enumeration of the extension field's object ids.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator">
+            <remarks>Generator for X.509 extensions</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.Reset">
+            <summary>Reset the generator</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add an extension with the given oid and the passed in value to be included
+            in the OCTET STRING associated with the extension.
+            </summary>
+            <param name="oid">OID for the extension.</param>
+            <param name="critical">True if critical, false otherwise.</param>
+            <param name="extValue">The ASN.1 object to be included in the extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension with the given oid and the passed in byte array to be wrapped
+            in the OCTET STRING associated with the extension.
+            </summary>
+            <param name="oid">OID for the extension.</param>
+            <param name="critical">True if critical, false otherwise.</param>
+            <param name="extValue">The byte array to be wrapped.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.Generate">
+            <summary>Generate an X509Extensions object based on the current state of the generator.</summary>
+            <returns>An <c>X509Extensions</c> object</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.IsEmpty">
+            <summary>Return true if there are no extension present in this generator.</summary>
+            <returns>True if empty, false otherwise</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509Name">
+             <pre>
+                 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+            
+                 RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
+            
+                 AttributeTypeAndValue ::= SEQUENCE {
+                                               type  OBJECT IDENTIFIER,
+                                               value ANY }
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.C">
+            country code - StringType(SIZE(2))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.O">
+            organization - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.OU">
+            organizational unit name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.T">
+            Title
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CN">
+            common name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Street">
+            street - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.SerialNumber">
+            device serial number name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.L">
+            locality name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.ST">
+            state, or province name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Surname">
+            Naming attributes of type X520name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.BusinessCategory">
+            businessCategory - DirectoryString(SIZE(1..128)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PostalCode">
+            postalCode - DirectoryString(SIZE(1..40)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DnQualifier">
+            dnQualifier - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Pseudonym">
+            RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DateOfBirth">
+            RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PlaceOfBirth">
+            RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Gender">
+            RFC 3039 DateOfBirth - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CountryOfCitizenship">
+            RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166
+            codes only
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CountryOfResidence">
+            RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166
+            codes only
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.NameAtBirth">
+            ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PostalAddress">
+            RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF
+            DirectoryString(SIZE(1..30))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DmdName">
+            RFC 2256 dmdName
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.TelephoneNumber">
+            id-at-telephoneNumber
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Name">
+            id-at-name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.EmailAddress">
+            Email address (RSA PKCS#9 extension) - IA5String.
+            <p>Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here.</p>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.UnstructuredName">
+            more from PKCS#9
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.E">
+            email address in Verisign certificates
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.UID">
+            LDAP User id.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DefaultSymbols">
+            default look up table translating OID values into their common symbols following
+            the convention in RFC 2253 with a few extras
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.RFC2253Symbols">
+            look up table translating OID values into their common symbols following the convention in RFC 2253
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.RFC1779Symbols">
+             look up table translating OID values into their common symbols following the convention in RFC 1779
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DefaultLookup">
+            look up table translating common symbols into their OIDS.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return a X509Name based on the passed in tagged object.
+            
+             @param obj tag object holding name.
+             @param explicitly true if explicitly tagged false otherwise.
+             @return the X509Name
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence
+            
+             the principal will be a list of constructed sets, each containing an (OID, string) pair.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IDictionary)">
+            Constructor from a table of attributes with ordering.
+            <p>
+            it's is assumed the table contains OID/string pairs, and the contents
+            of the table are copied into an internal table as part of the
+            construction process. The ordering ArrayList should contain the OIDs
+            in the order they are meant to be encoded or printed in ToString.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IDictionary,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Constructor from a table of attributes with ordering.
+            <p>
+            it's is assumed the table contains OID/string pairs, and the contents
+            of the table are copied into an internal table as part of the
+            construction process. The ordering ArrayList should contain the OIDs
+            in the order they are meant to be encoded or printed in ToString.</p>
+            <p>
+            The passed in converter will be used to convert the strings into their
+            ASN.1 counterparts.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IList)">
+            Takes two vectors one of the oids and the other of the values.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IList,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes two vectors one of the oids and the other of the values.
+            <p>
+            The passed in converter will be used to convert the strings into their
+            ASN.1 counterparts.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes with each
+            string value being converted to its associated ASN.1 type using the passed
+            in converter.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. If reverse
+            is true, create the encoded version of the sequence starting from the
+            last element in the string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes with each
+            string value being converted to its associated ASN.1 type using the passed
+            in converter. If reverse is true the ASN.1 sequence representing the DN will
+            be built by starting at the end of the string, rather than the start.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.Collections.IDictionary,System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. lookUp
+            should provide a table of lookups, indexed by lowercase only strings and
+            yielding a DerObjectIdentifier, other than that OID. and numeric oids
+            will be processed automatically.
+            <br/>
+            If reverse is true, create the encoded version of the sequence
+            starting from the last element in the string.
+            @param reverse true if we should start scanning from the end (RFC 2553).
+            @param lookUp table of names and their oids.
+            @param dirName the X.500 string to be parsed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.Collections.IDictionary,System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. lookUp
+            should provide a table of lookups, indexed by lowercase only strings and
+            yielding a DerObjectIdentifier, other than that OID. and numeric oids
+            will be processed automatically. The passed in converter is used to convert the
+            string values to the right of each equals sign to their ASN.1 counterparts.
+            <br/>
+            @param reverse true if we should start scanning from the end, false otherwise.
+            @param lookUp table of names and oids.
+            @param dirName the string dirName
+            @param converter the converter to convert string values into their ASN.1 equivalents
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetOidList">
+            return an IList of the oids in the name, in the order they were found.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetValueList">
+            return an IList of the values found in the name, in the order they
+            were found.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetValueList(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return an IList of the values found in the name, in the order they
+            were found, with the DN label corresponding to passed in oid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.Equivalent(Org.BouncyCastle.Asn1.X509.X509Name,System.Boolean)">
+            <param name="other">The X509Name object to test equivalency against.</param>
+            <param name="inOrder">If true, the order of elements must be the same,
+            as well as the values associated with each element.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.Equivalent(Org.BouncyCastle.Asn1.X509.X509Name)">
+            test for equivalence - note: case is ignored.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.ToString(System.Boolean,System.Collections.IDictionary)">
+             convert the structure to a string - if reverse is true the
+             oids and values are listed out starting with the last element
+             in the sequence (ala RFC 2253), otherwise the string will begin
+             with the first element of the structure. If no string definition
+             for the oid is found in oidSymbols the string value of the oid is
+             added. Two standard symbol tables are provided DefaultSymbols, and
+             RFC2253Symbols as part of this class.
+            
+             @param reverse if true start at the end of the sequence and work back.
+             @param oidSymbols look up table strings for oids.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509Name.DefaultReverse">
+            determines whether or not strings should be processed and printed
+            from back to front.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509NameTokenizer">
+            class for breaking up an X500 Name into it's component tokens, ala
+            java.util.StringTokenizer. We need this class as some of the
+            lightweight Java environment don't support classes like
+            StringTokenizer.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.KeySpecificInfo">
+            ASN.1 def for Diffie-Hellman key exchange KeySpecificInfo structure. See
+            RFC 2631, or X9.42, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.KeySpecificInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             KeySpecificInfo ::= Sequence {
+                 algorithm OBJECT IDENTIFIER,
+                 counter OCTET STRING SIZE (4..4)
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.OtherInfo">
+            ANS.1 def for Diffie-Hellman key exchange OtherInfo structure. See
+            RFC 2631, or X9.42, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.OtherInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             OtherInfo ::= Sequence {
+                 keyInfo KeySpecificInfo,
+                 partyAInfo [0] OCTET STRING OPTIONAL,
+                 suppPubInfo [2] OCTET STRING
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X962NamedCurves">
+            table of the current named curves defined in X.962 EC-DSA.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X9.X962NamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962Parameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Parameters ::= CHOICE {
+               ecParameters ECParameters,
+               namedCurve   CURVES.&amp;id({CurveNames}),
+               implicitlyCA Null
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9Curve">
+            ASN.1 def for Elliptic-Curve Curve structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9Curve.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             Curve ::= Sequence {
+                 a               FieldElement,
+                 b               FieldElement,
+                 seed            BIT STRING      OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9ECParameters">
+            ASN.1 def for Elliptic-Curve ECParameters structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9ECParameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             ECParameters ::= Sequence {
+                 version         Integer { ecpVer1(1) } (ecpVer1),
+                 fieldID         FieldID {{FieldTypes}},
+                 curve           X9Curve,
+                 base            X9ECPoint,
+                 order           Integer,
+                 cofactor        Integer OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9ECPoint">
+            class for describing an ECPoint as a Der object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9ECPoint.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             ECPoint ::= OCTET STRING
+            </pre>
+            <p>
+            Octet string produced using ECPoint.GetEncoded().</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9FieldElement">
+            Class for processing an ECFieldElement as a DER object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldElement.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             FieldElement ::= OCTET STRING
+            </pre>
+            <p>
+            <ol>
+            <li> if <i>q</i> is an odd prime then the field element is
+            processed as an Integer and converted to an octet string
+            according to x 9.62 4.3.1.</li>
+            <li> if <i>q</i> is 2<sup>m</sup> then the bit string
+            contained in the field element is converted into an octet
+            string with the same ordering padded at the front if necessary.
+            </li>
+            </ol>
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9FieldID">
+            ASN.1 def for Elliptic-Curve Field ID structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.#ctor(Org.BouncyCastle.Math.BigInteger)">
+            Constructor for elliptic curves over prime fields
+            <code>F<sub>2</sub></code>.
+            @param primeP The prime <code>p</code> defining the prime field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            Constructor for elliptic curves over binary fields
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>..
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.ToAsn1Object">
+            Produce a Der encoding of the following structure.
+            <pre>
+             FieldID ::= Sequence {
+                 fieldType       FIELD-ID.&amp;id({IOSet}),
+                 parameters      FIELD-ID.&amp;Type({IOSet}{&#64;fieldType})
+             }
+            </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.AnsiX942">
+            X9.42
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.IdDsaWithSha1">
+            id-dsa-with-sha1 OBJECT IDENTIFIER ::=  { iso(1) member-body(2)
+                  us(840) x9-57 (10040) x9cm(4) 3 }
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.X9x63Scheme">
+            X9.63
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ArmoredInputStream">
+            reader for Base64 armored objects - read the headers and then start returning
+            bytes when the data is reached. An IOException is thrown if the CRC check
+            fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.Decode(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[])">
+             decode the base 64 encoded input data.
+            
+             @return the offset the data starts in out.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.#ctor(System.IO.Stream)">
+             Create a stream for reading a PGP armoured message, parsing up to a header
+             and then reading the data that follows.
+            
+             @param input
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.#ctor(System.IO.Stream,System.Boolean)">
+             Create an armoured input stream which will assume the data starts
+             straight away, or parse for headers first depending on the value of
+             hasHeaders.
+            
+             @param input
+             @param hasHeaders true if headers are to be looked for, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.IsClearText">
+            @return true if we are inside the clear text section of a PGP
+            signed message.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.IsEndOfStream">
+            @return true if the stream is actually at end of file.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.GetArmorHeaderLine">
+            Return the armor header line (if there is one)
+            @return the armor header line, null if none present.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.GetArmorHeaders">
+            Return the armor headers (the lines after the armor header line),
+            @return an array of armor headers, null if there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ArmoredOutputStream">
+            Basic output stream.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.Encode(System.IO.Stream,System.Int32[],System.Int32)">
+            encode the input data producing a base 64 encoded byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.SetHeader(System.String,System.String)">
+             Set an additional header entry.
+            
+             @param name the name of the header entry.
+             @param v the value of the header entry.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.ResetHeaders">
+            Reset the headers to only contain a Version string.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.BeginClearText(Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            Start a clear text signed message.
+            @param hashAlgorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.Dispose(System.Boolean)">
+            <b>Note</b>: Dispose does nor Dispose the underlying stream. So it is possible to write
+            multiple objects using armoring to a single stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Attr.ImageAttrib">
+            <remarks>Basic type for a image attribute packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacket">
+            Basic type for a user attribute sub-packet.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.UserAttributeSubpacket.GetData">
+            return the generic data making up the packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgInputStream">
+            <remarks>Reader for PGP objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgInputStream.NextPacketTag">
+            <summary>Returns the next packet tag in the stream.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgInputStream.PartialInputStream">
+            <summary>
+            A stream that overlays our input stream, allowing the user to only read a segment of it.
+            NB: dataLength will be negative if the segment length is in the upper range above 2**31.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgObject">
+            <remarks>Base class for a PGP object.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgOutputStream">
+            <remarks>Basic output stream.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream)">
+            <summary>Create a stream representing a general packet.</summary>
+            <param name="outStr">Output stream to write to.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag)">
+            <summary>Create a stream representing an old style partial object.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">The packet tag for the object.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Int64,System.Boolean)">
+            <summary>Create a stream representing a general packet.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="length">Size of chunks making up the packet.</param>
+            <param name="oldFormat">If true, the header is written out in old format.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Int64)">
+            <summary>Create a new style partial input stream buffered into chunks.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="length">Size of chunks making up the packet.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Byte[])">
+            <summary>Create a new style partial input stream buffered into chunks.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="buffer">Buffer to use for collecting chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.Flush">
+            <summary>Flush the underlying stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.Finish">
+            <summary>Finish writing out the current packet without closing the underlying stream.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.CompressedDataPacket">
+            <remarks>Generic compressed data object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.InputStreamPacket.GetInputStream">
+            <summary>Note: you can only read from this once...</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.CompressedDataPacket.Algorithm">
+            <summary>The algorithm tag value.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.CompressionAlgorithmTag">
+            <remarks>Basic tags for compression algorithms.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ContainedPacket">
+            <remarks>Basic type for a PGP packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey">
+            <remarks>Base class for a DSA public key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.IBcpgKey">
+            <remarks>Base interface for a PGP key.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.IBcpgKey.Format">
+            <summary>
+            The base format for this key - in the case of the symmetric keys it will generally
+            be raw indicating that the key is just a straight byte representation, for an asymmetric
+            key the format will be PGP, indicating the key is a string of MPIs encoded in PGP format.
+            </summary>
+            <returns>"RAW" or "PGP".</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            <param name="bcpgIn">The stream to read the packet from.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey">
+            <remarks>Base class for a DSA secret key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            @param in
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.X">
+            @return x
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey">
+            <remarks>Base class for an ElGamal public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey">
+            <remarks>Base class for an ElGamal secret key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            @param in
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.#ctor(Org.BouncyCastle.Math.BigInteger)">
+            @param x
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ExperimentalPacket">
+            <remarks>Basic packet for an experimental packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag">
+            <remarks>Basic tags for hash algorithms.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.LiteralDataPacket">
+            <remarks>Generic literal data packet.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.LiteralDataPacket.Format">
+            <summary>The format tag value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.LiteralDataPacket.ModificationTime">
+            <summary>The modification time of the file in milli-seconds (since Jan 1, 1970 UTC)</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.MarkerPacket">
+            <remarks>Basic type for a marker packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ModDetectionCodePacket">
+            <remarks>Basic packet for a modification detection code packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.MPInteger">
+            <remarks>A multiple precision integer</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OnePassSignaturePacket">
+            <remarks>Generic signature object</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OnePassSignaturePacket.KeyAlgorithm">
+            <summary>The encryption algorithm tag.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OnePassSignaturePacket.HashAlgorithm">
+            <summary>The hash algorithm tag.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PacketTag">
+            <remarks>Basic PGP packet tag types.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag">
+            <remarks>Public Key Algorithm tag numbers.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyEncSessionPacket">
+            <remarks>Basic packet for a PGP public key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyPacket">
+            <remarks>Basic packet for a PGP public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.PublicKeyPacket.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.DateTime,Org.BouncyCastle.Bcpg.IBcpgKey)">
+            <summary>Construct a version 4 public key packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicSubkeyPacket">
+            <remarks>Basic packet for a PGP public subkey</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.PublicSubkeyPacket.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.DateTime,Org.BouncyCastle.Bcpg.IBcpgKey)">
+            <summary>Construct a version 4 public subkey packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey">
+            <remarks>Base class for an RSA public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            <summary>Construct an RSA public key from the passed in stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            <param name="n">The modulus.</param>
+            <param name="e">The public exponent.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey">
+            <remarks>Base class for an RSA secret (or priate) key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.S2k">
+            <remarks>The string to key specifier class.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.S2k.GetIV">
+            <summary>The IV for the key generation algorithm.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.HashAlgorithm">
+            <summary>The hash algorithm.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.IterationCount">
+            <summary>The iteration count</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.ProtectionMode">
+            <summary>The protection mode - only if GnuDummyS2K</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SecretKeyPacket">
+            <remarks>Basic packet for a PGP secret key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SecretSubkeyPacket">
+            <remarks>Basic packet for a PGP secret key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignaturePacket">
+            <remarks>Generic signature packet.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.#ctor(System.Int32,System.Int64,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag,Org.BouncyCastle.Bcpg.SignatureSubpacket[],Org.BouncyCastle.Bcpg.SignatureSubpacket[],System.Byte[],Org.BouncyCastle.Bcpg.MPInteger[])">
+             Generate a version 4 signature packet.
+            
+             @param signatureType
+             @param keyAlgorithm
+             @param hashAlgorithm
+             @param hashedData
+             @param unhashedData
+             @param fingerprint
+             @param signature
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.#ctor(System.Int32,System.Int32,System.Int64,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag,System.Int64,System.Byte[],Org.BouncyCastle.Bcpg.MPInteger[])">
+             Generate a version 2/3 signature packet.
+            
+             @param signatureType
+             @param keyAlgorithm
+             @param hashAlgorithm
+             @param fingerprint
+             @param signature
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignatureTrailer">
+             return the signature trailer that must be included with the data
+             to reconstruct the signature
+            
+             @return byte[]
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignature">
+            		* return the signature as a set of integers - note this is normalised to be the
+                    * ASN.1 encoding of what appears in the signature packet.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignatureBytes">
+            Return the byte encoding of the signature section.
+            @return uninterpreted signature bytes.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SignaturePacket.KeyId">
+            return the keyId
+            @return the keyId that created the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SignaturePacket.CreationTime">
+            <summary>Return the creation time in milliseconds since 1 Jan., 1970 UTC.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacket">
+            <remarks>Basic type for a PGP Signature sub-packet.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignatureSubpacket.GetData">
+            <summary>Return the generic data making up the packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacketsParser">
+            reader for signature sub-packets
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacketTag">
+            Basic PGP signature sub-packet tag types.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.EmbeddedSignature">
+            Packet embedded signature
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.Exportable">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.IssuerKeyId">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.KeyExpirationTime">
+            packet giving time after creation at which the key expires.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.KeyExpirationTime.Time">
+             Return the number of seconds after creation time a key is valid for.
+            
+             @return second count for key validity.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.KeyFlags">
+            Packet holding the key flag values.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.KeyFlags.Flags">
+            <summary>
+            Return the flag values contained in the first 4 octets (note: at the moment
+            the standard only uses the first one).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.NotationData">
+            Class provided a NotationData object according to
+            RFC2440, Chapter 5.2.3.15. Notation Data
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.PreferredAlgorithms">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.PrimaryUserId">
+            packet giving whether or not the signature is signed using the primary user ID for the key.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.Revocable">
+            packet giving whether or not is revocable.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RevocationKey">
+            <summary>
+            Represents revocation key OpenPGP signature sub packet.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RevocationReason">
+            <summary>
+            Represents revocation reason OpenPGP signature sub packet.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignatureCreationTime">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignatureExpirationTime">
+            packet giving signature expiration time.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.SignatureExpirationTime.Time">
+            return time in seconds before signature expires after creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignerUserId">
+            packet giving the User ID of the signer.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.TrustSignature">
+            packet giving trust.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricEncDataPacket">
+            <remarks>Basic type for a symmetric key encrypted packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag">
+            Basic tags for symmetric key algorithms
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket">
+            Basic type for a symmetric encrypted session key packet
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.GetSecKeyData">
+            @return byte[]
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.EncAlgorithm">
+            @return int
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.S2k">
+            @return S2k
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.Version">
+            @return int
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.TrustPacket">
+            <summary>Basic type for a trust packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributePacket">
+            Basic type for a user attribute packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacketsParser">
+            reader for user attribute sub-packets
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacketTag">
+            Basic PGP user attribute sub-packet tag types.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserIdPacket">
+            Basic type for a user ID packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAttributeTableParameter">
+            <remarks>
+            The 'Signature' parameter is only available when generating unsigned attributes.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedData">
+            containing class for an CMS Authenticated Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetAuthAttrs">
+            return a table of the digested attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetUnauthAttrs">
+            return a table of the undigested attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedData.MacAlgOid">
+            return the object identifier for the content MAC algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator">
+             General class for generating a CMS authenticated-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CMSAuthenticatedDataGenerator  fact = new CMSAuthenticatedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSAuthenticatedData         data = fact.generate(content, algorithm, "BC");
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedGenerator">
+             General class for generating a CMS enveloped-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CMSEnvelopedDataGenerator  fact = new CMSEnvelopedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSEnvelopedData         data = fact.generate(content, algorithm, "BC");
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyTransRecipient(Org.BouncyCastle.X509.X509Certificate)">
+             add a recipient.
+            
+             @param cert recipient's public key certificate
+             @exception ArgumentException if there is a problem with the certificate
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyTransRecipient(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+             add a recipient
+            
+             @param key the public key used by the recipient
+             @param subKeyId the identifier for the recipient's public key
+             @exception ArgumentException if there is a problem with the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKekRecipient(System.String,Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Byte[])">
+            add a KEK recipient.
+            @param key the secret key to use for wrapping
+            @param keyIdentifier the byte string that identifies the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKekRecipient(System.String,Org.BouncyCastle.Crypto.Parameters.KeyParameter,Org.BouncyCastle.Asn1.Cms.KekIdentifier)">
+            add a KEK recipient.
+            @param key the secret key to use for wrapping
+            @param keyIdentifier the byte string that identifies the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyAgreementRecipient(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+             Add a key agreement based recipient.
+            
+             @param agreementAlgorithm key agreement algorithm to use.
+             @param senderPrivateKey private key to initialise sender side of agreement with.
+             @param senderPublicKey sender public key to include with message.
+             @param recipientCert recipient's public key certificate.
+             @param cekWrapAlgorithm OID for key wrapping algorithm to use.
+             @exception SecurityUtilityException if the algorithm requested cannot be found
+             @exception InvalidKeyException if the keys are inappropriate for the algorithm specified
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyAgreementRecipients(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Collections.ICollection,System.String)">
+             Add multiple key agreement based recipients (sharing a single KeyAgreeRecipientInfo structure).
+            
+             @param agreementAlgorithm key agreement algorithm to use.
+             @param senderPrivateKey private key to initialise sender side of agreement with.
+             @param senderPublicKey sender public key to include with message.
+             @param recipientCerts recipients' public key certificates.
+             @param cekWrapAlgorithm OID for key wrapping algorithm to use.
+             @exception SecurityUtilityException if the algorithm requested cannot be found
+             @exception InvalidKeyException if the keys are inappropriate for the algorithm specified
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+             constructor allowing specific source of randomness
+            
+             @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            constructor allowing specific source of randomness
+            @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            generate an enveloped object that contains an CMS Enveloped Data
+            object using the given provider and the passed in key generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            generate an authenticated object that contains an CMS Authenticated Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser">
+             Parsing class for an CMS Authenticated Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one recipient can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             Example of use - assuming the first recipient matches the private key we have.
+             <pre>
+                  CMSAuthenticatedDataParser     ad = new CMSAuthenticatedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ad.getRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey, "BC");
+            
+                      processDataStream(recData.getContentStream());
+            
+                      if (!Arrays.equals(ad.getMac(), recipient.getMac())
+                      {
+                          System.err.println("Data corrupted!!!!");
+                      }
+                  }
+              </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CMSAuthenticatedDataParser     ep = new CMSAuthenticatedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsContentInfoParser.Close">
+            Close the underlying data stream.
+            @throws IOException if the close fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetAuthAttrs">
+            return a table of the unauthenticated attributes indexed by
+            the OID of the attribute.
+            @exception java.io.IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetUnauthAttrs">
+            return a table of the unauthenticated attributes indexed by
+            the OID of the attribute.
+            @exception java.io.IOException
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.MacAlgOid">
+            return the object identifier for the mac algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.MacAlgParams">
+            return the ASN.1 encoded encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator">
+             General class for generating a CMS authenticated-data message stream.
+             <p>
+             A simple example of usage.
+             <pre>
+                  CMSAuthenticatedDataStreamGenerator edGen = new CMSAuthenticatedDataStreamGenerator();
+            
+                  edGen.addKeyTransRecipient(cert);
+            
+                  ByteArrayOutputStream  bOut = new ByteArrayOutputStream();
+            
+                  OutputStream out = edGen.open(
+                                          bOut, CMSAuthenticatedDataGenerator.AES128_CBC, "BC");*
+                  out.write(data);
+            
+                  out.close();
+             </pre>
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            constructor allowing specific source of randomness
+            @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.SetBerEncodeRecipients(System.Boolean)">
+            Use a BER Set to store the recipient information
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            generate an enveloped object that contains an CMS Enveloped Data
+            object using the given provider and the passed in key generator.
+            @throws java.io.IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Int32)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthEnvelopedData">
+            containing class for an CMS AuthEnveloped Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedData">
+            containing class for an CMS Compressed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetContent">
+             Return the uncompressed content.
+            
+             @return the uncompressed content
+             @throws CmsException if there is an exception uncompressing the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetContent(System.Int32)">
+             Return the uncompressed content, throwing an exception if the data size
+             is greater than the passed in limit. If the content is exceeded getCause()
+             on the CMSException will contain a StreamOverflowException
+            
+             @param limit maximum number of bytes to read
+             @return the content read
+             @throws CMSException if there is an exception uncompressing the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsCompressedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataGenerator">
+                * General class for generating a compressed CMS message.
+                * <p>
+                * A simple example of usage.</p>
+                * <p>
+                * <pre>
+                *      CMSCompressedDataGenerator fact = new CMSCompressedDataGenerator();
+                *      CMSCompressedData data = fact.Generate(content, algorithm);
+                * </pre>
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            Generate an object that contains an CMS Compressed Data
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataParser">
+             Class for reading a CMS Compressed Data stream.
+             <pre>
+                 CMSCompressedDataParser cp = new CMSCompressedDataParser(inputStream);
+            
+                 process(cp.GetContent().GetContentStream());
+             </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                  CMSCompressedDataParser     ep = new CMSCompressedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator">
+             General class for generating a compressed CMS message stream.
+             <p>
+             A simple example of usage.
+             </p>
+             <pre>
+                  CMSCompressedDataStreamGenerator gen = new CMSCompressedDataStreamGenerator();
+            
+                  Stream cOut = gen.Open(outputStream, CMSCompressedDataStreamGenerator.ZLIB);
+            
+                  cOut.Write(data);
+            
+                  cOut.Close();
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedData">
+            containing class for an CMS Enveloped Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetUnprotectedAttributes">
+            return a table of the unprotected attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedData.EncryptionAlgOid">
+            return the object identifier for the content encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator">
+             <remarks>
+             General class for generating a CMS enveloped-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CmsEnvelopedDataGenerator  fact = new CmsEnvelopedDataGenerator();
+            
+                  fact.AddKeyTransRecipient(cert);
+            
+                  CmsEnvelopedData         data = fact.Generate(content, algorithm);
+             </pre>
+             </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            <summary>
+            Generate an enveloped object that contains a CMS Enveloped Data
+            object using the passed in key generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            <summary>Generate an enveloped object that contains an CMS Enveloped Data object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,System.Int32)">
+            <summary>Generate an enveloped object that contains an CMS Enveloped Data object.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataParser">
+             Parsing class for an CMS Enveloped Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one recipient can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             Example of use - assuming the first recipient matches the private key we have.
+             <pre>
+                  CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ep.GetRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey);
+            
+                      processDataStream(recData.getContentStream());
+                  }
+              </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.GetUnprotectedAttributes">
+            return a table of the unprotected attributes indexed by
+            the OID of the attribute.
+            @throws IOException
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.EncryptionAlgOid">
+            return the object identifier for the content encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.EncryptionAlgParams">
+            return the ASN.1 encoded encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator">
+             General class for generating a CMS enveloped-data message stream.
+             <p>
+             A simple example of usage.
+             <pre>
+                  CmsEnvelopedDataStreamGenerator edGen = new CmsEnvelopedDataStreamGenerator();
+            
+                  edGen.AddKeyTransRecipient(cert);
+            
+                  MemoryStream  bOut = new MemoryStream();
+            
+                  Stream out = edGen.Open(
+                                          bOut, CMSEnvelopedDataGenerator.AES128_CBC);*
+                  out.Write(data);
+            
+                  out.Close();
+             </pre>
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.SetBufferSize(System.Int32)">
+            <summary>Set the underlying string size for encapsulated data.</summary>
+            <param name="bufferSize">Length of octet strings to buffer the data.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.SetBerEncodeRecipients(System.Boolean)">
+            <summary>Use a BER Set to store the recipient information.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            <summary>
+            Generate an enveloped object that contains an CMS Enveloped Data
+            object using the passed in key generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Int32)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+            @throws IOException
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.ICipherParameters">
+            all parameter classes implement this.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsProcessable.Write(System.IO.Stream)">
+            <summary>
+            Generic routine to copy out the data we want processed.
+            </summary>
+            <remarks>
+            This routine may be called multiple times.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsProcessableByteArray">
+            a holding class for a byte array of data to be processed.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsProcessableByteArray.GetContent">
+            <returns>A clone of the byte array</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedData">
+             general class for handling a pkcs7-signature message.
+            
+             A simple example of usage - note, in the example below the validity of
+             the certificate isn't verified, just the fact that one of the certs
+             matches the given signer...
+            
+             <pre>
+              IX509Store              certs = s.GetCertificates();
+              SignerInformationStore  signers = s.GetSignerInfos();
+            
+              foreach (SignerInformation signer in signers.GetSigners())
+              {
+                  ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                  X509Certificate cert = (X509Certificate) certList[0];
+            
+                  if (signer.Verify(cert.GetPublicKey()))
+                  {
+                      verified++;
+                  }
+              }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(System.Collections.IDictionary,System.Byte[])">
+             Content with detached signature, digests precomputed
+            
+             @param hashes a map of precomputed digests for content indexed by name of hash.
+             @param sigBlock the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(Org.BouncyCastle.Cms.CmsProcessable,System.IO.Stream)">
+             base constructor - content with detached signature.
+            
+             @param signedContent the content that was signed.
+             @param sigData the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(System.IO.Stream)">
+            base constructor - with encapsulated content
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetSignerInfos">
+            return the collection of signers that are associated with the
+            signatures for the message.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetAttributeCertificates(System.String)">
+             return a X509Store containing the attribute certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of attribute certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetCertificates(System.String)">
+             return a X509Store containing the public key certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of public key certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetCrls(System.String)">
+             return a X509Store containing CRLs, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of CRLs
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.ReplaceSigners(Org.BouncyCastle.Cms.CmsSignedData,Org.BouncyCastle.Cms.SignerInformationStore)">
+             Replace the signerinformation store associated with this
+             CmsSignedData object with the new one passed in. You would
+             probably only want to do this if you wanted to change the unsigned
+             attributes associated with a signer, or perhaps delete one.
+            
+             @param signedData the signed data object to be used as a base.
+             @param signerInformationStore the new signer information store to use.
+             @return a new signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.ReplaceCertificatesAndCrls(Org.BouncyCastle.Cms.CmsSignedData,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store)">
+             Replace the certificate and CRL information associated with this
+             CmsSignedData object with the new one passed in.
+            
+             @param signedData the signed data object to be used as a base.
+             @param x509Certs the new certificates to be used.
+             @param x509Crls the new CRLs to be used.
+             @return a new signed data object.
+             @exception CmsException if there is an error processing the stores
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.Version">
+            <summary>Return the version number for this object.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.SignedContentType">
+            <summary>
+            Return the <c>DerObjectIdentifier</c> associated with the encapsulated
+            content info structure carried in the signed data.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.ContentInfo">
+            return the ContentInfo
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataGenerator">
+                 * general class for generating a pkcs7-signature message.
+                 * <p>
+                 * A simple example of usage.
+                 *
+                 * <pre>
+                 *      IX509Store certs...
+                 *      IX509Store crls...
+                 *      CmsSignedDataGenerator gen = new CmsSignedDataGenerator();
+                 *
+                 *      gen.AddSigner(privKey, cert, CmsSignedGenerator.DigestSha1);
+                 *      gen.AddCertificates(certs);
+                 *      gen.AddCrls(crls);
+                 *
+                 *      CmsSignedData data = gen.Generate(content);
+                 * </pre>
+            	 * </p>
+        </member>
+        <member name="F:Org.BouncyCastle.Cms.CmsSignedGenerator.Data">
+            Default type for the signed data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.AddAttributeCertificates(Org.BouncyCastle.X509.Store.IX509Store)">
+             Add the attribute certificates contained in the passed in store to the
+             generator.
+            
+             @param store a store of Version 2 attribute certificates
+             @throws CmsException if an error occurse processing the store.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.AddSigners(Org.BouncyCastle.Cms.SignerInformationStore)">
+             Add a store of precalculated signers to the generator.
+            
+             @param signerStore store of signers
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.GetGeneratedDigests">
+             Return a map of oids and byte arrays representing the digests calculated on the content during
+             the last generate.
+            
+             @return a map of oids (as String objects) and byte[] representing digests.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+                    * add a signer - no attributes other than the default ones will be
+                    * provided here.
+            		*
+            		* @param key signing key to use
+            		* @param cert certificate containing corresponding public key
+            		* @param digestOID digest algorithm OID
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+             add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be
+             provided here.
+            
+             @param key signing key to use
+             @param cert certificate containing corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String)">
+            add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be
+            provided here.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+                    * add a signer with extra signed/unsigned attributes.
+            		*
+            		* @param key signing key to use
+            		* @param cert certificate containing corresponding public key
+            		* @param digestOID digest algorithm OID
+            		* @param signedAttr table of attributes to be included in signature
+            		* @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes.
+            
+             @param key signing key to use
+             @param cert certificate containing corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+             @param signedAttr table of attributes to be included in signature
+             @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            	     * add a signer with extra signed/unsigned attributes.
+            		 *
+            		 * @param key signing key to use
+            		 * @param subjectKeyID subjectKeyID of corresponding public key
+            		 * @param digestOID digest algorithm OID
+            		 * @param signedAttr table of attributes to be included in signature
+            		 * @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes.
+            
+             @param key signing key to use
+             @param subjectKeyID subjectKeyID of corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+             @param signedAttr table of attributes to be included in signature
+             @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer, including digest encryption algorithm, with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable)">
+            generate a signed object that for a CMS Signed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(System.String,Org.BouncyCastle.Cms.CmsProcessable,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object  - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data".
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.GenerateCounterSigners(Org.BouncyCastle.Cms.SignerInformation)">
+             generate a set of one or more SignerInformation objects representing counter signatures on
+             the passed in SignerInformation object.
+            
+             @param signer the signer to be countersigned
+             @param sigProvider the provider to be used for counter signing.
+             @return a store containing the signers.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataParser">
+             Parsing class for an CMS Signed Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one signer can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             A simple example of usage for an encapsulated signature.
+             </p>
+             <p>
+             Two notes: first, in the example below the validity of
+             the certificate isn't verified, just the fact that one of the certs
+             matches the given signer, and, second, because we are in a streaming
+             mode the order of the operations is important.
+             </p>
+             <pre>
+                  CmsSignedDataParser     sp = new CmsSignedDataParser(encapSigData);
+            
+                  sp.GetSignedContent().Drain();
+            
+                  IX509Store              certs = sp.GetCertificates();
+                  SignerInformationStore  signers = sp.GetSignerInfos();
+            
+                  foreach (SignerInformation signer in signers.GetSigners())
+                  {
+                      ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                      X509Certificate cert = (X509Certificate) certList[0];
+            
+                      Console.WriteLine("verify returns: " + signer.Verify(cert));
+                  }
+             </pre>
+              Note also: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CmsSignedDataParser     ep = new CmsSignedDataParser(new BufferedInputStream(encapSigData, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.#ctor(System.IO.Stream)">
+            base constructor - with encapsulated content
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.#ctor(Org.BouncyCastle.Cms.CmsTypedStream,System.IO.Stream)">
+             base constructor
+            
+             @param signedContent the content that was signed.
+             @param sigData the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetSignerInfos">
+            return the collection of signers that are associated with the
+            signatures for the message.
+            @throws CmsException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetAttributeCertificates(System.String)">
+             return a X509Store containing the attribute certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of attribute certificates
+             @exception org.bouncycastle.x509.NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetCertificates(System.String)">
+             return a X509Store containing the public key certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of public key certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetCrls(System.String)">
+             return a X509Store containing CRLs, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of CRLs
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.ReplaceSigners(System.IO.Stream,Org.BouncyCastle.Cms.SignerInformationStore,System.IO.Stream)">
+            Replace the signerinformation store associated with the passed
+            in message contained in the stream original with the new one passed in.
+            You would probably only want to do this if you wanted to change the unsigned
+            attributes associated with a signer, or perhaps delete one.
+            <p>
+            The output stream is returned unclosed.
+            </p>
+            @param original the signed data stream to be used as a base.
+            @param signerInformationStore the new signer information store to use.
+            @param out the stream to Write the new signed data object to.
+            @return out.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.ReplaceCertificatesAndCrls(System.IO.Stream,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,System.IO.Stream)">
+            Replace the certificate and CRL information associated with this
+            CMSSignedData object with the new one passed in.
+            <p>
+            The output stream is returned unclosed.
+            </p>
+            @param original the signed data stream to be used as a base.
+            @param certsAndCrls the new certificates and CRLs to be used.
+            @param out the stream to Write the new signed data object to.
+            @return out.
+            @exception CmsException if there is an error processing the CertStore
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedDataParser.Version">
+             Return the version number for the SignedData object
+            
+             @return the version number
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedDataParser.SignedContentType">
+            <summary>
+            Return the <c>DerObjectIdentifier</c> associated with the encapsulated
+            content info structure carried in the signed data.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator">
+             General class for generating a pkcs7-signature message stream.
+             <p>
+             A simple example of usage.
+             </p>
+             <pre>
+                  IX509Store                   certs...
+                  CmsSignedDataStreamGenerator gen = new CmsSignedDataStreamGenerator();
+            
+                  gen.AddSigner(privateKey, cert, CmsSignedDataStreamGenerator.DIGEST_SHA1);
+            
+                  gen.AddCertificates(certs);
+            
+                  Stream sigOut = gen.Open(bOut);
+            
+                  sigOut.Write(Encoding.UTF8.GetBytes("Hello World!"));
+            
+                  sigOut.Close();
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+            add a signer, specifying the digest encryption algorithm - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes - specifying digest
+            encryption algorithm.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data".
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.Boolean,System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data
+            object using the given provider - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data". If dataOutputStream is non null the data
+            being signed will be written to the stream as it is processed.
+            @param out stream the CMS object is to be written to.
+            @param encapsulate true if data should be encapsulated.
+            @param dataOutputStream output stream to copy the data being signed to.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Boolean,System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data
+            object using the given provider - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+            @param out stream the CMS object is to be written to.
+            @param signedContentType OID for data to be signed.
+            @param encapsulate true if data should be encapsulated.
+            @param dataOutputStream output stream to copy the data being signed to.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedHelper.GetDigestAlgName(System.String)">
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedHelper.GetEncryptionAlgName(System.String)">
+            Return the digest encryption algorithm using one of the standard
+            JCA string representations rather than the algorithm identifier (if
+            possible).
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator">
+            Default authenticated attributes generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.#ctor">
+            Initialise to use all defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.#ctor(Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Initialise with some extra attributes or overrides.
+            
+             @param attributeTable initial attribute table to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.CreateStandardAttributeTable(System.Collections.IDictionary)">
+             Create a standard attribute table from the passed in parameters - this will
+             normally include contentType and messageDigest. If the constructor
+             using an AttributeTable was used, entries in it for contentType and
+             messageDigest will override the generated ones.
+            
+             @param parameters source parameters for table generation.
+            
+             @return a filled in IDictionary of attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.GetAttributes(System.Collections.IDictionary)">
+            @param parameters source parameters
+            @return the populated attribute table
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator">
+            Default signed attributes generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.#ctor">
+            Initialise to use all defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.#ctor(Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Initialise with some extra attributes or overrides.
+            
+             @param attributeTable initial attribute table to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.createStandardAttributeTable(System.Collections.IDictionary)">
+             Create a standard attribute table from the passed in parameters - this will
+             normally include contentType, signingTime, and messageDigest. If the constructor
+             using an AttributeTable was used, entries in it for contentType, signingTime, and
+             messageDigest will override the generated ones.
+            
+             @param parameters source parameters for table generation.
+            
+             @return a filled in Hashtable of attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.GetAttributes(System.Collections.IDictionary)">
+            @param parameters source parameters
+            @return the populated attribute table
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInfoGenerator.Generate(Org.BouncyCastle.Crypto.Parameters.KeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate a RecipientInfo object for the given key.
+            </summary>
+            <param name="contentEncryptionKey">
+            A <see cref="T:Org.BouncyCastle.Crypto.Parameters.KeyParameter"/>
+            </param>
+            <param name="random">
+            A <see cref="T:Org.BouncyCastle.Security.SecureRandom"/>
+            </param>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Asn1.Cms.RecipientInfo"/>
+            </returns>
+            <exception cref="T:Org.BouncyCastle.Security.GeneralSecurityException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KekRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using a secret key known to the other side.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformation.GetMac">
+             Return the MAC calculated for the content stream. Note: this call is only meaningful once all
+             the content has been read.
+            
+             @return  byte array containing the mac.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformation.KeyEncryptionAlgOid">
+                    * return the object identifier for the key encryption algorithm.
+                    * 
+            		* @return OID for key encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformation.KeyEncryptionAlgParams">
+                    * return the ASN.1 encoded key encryption algorithm parameters, or null if
+                    * there aren't any.
+                    * 
+            		* @return ASN.1 encoding of key encryption algorithm parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KekRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KeyAgreeRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using key agreement.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KeyAgreeRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KeyTransRecipientInformation">
+            the KeyTransRecipientInformation class for a recipient who has been sent a secret
+            key encrypted using their public key that needs to be used to
+            extract the message.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KeyTransRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return it as a byte array.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.OriginatorID">
+            a basic index for an originator.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertStoreSelector.Policy">
+            <summary>
+            An <code>ISet</code> of <code>DerObjectIdentifier</code> objects.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.PasswordRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using a password.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.PasswordRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.PasswordRecipientInformation.KeyDerivationAlgorithm">
+             return the object identifier for the key derivation algorithm, or null
+             if there is none present.
+            
+             @return OID for key derivation algorithm, if present.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.Pkcs5Scheme2PbeKey">
+            <summary>
+            PKCS5 scheme-2 - password converted to bytes assuming ASCII.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.Pkcs5Scheme2Utf8PbeKey">
+            PKCS5 scheme-2 - password converted to bytes using UTF-8.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetFirstRecipient(Org.BouncyCastle.Cms.RecipientID)">
+             Return the first RecipientInformation object that matches the
+             passed in selector. Null if there are no matches.
+            
+             @param selector to identify a recipient
+             @return a single RecipientInformation object. Null if none matches.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetRecipients">
+             Return all recipients in the collection
+            
+             @return a collection of recipients.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetRecipients(Org.BouncyCastle.Cms.RecipientID)">
+             Return possible empty collection with recipients matching the passed in RecipientID
+            
+             @param selector a recipient id to select against.
+             @return a collection of RecipientInformation objects.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformationStore.Count">
+             Return the number of recipients in the collection.
+            
+             @return number of recipients identified.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SignerID">
+            a basic index for a signer.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SignerInformation">
+            an expanded SignerInfo block from a CMS Signed message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetContentDigest">
+            return the content digest that was calculated during verification.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetSignature">
+            return the encoded signature
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetCounterSignatures">
+            Return a SignerInformationStore containing the counter signatures attached to this
+            signer. If no counter signatures are present an empty store is returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetEncodedSignedAttributes">
+            return the DER encoding of the signed attributes.
+            @throws IOException if an encoding error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            verify that the given public key successfully handles and confirms the
+            signature associated with this signer.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.Verify(Org.BouncyCastle.X509.X509Certificate)">
+            verify that the given certificate successfully handles and confirms
+            the signature associated with this signer and, if a signingTime
+            attribute is available, that the certificate was valid at the time the
+            signature was generated.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.ToSignerInfo">
+             Return the base ASN.1 CMS structure that this object contains.
+            
+             @return an object containing a CMS SignerInfo structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.ReplaceUnsignedAttributes(Org.BouncyCastle.Cms.SignerInformation,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Return a signer information object with the passed in unsigned
+             attributes replacing the ones that are current associated with
+             the object passed in.
+            
+             @param signerInformation the signerInfo to be used as the basis.
+             @param unsignedAttributes the unsigned attributes to add.
+             @return a copy of the original SignerInformationObject with the changed attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.AddCounterSigners(Org.BouncyCastle.Cms.SignerInformation,Org.BouncyCastle.Cms.SignerInformationStore)">
+             Return a signer information object with passed in SignerInformationStore representing counter
+             signatures attached as an unsigned attribute.
+            
+             @param signerInformation the signerInfo to be used as the basis.
+             @param counterSigners signer info objects carrying counter signature.
+             @return a copy of the original SignerInformationObject with the changed attributes.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.Version">
+            return the version number for this objects underlying SignerInfo structure.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.DigestAlgOid">
+            return the object identifier for the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.DigestAlgParams">
+            return the signature parameters, or null if there aren't any.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.EncryptionAlgOid">
+            return the object identifier for the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.EncryptionAlgParams">
+            return the signature/encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.SignedAttributes">
+            return a table of the signed attributes - indexed by
+            the OID of the attribute.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.UnsignedAttributes">
+            return a table of the unsigned attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetFirstSigner(Org.BouncyCastle.Cms.SignerID)">
+             Return the first SignerInformation object that matches the
+             passed in selector. Null if there are no matches.
+            
+             @param selector to identify a signer
+             @return a single SignerInformation object. Null if none matches.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetSigners">
+            <returns>An ICollection of all signers in the collection</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetSigners(Org.BouncyCastle.Cms.SignerID)">
+             Return possible empty collection with signers matching the passed in SignerID
+            
+             @param selector a signer id to select against.
+             @return a collection of SignerInformation objects.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformationStore.Count">
+            <summary>The number of signers in the collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SimpleAttributeTableGenerator">
+            Basic generator that just returns a preconstructed attribute table
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.DHAgreement">
+            a Diffie-Hellman key exchange engine.
+            <p>
+            note: This uses MTI/A0 key agreement in order to make the key agreement
+            secure against passive attacks. If you're doing Diffie-Hellman and both
+            parties have long term public keys you should look at using this. For
+            further information have a look at RFC 2631.</p>
+            <p>
+            It's possible to extend this to more than two parties as well, for the moment
+            that is left as an exercise for the reader.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHAgreement.CalculateMessage">
+            calculate our initial message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.Parameters.DHPublicKeyParameters,Org.BouncyCastle.Math.BigInteger)">
+            given a message from a given party and the corresponding public key
+            calculate the next message in the agreement sequence. In this case
+            this will represent the shared secret.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement">
+            a Diffie-Hellman key agreement class.
+            <p>
+            note: This is only the basic algorithm, it doesn't take advantage of
+            long term public keys if they are available. See the DHAgreement class
+            for a "better" implementation.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBasicAgreement">
+            The basic interface that basic Diffie-Hellman implementations
+            conforms to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBasicAgreement.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+            initialise the agreement engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBasicAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.ICipherParameters)">
+            given a public key from a given party calculate the next
+            message in the agreement sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.ICipherParameters)">
+            given a short term public key from a given party calculate the next
+            message in the agreement sequence.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.ECDHBasicAgreement">
+             P1363 7.2.1 ECSVDP-DH
+            
+             ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive,
+             Diffie-Hellman version. It is based on the work of [DH76], [Mil86],
+             and [Kob87]. This primitive derives a shared secret value from one
+             party's private key and another party's public key, where both have
+             the same set of EC domain parameters. If two parties correctly
+             execute this primitive, they will produce the same output. This
+             primitive can be invoked by a scheme to derive a shared secret key;
+             specifically, it may be used with the schemes ECKAS-DH1 and
+             DL/ECKAS-DH2. It assumes that the input keys are valid (see also
+             Section 7.2.2).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.ECDHCBasicAgreement">
+             P1363 7.2.2 ECSVDP-DHC
+            
+             ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive,
+             Diffie-Hellman version with cofactor multiplication. It is based on
+             the work of [DH76], [Mil86], [Kob87], [LMQ98] and [Kal98a]. This
+             primitive derives a shared secret value from one party's private key
+             and another party's public key, where both have the same set of EC
+             domain parameters. If two parties correctly execute this primitive,
+             they will produce the same output. This primitive can be invoked by a
+             scheme to derive a shared secret key; specifically, it may be used
+             with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It does not assume the
+             validity of the input public key (see also Section 7.2.1).
+             <p>
+             Note: As stated P1363 compatibility mode with ECDH can be preset, and
+             in this case the implementation doesn't have a ECDH compatibility mode
+             (if you want that just use ECDHBasicAgreement and note they both implement
+             BasicAgreement!).</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDerivationParameters">
+            Parameters for key/byte stream derivation classes
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Kdf.DHKekGenerator">
+            RFC 2631 Diffie-hellman KEK derivation function.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDerivationFunction">
+            base interface for general purpose byte derivation functions.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IDerivationFunction.Digest">
+            return the message digest used as the basis for the function
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Kdf.ECDHKekGenerator">
+            X9.63 based key derivation function for ECDH CMS.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client">
+            Implements the client side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe.
+            This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper
+            "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest,Org.BouncyCastle.Security.SecureRandom)">
+            Initialises the client to begin new authentication attempt
+            @param N The safe prime associated with the client's verifier
+            @param g The group parameter associated with the client's verifier
+            @param digest The digest algorithm associated with the client's verifier
+            @param random For key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.GenerateClientCredentials(System.Byte[],System.Byte[],System.Byte[])">
+            Generates client's credentials given the client's salt, identity and password
+            @param salt The salt used in the client's verifier.
+            @param identity The user's identity (eg. username)
+            @param password The user's password
+            @return Client's public value to send to server
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.CalculateSecret(Org.BouncyCastle.Math.BigInteger)">
+            Generates client's verification message given the server's credentials
+            @param serverB The server's credentials
+            @return Client's verification message for the server
+            @throws CryptoException If server's credentials are invalid
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server">
+            Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe.
+            This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper
+            "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest,Org.BouncyCastle.Security.SecureRandom)">
+            Initialises the server to accept a new client authentication attempt
+            @param N The safe prime associated with the client's verifier
+            @param g The group parameter associated with the client's verifier
+            @param v The client's verifier
+            @param digest The digest algorithm associated with the client's verifier
+            @param random For key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.GenerateServerCredentials">
+            Generates the server's credentials that are to be sent to the client.
+            @return The server's public value to the client
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.CalculateSecret(Org.BouncyCastle.Math.BigInteger)">
+            Processes the client's credentials. If valid the shared secret is generated and returned.
+            @param clientA The client's credentials
+            @return A shared secret BigInteger
+            @throws CryptoException If client's credentials are invalid
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator">
+            Generates new SRP verifier for user
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest)">
+            Initialises generator to create new verifiers
+            @param N The safe prime to use (see DHParametersGenerator)
+            @param g The group parameter to use (see DHParametersGenerator)
+            @param digest The digest to use. The same digest type will need to be used later for the actual authentication
+            attempt. Also note that the final session key size is dependent on the chosen digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator.GenerateVerifier(System.Byte[],System.Byte[],System.Byte[])">
+            Creates a new SRP verifier
+            @param salt The salt to use, generally should be large and random
+            @param identity The user's identifying information (eg. username)
+            @param password The user's password
+            @return A new verifier for use in future SRP authentication
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair">
+            a holding class for public/private parameter pairs.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             basic constructor.
+            
+             @param publicParam a public key parameters object.
+             @param privateParam the corresponding private key parameters.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.Public">
+             return the public key parameters.
+            
+             @return the public key parameters.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.Private">
+             return the private key parameters.
+            
+             @return the private key parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher">
+            The AEAD block ciphers already handle buffering internally, so this class
+            just takes care of implementing IBufferedCipher methods.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBufferedCipher">
+            <remarks>Block cipher engines are expected to conform to this interface.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBufferedCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">If true the cipher is initialised for encryption,
+            if false for decryption.</param>
+            <param name="parameters">The key and other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBufferedCipher.Reset">
+            <summary>
+            Reset the cipher. After resetting the cipher is in the same state
+            as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBufferedCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetBlockSize">
+             return the blocksize for the underlying cipher.
+            
+             @return the blocksize for the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output, or the input is not block size aligned and should be.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+             @exception DataLengthException if the input is not block size
+             aligned.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.Reset">
+            Reset the buffer and cipher. After resetting the object is in the same
+            state as it was after the last init (if there was one).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher">
+            a buffer wrapper for an asymmetric block cipher, allowing input
+            to be accumulated in a piecemeal fashion until final processing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher)">
+             base constructor.
+            
+             @param cipher the cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.GetBufferPosition">
+             return the amount of data sitting in the buffer.
+            
+             @return the amount of data sitting in the buffer.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the buffer and the underlying cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.DoFinal">
+             process the contents of the buffer using the underlying
+             cipher.
+            
+             @return the result of the encryption/decryption process on the
+             buffer.
+             @exception InvalidCipherTextException if we are given a garbage block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.Reset">
+            <summary>Reset the buffer</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedBlockCipher">
+            A wrapper class that allows block ciphers to be used to process data in
+            a piecemeal fashion. The BufferedBlockCipher outputs a block only when the
+            buffer is full and more data is being added, or on a doFinal.
+            <p>
+            Note: in the case where the underlying cipher is either a CFB cipher or an
+            OFB one the last block may not be a multiple of the block size.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.#ctor">
+            constructor for subclasses
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher without padding.
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+             false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetBlockSize">
+             return the blocksize for the underlying cipher.
+            
+             @return the blocksize for the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output, or the input is not block size aligned and should be.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+             @exception DataLengthException if the input is not block size
+             aligned.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.Reset">
+            Reset the buffer and cipher. After resetting the object is in the same
+            state as it was after the last init (if there was one).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.CipherKeyGenerator">
+            The base class for symmetric, or secret, cipher key generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.CipherKeyGenerator.Init(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator.
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.CipherKeyGenerator.GenerateKey">
+             Generate a secret key.
+            
+             @return a byte array containing the key value.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.DataLengthException">
+            this exception is thrown if a buffer that is meant to have output
+            copied into it turns out to be too short, or if we've been given
+            insufficient input. In general this exception will Get thrown rather
+            than an ArrayOutOfBounds exception.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.DataLengthException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.DataLengthException.#ctor(System.String)">
+             create a DataLengthException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.GeneralDigest">
+            base implementation of MD4 family style digest as outlined in
+            "Handbook of Applied Cryptography", pages 344 - 347.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDigest">
+            interface that a message digest conforms to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.GetDigestSize">
+             return the size, in bytes, of the digest produced by this message digest.
+            
+             @return the size, in bytes, of the digest produced by this message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.GetByteLength">
+             return the size, in bytes, of the internal buffer used by this digest.
+            
+             @return the size, in bytes, of the internal buffer used by this digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.Update(System.Byte)">
+             update the message digest with a single byte.
+            
+             @param inByte the input byte to be entered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+             update the message digest with a block of bytes.
+            
+             @param input the byte array containing the data.
+             @param inOff the offset into the byte array where the data starts.
+             @param len the length of the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.DoFinal(System.Byte[],System.Int32)">
+             Close the digest, producing the final digest value. The doFinal
+             call leaves the digest reset.
+            
+             @param output the array the digest is to be copied into.
+             @param outOff the offset into the out array the digest is to start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.Reset">
+            reset the digest back to it's initial state.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IDigest.AlgorithmName">
+             return the algorithm name
+            
+             @return the algorithm name
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Gost3411Digest">
+            implementation of GOST R 34.11-94
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor(System.Byte[])">
+            Constructor to allow use of a particular sbox with GOST28147
+            @see GOST28147Engine#getSBox(String)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Gost3411Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.C2">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.LongDigest">
+            Base class for SHA-384 and SHA-512.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.#ctor">
+            Constructor for variable length word
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.#ctor(Org.BouncyCastle.Crypto.Digests.LongDigest)">
+            Copy constructor.  We are using copy constructors in place
+            of the object.Clone() interface as this interface is not
+            supported by J2ME.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.AdjustByteCounts">
+            adjust the byte counts so that byteCount2 represents the
+            upper long (less 3 bits) word of the byte count.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD2Digest">
+            implementation of MD2
+            as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.DoFinal(System.Byte[],System.Int32)">
+             Close the digest, producing the final digest value. The doFinal
+             call leaves the digest reset.
+            
+             @param out the array the digest is to be copied into.
+             @param outOff the offset into the out array the digest is to start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.Reset">
+            reset the digest back to it's initial state.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.Update(System.Byte)">
+             update the message digest with a single byte.
+            
+             @param in the input byte to be entered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+             update the message digest with a block of bytes.
+            
+             @param in the byte array containing the data.
+             @param inOff the offset into the byte array where the data starts.
+             @param len the length of the data.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Digests.MD2Digest.AlgorithmName">
+             return the algorithm name
+            
+             @return the algorithm name
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD4Digest">
+            implementation of MD4 as RFC 1320 by R. Rivest, MIT Laboratory for
+            Computer Science and RSA Data Security, Inc.
+            <p>
+            <b>NOTE</b>: This algorithm is only included for backwards compatibility
+            with legacy applications, it's not secure, don't use it for anything new!</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.#ctor(Org.BouncyCastle.Crypto.Digests.MD4Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD5Digest">
+            implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD5Digest.#ctor(Org.BouncyCastle.Crypto.Digests.MD5Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD5Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest">
+            implementation of RipeMD128
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD128Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest">
+            implementation of RipeMD see,
+            http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD160Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest">
+            <remarks>
+            <p>Implementation of RipeMD256.</p>
+            <p><b>Note:</b> this algorithm offers the same level of security as RipeMD128.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.#ctor">
+            <summary> Standard constructor</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD256Digest)">
+            <summary> Copy constructor.  This will copy the state of the provided
+            message digest.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.Reset">
+            <summary> reset the chaining variables to the IV values.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest">
+            <remarks>
+            <p>Implementation of RipeMD 320.</p>
+            <p><b>Note:</b> this algorithm offers the same level of security as RipeMD160.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.#ctor">
+            <summary> Standard constructor</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD320Digest)">
+            <summary> Copy constructor.  This will copy the state of the provided
+            message digest.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.Reset">
+            <summary> reset the chaining variables to the IV values.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha1Digest">
+             implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349.
+            
+             It is interesting to ponder why the, apart from the extra IV, the other difference here from MD5
+             is the "endienness" of the word processing!
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha1Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha1Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha1Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha224Digest">
+            SHA-224 as described in RFC 3874
+            <pre>
+                    block  word  digest
+            SHA-1   512    32    160
+            SHA-224 512    32    224
+            SHA-256 512    32    256
+            SHA-384 1024   64    384
+            SHA-512 1024   64    512
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha224Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha256Digest">
+             Draft FIPS 180-2 implementation of SHA-256. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha256Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha256Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha256Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha384Digest">
+             Draft FIPS 180-2 implementation of SHA-384. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha384Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha384Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha384Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha512Digest">
+             Draft FIPS 180-2 implementation of SHA-512. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha512Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha512Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha512Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.ShortenedDigest">
+            Wrapper class that reduces the output length of a particular digest to
+            only the first n bytes of the digest function.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.ShortenedDigest.#ctor(Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+             Base constructor.
+            
+             @param baseDigest underlying digest to use.
+             @param length length in bytes of the output of doFinal.
+             @exception ArgumentException if baseDigest is null, or length is greater than baseDigest.GetDigestSize().
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.TigerDigest">
+            implementation of Tiger based on:
+            <a href="http://www.cs.technion.ac.il/~biham/Reports/Tiger">
+             http://www.cs.technion.ac.il/~biham/Reports/Tiger</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.#ctor(Org.BouncyCastle.Crypto.Digests.TigerDigest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest">
+             Implementation of WhirlpoolDigest, based on Java source published by Barreto
+             and Rijmen.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest.#ctor(Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest)">
+            Copy constructor. This will copy the state of the provided message
+            digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest.Reset">
+            Reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding">
+            ISO 9796-1 padding. Note in the light of recent results you should
+            only use this with RSA (rather than the "simpler" Rabin keys) and you
+            should never use it with anything other than a hash (ie. even if the
+            message is small don't sign the message, sign it's hash) or some "random"
+            value. See your favorite search engine for details.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher">
+            <remarks>Base interface for a public/private key block cipher.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.GetInputBlockSize">
+            <returns>The maximum size, in bytes, an input block may be.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.GetOutputBlockSize">
+            <returns>The maximum size, in bytes, an output block will be.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>Process a block.</summary>
+            <param name="inBuf">The input buffer.</param>
+            <param name="inOff">The offset into <paramref>inBuf</paramref> that the input block begins.</param>
+            <param name="inLen">The length of the input block.</param>
+            <exception cref="T:Org.BouncyCastle.Crypto.InvalidCipherTextException">Input decrypts improperly.</exception>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">Input is too large for the cipher.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetInputBlockSize">
+            return the input block size. The largest message we can process
+            is (key_size_in_bits + 3)/16, which in our world comes to
+            key_size_in_bytes / 2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetOutputBlockSize">
+            return the maximum possible size for the output.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.SetPadBits(System.Int32)">
+            set the number of bits in the next message to be treated as
+            pad bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetPadBits">
+            retrieve the number of pad bits in the last decoded message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.DecodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block is not a valid ISO 9796 bit string
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.OaepEncoding">
+            Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.decodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block turns out to
+            be badly formatted.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.ItoOSP(System.Int32,System.Byte[])">
+            int to octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.maskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            mask generator function, as described in PKCS1v2.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding">
+            this does your basic Pkcs 1 v1.5 padding - whether or not you should be using this
+            depends on your application - see Pkcs1 Version 2 for details.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.StrictLengthEnabledProperty">
+            some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to
+            work with one of these set the system property Org.BouncyCastle.Pkcs1.Strict to false.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher)">
+            Basic constructor.
+            @param cipher
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.DecodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block is not in Pkcs1 format.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.StrictLengthEnabled">
+            The same effect can be achieved by setting the static property directly
+            <p>
+            The static property is checked during construction of the encoding object, it is set to
+            true by default.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesEngine">
+             an implementation of the AES (Rijndael), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor, they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each, for a total of 2Kbytes,
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first.
+            
+             The slowest version uses no static tables at all and computes the values in each round.
+             </p>
+             <p>
+             This file contains the middle performance version with 2Kbytes of static tables for round precomputation.
+             </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBlockCipher">
+            <remarks>Base interface for a symmetric key block cipher.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.GetBlockSize">
+            <returns>The block size for this cipher, in bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            <summary>Process a block.</summary>
+            <param name="inBuf">The input buffer.</param>
+            <param name="inOff">The offset into <paramref>inBuf</paramref> that the input block begins.</param>
+            <param name="outBuf">The output buffer.</param>
+            <param name="outOff">The offset into <paramref>outBuf</paramref> to write the output block.</param>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">If input block is wrong size, or outBuf too small.</exception>
+            <returns>The number of bytes processed and produced.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBlockCipher.IsPartialBlockOkay">
+            <summary>Indicates whether this cipher can handle partial blocks.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesFastEngine">
+             an implementation of the AES (Rijndael)), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor), they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations), 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each), for a total of 2Kbytes),
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first
+            
+             The slowest version uses no static tables at all and computes the values in each round
+             </p>
+             <p>
+             This file contains the fast version with 8Kbytes of static tables for round precomputation
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesLightEngine">
+             an implementation of the AES (Rijndael), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor, they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each, for a total of 2Kbytes,
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first
+            
+             The slowest version uses no static tables at all and computes the values
+             in each round.
+             </p>
+             <p>
+             This file contains the slowest performance version with no static tables
+             for round precomputation, but it has the smallest foot print.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesWrapEngine">
+            <remarks>
+            An implementation of the AES Key Wrapper from the NIST Key Wrap Specification.
+            <p/>
+            For further details see: <a href="http://csrc.nist.gov/encryption/kms/key-wrap.pdf">http://csrc.nist.gov/encryption/kms/key-wrap.pdf</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Rfc3394WrapEngine">
+            <remarks>
+            An implementation of the AES Key Wrapper from the NIST Key Wrap
+            Specification as described in RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc3394.txt">http://www.ietf.org/rfc/rfc3394.txt</a>
+            and  <a href="http://csrc.nist.gov/encryption/kms/key-wrap.pdf">http://csrc.nist.gov/encryption/kms/key-wrap.pdf</a>.
+            </remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IWrapper.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.BlowfishEngine">
+            A class that provides Blowfish key encryption operations,
+            such as encoding data and generating keys.
+            All the algorithms herein are from Applied Cryptography
+            and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Blowfish cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.ProcessTable(System.UInt32,System.UInt32,System.UInt32[])">
+            apply the encryption cycle to each value pair in the table.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Encrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Decrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaEngine">
+            Camellia - based on RFC 3713.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine">
+            Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaWrapEngine">
+            <remarks>
+            An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc3657.txt">http://www.ietf.org/rfc/rfc3657.txt</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Cast5Engine">
+             A class that provides CAST key encryption operations,
+             such as encoding data and generating keys.
+            
+             All the algorithms herein are from the Internet RFC's
+            
+             RFC2144 - Cast5 (64bit block, 40-128bit key)
+             RFC2612 - CAST6 (128bit block, 128-256bit key)
+            
+             and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a CAST cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F1(System.UInt32,System.UInt32,System.Int32)">
+             The first of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F2(System.UInt32,System.UInt32,System.Int32)">
+             The second of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F3(System.UInt32,System.UInt32,System.Int32)">
+             The third of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.CAST_Encipher(System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 16 rounds to encrypt the block.
+            
+             @param L0    the LH-32bits of the plaintext block
+             @param R0    the RH-32bits of the plaintext block
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Cast6Engine">
+             A class that provides CAST6 key encryption operations,
+             such as encoding data and generating keys.
+            
+             All the algorithms herein are from the Internet RFC
+            
+             RFC2612 - CAST6 (128bit block, 128-256bit key)
+            
+             and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.CAST_Encipher(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 12 quad rounds rounds to encrypt the block.
+            
+             @param A    the 00-31  bits of the plaintext block
+             @param B    the 32-63  bits of the plaintext block
+             @param C    the 64-95  bits of the plaintext block
+             @param D    the 96-127 bits of the plaintext block
+             @param result the resulting ciphertext
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.CAST_Decipher(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 12 quad rounds rounds to decrypt the block.
+            
+             @param A    the 00-31  bits of the ciphertext block
+             @param B    the 32-63  bits of the ciphertext block
+             @param C    the 64-95  bits of the ciphertext block
+             @param D    the 96-127 bits of the ciphertext block
+             @param result the resulting plaintext
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEdeEngine">
+            <remarks>A class that provides a basic DESede (or Triple DES) engine.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEngine">
+            <remarks>A class that provides a basic DES engine.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a DES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEngine.bytebit">
+            what follows is mainly taken from "Applied Cryptography", by
+            Bruce Schneier, however it also bears great resemblance to Richard
+            Outerbridge's D3DES...
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.GenerateWorkingKey(System.Boolean,System.Byte[])">
+             Generate an integer based working key based on our secret key
+             and what we processing we are planning to do.
+            
+             Acknowledgements for this routine go to James Gillogly and Phil Karn.
+                     (whoever, and wherever they are!).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.DesFunc(System.Int32[],System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            the DES engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a DESede cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine">
+                * Wrap keys according to
+                * <a href="http://www.ietf.org/internet-drafts/draft-ietf-smime-key-wrap-01.txt">
+                * draft-ietf-smime-key-wrap-01.txt</a>.
+                * <p>
+                * Note:
+                * <ul>
+                * <li>this is based on a draft, and as such is subject to change - don't use this class for anything requiring long term storage.</li>
+                * <li>if you are using this to wrap triple-des keys you need to set the
+                * parity bits on the key and, if it's a two-key triple-des key, pad it
+                * yourself.</li>
+                * </ul>
+            	* </p>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.engine">
+            Field engine 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.param">
+            Field param 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.paramPlusIV">
+            Field paramPlusIV 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.iv">
+            Field iv 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.forWrapping">
+            Field forWrapping 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.IV2">
+            Field IV2           
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Method init
+            
+             @param forWrapping
+             @param param
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Wrap(System.Byte[],System.Int32,System.Int32)">
+             Method wrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Unwrap(System.Byte[],System.Int32,System.Int32)">
+             Method unwrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.CalculateCmsKeyChecksum(System.Byte[])">
+             Some key wrap algorithms make use of the Key Checksum defined
+             in CMS [CMS-Algorithms]. This is used to provide an integrity
+             check value for the key being wrapped. The algorithm is
+            
+             - Compute the 20 octet SHA-1 hash on the key being wrapped.
+             - Use the first 8 octets of this hash as the checksum value.
+            
+             @param key
+             @return
+             @throws Exception
+             @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.CheckCmsKeyChecksum(System.Byte[],System.Byte[])">
+            @param key
+            @param checksum
+            @return
+            @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.AlgorithmName">
+             Method GetAlgorithmName
+            
+             @return
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.ElGamalEngine">
+            this does your basic ElGamal algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the ElGamal engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary ElGamal key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For ElGamal this is always one byte less than the size of P on
+             encryption, and twice the length as the size of P on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For ElGamal this is always one byte less than the size of P on
+             decryption, and twice the length as the size of P on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic ElGamal algorithm.
+            
+             @param in the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param length the length of the data to be processed.
+             @return the result of the ElGamal process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Gost28147Engine">
+            implementation of GOST 28147-89
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.#ctor">
+            standard constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an Gost28147 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.GetSBox(System.String)">
+            Return the S-Box associated with SBoxName
+            @param sBoxName name of the S-Box
+            @return byte array representing the S-Box
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.HC128Engine">
+             HC-128 is a software-efficient stream cipher created by Hongjun Wu. It
+             generates keystream from a 128-bit secret key and a 128-bit initialization
+             vector.
+             <p>
+             http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf
+             </p><p>
+             It is a third phase candidate in the eStream contest, and is patent-free.
+             No attacks are known as of today (April 2007). See
+            
+             http://www.ecrypt.eu.org/stream/hcp3.html
+             </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IStreamCipher">
+            <summary>The interface stream ciphers conform to.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">If true the cipher is initialised for encryption,
+            if false for decryption.</param>
+            <param name="parameters">The key and other data required by the cipher.</param>
+            <exception cref="T:System.ArgumentException">
+            If the parameters argument is inappropriate.
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.ReturnByte(System.Byte)">
+            <summary>encrypt/decrypt a single byte returning the result.</summary>
+            <param name="input">the byte to be processed.</param>
+            <returns>the result of processing the input byte.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process a block of bytes from <c>input</c> putting the result into <c>output</c>.
+            </summary>
+            <param name="input">The input byte array.</param>
+            <param name="inOff">
+            The offset into <c>input</c> where the data to be processed starts.
+            </param>
+            <param name="length">The number of bytes to be processed.</param>
+            <param name="output">The output buffer the processed bytes go into.</param>
+            <param name="outOff">
+            The offset into <c>output</c> the processed data starts at.
+            </param>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">If the output buffer is too small.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IStreamCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.HC128Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise a HC-128 cipher.
+            
+             @param forEncryption whether or not we are for encryption. Irrelevant, as
+                                  encryption and decryption are the same.
+             @param params        the parameters required to set up the cipher.
+             @throws ArgumentException if the params argument is
+                                              inappropriate (ie. the key is not 128 bit long).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.HC256Engine">
+            HC-256 is a software-efficient stream cipher created by Hongjun Wu. It 
+            generates keystream from a 256-bit secret key and a 256-bit initialization 
+            vector.
+            <p>
+            http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf
+            </p><p>
+            Its brother, HC-128, is a third phase candidate in the eStream contest.
+            The algorithm is patent-free. No attacks are known as of today (April 2007). 
+            See
+            
+            http://www.ecrypt.eu.org/stream/hcp3.html
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.HC256Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise a HC-256 cipher.
+            
+             @param forEncryption whether or not we are for encryption. Irrelevant, as
+                                  encryption and decryption are the same.
+             @param params        the parameters required to set up the cipher.
+             @throws ArgumentException if the params argument is
+                                              inappropriate (ie. the key is not 256 bit long).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.IesEngine">
+            support class for constructing intergrated encryption ciphers
+            for doing basic message exchanges on top of key agreement ciphers
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.#ctor(Org.BouncyCastle.Crypto.IBasicAgreement,Org.BouncyCastle.Crypto.IDerivationFunction,Org.BouncyCastle.Crypto.IMac)">
+             set up for use with stream mode, where the key derivation function
+             is used to provide a stream of bytes to xor with the message.
+            
+             @param agree the key agreement used as the basis for the encryption
+             @param kdf the key derivation function used for byte generation
+             @param mac the message authentication code generator for the message
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.#ctor(Org.BouncyCastle.Crypto.IBasicAgreement,Org.BouncyCastle.Crypto.IDerivationFunction,Org.BouncyCastle.Crypto.IMac,Org.BouncyCastle.Crypto.BufferedBlockCipher)">
+             set up for use in conjunction with a block cipher to handle the
+             message.
+            
+             @param agree the key agreement used as the basis for the encryption
+             @param kdf the key derivation function used for byte generation
+             @param mac the message authentication code generator for the message
+             @param cipher the cipher to used for encrypting the message
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters,Org.BouncyCastle.Crypto.ICipherParameters,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the encryptor.
+            
+             @param forEncryption whether or not this is encryption/decryption.
+             @param privParam our private key parameters
+             @param pubParam the recipient's/sender's public key parameters
+             @param param encoding and derivation parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.IsaacEngine">
+            Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count).
+            see: http://www.burtleburtle.net/bob/rand/isaacafa.html
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IsaacEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an ISAAC cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine">
+            NaccacheStern Engine. For details on this cipher, please see
+            http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initializes this algorithm. Must be called before all other Functions.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#init(bool,
+                  org.bouncycastle.crypto.CipherParameters)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.GetInputBlockSize">
+             Returns the input block size of this algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetInputBlockSize()
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.GetOutputBlockSize">
+             Returns the output block size of this algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetOutputBlockSize()
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single Block using the Naccache-Stern algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#ProcessBlock(byte[],
+                  int, int)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.Encrypt(Org.BouncyCastle.Math.BigInteger)">
+             Encrypts a BigInteger aka Plaintext with the public key.
+            
+             @param plain
+                        The BigInteger to encrypt
+             @return The byte[] representation of the encrypted BigInteger (i.e.
+                     crypted.toByteArray())
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.AddCryptedBlocks(System.Byte[],System.Byte[])">
+             Adds the contents of two encrypted blocks mod sigma
+            
+             @param block1
+                        the first encrypted block
+             @param block2
+                        the second encrypted block
+             @return encrypt((block1 + block2) mod sigma)
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.ProcessData(System.Byte[])">
+             Convenience Method for data exchange with the cipher.
+            
+             Determines blocksize and splits data to blocksize.
+            
+             @param data the data to be processed
+             @return the data after it went through the NaccacheSternEngine.
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.chineseRemainder(System.Collections.IList,System.Collections.IList)">
+             Computes the integer x that is expressed through the given primes and the
+             congruences with the chinese remainder theorem (CRT).
+            
+             @param congruences
+                        the congruences c_i
+             @param primes
+                        the primes p_i
+             @return an integer x for that x % p_i == c_i
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NoekeonEngine">
+            A Noekeon engine, using direct-key mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.#ctor">
+            Create an instance of the Noekeon encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NullEngine">
+            The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting.
+            Provided for the sake of completeness.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC2Engine">
+            an implementation of RC2 as described in RFC 2268
+                 "A Description of the RC2(r) Encryption Algorithm" R. Rivest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC2 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2Engine.RotateWordLeft(System.Int32,System.Int32)">
+            return the result rotating the 16 bit number in x left by y
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine">
+            Wrap keys according to RFC 3217 - RC2 mechanism
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.engine">
+            Field engine 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.parameters">
+            Field param 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.paramPlusIV">
+            Field paramPlusIV 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.iv">
+            Field iv 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.forWrapping">
+            Field forWrapping 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.IV2">
+            Field IV2           
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Method init
+            
+             @param forWrapping
+             @param param
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Wrap(System.Byte[],System.Int32,System.Int32)">
+             Method wrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Unwrap(System.Byte[],System.Int32,System.Int32)">
+             Method unwrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.CalculateCmsKeyChecksum(System.Byte[])">
+             Some key wrap algorithms make use of the Key Checksum defined
+             in CMS [CMS-Algorithms]. This is used to provide an integrity
+             check value for the key being wrapped. The algorithm is
+            
+             - Compute the 20 octet SHA-1 hash on the key being wrapped.
+             - Use the first 8 octets of this hash as the checksum value.
+            
+             @param key
+             @return
+             @throws Exception
+             @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.CheckCmsKeyChecksum(System.Byte[],System.Byte[])">
+            @param key
+            @param checksum
+            @return
+            @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.AlgorithmName">
+             Method GetAlgorithmName
+            
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC4Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC4 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC532Engine">
+            The specification for RC5 came from the <code>RC5 Encryption Algorithm</code>
+            publication in RSA CryptoBytes, Spring of 1995.
+            <em>http://www.rsasecurity.com/rsalabs/cryptobytes</em>.
+            <p>
+            This implementation has a word size of 32 bits.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.#ctor">
+            Create an instance of the RC5 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-32 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given block starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param  in     in byte buffer containing data to encrypt
+             @param  inOff  offset into src buffer
+             @param  out     out buffer where encrypted data is written
+             @param  outOff  offset into out buffer
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.RotateLeft(System.Int32,System.Int32)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(32)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % 32
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.RotateRight(System.Int32,System.Int32)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(32)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % 32
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC564Engine">
+            The specification for RC5 came from the <code>RC5 Encryption Algorithm</code>
+            publication in RSA CryptoBytes, Spring of 1995.
+            <em>http://www.rsasecurity.com/rsalabs/cryptobytes</em>.
+            <p>
+            This implementation is set to work with a 64 bit word size.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.#ctor">
+            Create an instance of the RC5 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-64 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given block starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param  in      in byte buffer containing data to encrypt
+             @param  inOff   offset into src buffer
+             @param  out     out buffer where encrypted data is written
+             @param  outOff  offset into out buffer
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.RotateLeft(System.Int64,System.Int64)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % wordSize
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.RotateRight(System.Int64,System.Int64)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC6Engine">
+            An RC6 engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.#ctor">
+            Create an instance of the RC6 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-32 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param inKey the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.RotateLeft(System.Int32,System.Int32)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.RotateRight(System.Int32,System.Int32)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Rfc3211WrapEngine">
+            an implementation of the RFC 3211 Key Wrap
+            Specification.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RijndaelEngine">
+            an implementation of Rijndael, based on the documentation and reference implementation
+            by Paulo Barreto, Vincent Rijmen, for v2.0 August '99.
+            <p>
+            Note: this implementation is based on information prior to readonly NIST publication.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Mul0x2(System.Int32)">
+            multiply two elements of GF(2^m)
+            needed for MixColumn and InvMixColumn
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.KeyAddition(System.Int64[])">
+            xor corresponding text input and round key input bytes
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.ShiftRow(System.Byte[])">
+            Row 0 remains unchanged
+            The other three rows are shifted a variable amount
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Substitution(System.Byte[])">
+            Replace every byte of the input by the byte at that place
+            in the nonlinear S-box
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.MixColumn">
+            Mix the bytes of every column in a linear way
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.InvMixColumn">
+            Mix the bytes of every column in a linear way
+            This is the opposite operation of Mixcolumn
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.GenerateWorkingKey(System.Byte[])">
+            Calculate the necessary round keys
+            The number of calculations depends on keyBits and blockBits
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.#ctor(System.Int32)">
+             basic constructor - set the cipher up for a given blocksize
+            
+             @param blocksize the blocksize in bits, must be 128, 192, or 256.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Rijndael cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine">
+            this does your basic RSA algorithm with blinding
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic RSA algorithm.
+            
+             @param inBuf the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine">
+            This does your basic RSA Chaum's blinding and unblinding as outlined in
+            "Handbook of Applied Cryptography", page 475. You need to use this if you are
+            trying to get another party to generate signatures without them being aware
+            of the message they are signing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the blinding engine.
+            
+             @param forEncryption true if we are encrypting (blinding), false otherwise.
+             @param param         the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the RSA blinding algorithm.
+            
+             @param in    the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @throws DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine">
+            this does your basic RSA algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaEngine">
+            this does your basic RSA algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic RSA algorithm.
+            
+             @param inBuf the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Salsa20Engine">
+            Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.Salsa20Engine.StateSize">
+            Constants 
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Salsa20Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Salsa20 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SeedEngine">
+            Implementation of the SEED algorithm as described in RFC 4009
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SeedWrapEngine">
+            <remarks>
+            An implementation of the SEED key wrapper based on RFC 4010/RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc4010.txt">http://www.ietf.org/rfc/rfc4010.txt</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SerpentEngine">
+                * Serpent is a 128-bit 32-round block cipher with variable key lengths,
+                * including 128, 192 and 256 bit keys conjectured to be at least as
+                * secure as three-key triple-DES.
+                * <p>
+                * Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a
+                * candidate algorithm for the NIST AES Quest.>
+            	* </p>
+                * <p>
+                * For full details see the <a href="http://www.cl.cam.ac.uk/~rja14/serpent.html">The Serpent home page</a>
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Serpent cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.MakeWorkingKey(System.Byte[])">
+             Expand a user-supplied key material into a session key.
+            
+             @param key  The user-key bytes (multiples of 4) to use.
+             @exception ArgumentException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt one block of plaintext.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt one block of ciphertext.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb0(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib0(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb1(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib1(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb2(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib2(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb3(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib3(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb4(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib4(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb5(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib5(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb6(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib6(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb7(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib7(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.LT">
+            Apply the linear transformation to the register set.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.InverseLT">
+            Apply the inverse of the linear transformation to the register set.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SkipjackEngine">
+            a class that provides a basic SKIPJACK engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a SKIPJACK cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.G(System.Int32,System.Int32)">
+            The G permutation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.H(System.Int32,System.Int32)">
+            the inverse of the G permutation.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.TeaEngine">
+            An TEA engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.#ctor">
+            Create an instance of the TEA encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.TwofishEngine">
+             A class that provides Twofish encryption operations.
+            
+             This Java implementation is based on the Java reference
+             implementation provided by Bruce Schneier and developed
+             by Raif S. Naffah.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.TwofishEngine.P_00">
+            Define the fixed p0/p1 permutations used in keyed S-box lookup.
+            By changing the following constant definitions, the S-boxes will
+            automatically Get changed in the Twofish engine.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.TwofishEngine.gSubKeys">
+            gSubKeys[] and gSBox[] are eventually used in the
+            encryption and decryption methods.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Twofish cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+             The input will be an exact multiple of our blocksize.
+            
+             encryptBlock uses the pre-calculated gSBox[] and subKey[]
+             arrays.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Decrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.RS_MDS_Encode(System.Int32,System.Int32)">
+             Use (12, 8) Reed-Solomon code over GF(256) to produce
+             a key S-box 32-bit entity from 2 key material 32-bit
+             entities.
+            
+             @param    k0 first 32-bit entity
+             @param    k1 second 32-bit entity
+             @return     Remainder polynomial Generated using RS code
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.RS_rem(System.Int32)">
+                    * Reed-Solomon code parameters: (12,8) reversible code:
+            		* <p>
+                    * <pre>
+                    * G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
+                    * </pre>
+                    * where a = primitive root of field generator 0x14D
+            		* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.VmpcEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            initialise a VMPC cipher.
+            
+            @param forEncryption
+               whether or not we are for encryption.
+            @param params
+               the parameters required to set up the cipher.
+            @exception ArgumentException
+               if the params argument is inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.XteaEngine">
+            An XTEA engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.#ctor">
+            Create an instance of the TEA encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator">
+            Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on ISO 18033/P1363a.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.#ctor(System.Int32,Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF Parameters generator.
+            
+             @param counterStart value of counter.
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.GenerateBytes(System.Byte[],System.Int32,System.Int32)">
+             fill len bytes of the output buffer with bytes generated from
+             the derivation function.
+            
+             @throws ArgumentException if the size of the request will cause an overflow.
+             @throws DataLengthException if the out buffer is too small.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.Digest">
+            return the underlying digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DesKeyGenerator.engineInit(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator - if strength is set to zero
+             the key generated will be 64 bits in size, otherwise
+             strength can be 64 or 56 bits (if you don't count the parity bits).
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DesEdeKeyGenerator.engineInit(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator - if strength is set to zero
+             the key Generated will be 192 bits in size, otherwise
+             strength can be 128 or 192 (or 112 or 168 if you don't count
+             parity bits), depending on whether you wish to do 2-key or 3-key
+             triple DES.
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DHBasicKeyPairGenerator">
+             a basic Diffie-Hellman key pair generator.
+            
+             This generates keys consistent for use with the basic algorithm for
+             Diffie-Hellman.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator">
+            interface that a public/private key pair generator should conform to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator.Init(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             intialise the key pair generator.
+            
+             @param the parameters the key pair is to be initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator.GenerateKeyPair">
+             return an AsymmetricCipherKeyPair containing the Generated keys.
+            
+             @return an AsymmetricCipherKeyPair containing the Generated keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DHKeyPairGenerator">
+             a Diffie-Hellman key pair generator.
+            
+             This generates keys consistent for use in the MTI/A0 key agreement protocol
+             as described in "Handbook of Applied Cryptography", Pages 516-519.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DHParametersGenerator.GenerateParameters">
+            which Generates the p and g values from the given parameters,
+            returning the DHParameters object.
+            <p>
+            Note: can take a while...</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DsaKeyPairGenerator">
+                 * a DSA key pair generator.
+                 *
+                 * This Generates DSA keys in line with the method described
+            	 * in <i>FIPS 186-3 B.1 FFC Key Pair Generation</i>.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator">
+            Generate suitable parameters for DSA, in line with FIPS 186-2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.Init(System.Int32,System.Int32,Org.BouncyCastle.Security.SecureRandom)">
+             initialise the key generator.
+            
+             @param size size of the key (range 2^512 -> 2^1024 - 64 bit increments)
+             @param certainty measure of robustness of prime (for FIPS 186-2 compliance this should be at least 80).
+             @param random random byte source.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.GenerateParameters">
+            which Generates the p and g values from the given parameters,
+            returning the DsaParameters object.
+            <p>
+            Note: can take a while...</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.GenerateParameters_FIPS186_3">
+            generate suitable parameters for DSA, in line with
+            <i>FIPS 186-3 A.1 Generation of the FFC Primes p and q</i>.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.ECKeyPairGenerator.GenerateKeyPair">
+            Given the domain parameters this routine Generates an EC key
+            pair in accordance with X9.62 section 5.2.1 pages 26, 27.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.ElGamalKeyPairGenerator">
+            a ElGamal key pair generator.
+            <p>
+            This Generates keys consistent for use with ElGamal as described in
+            page 164 of "Handbook of Applied Cryptography".</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.ElGamalParametersGenerator.GenerateParameters">
+                     * which Generates the p and g values from the given parameters,
+                     * returning the ElGamalParameters object.
+                     * <p>
+                     * Note: can take a while...
+            		 * </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Gost3410KeyPairGenerator">
+            a GOST3410 key pair generator.
+            This generates GOST3410 keys in line with the method described
+            in GOST R 34.10-94.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator">
+            generate suitable parameters for GOST3410.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.Init(System.Int32,System.Int32,Org.BouncyCastle.Security.SecureRandom)">
+             initialise the key generator.
+            
+             @param size size of the key
+             @param typeProcedure type procedure A,B = 1;  A',B' - else
+             @param random random byte source.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.procedure_C(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Procedure C
+            procedure generates the a value from the given p,q,
+            returning the a value.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.GenerateParameters">
+            which generates the p , q and a values from the given parameters,
+            returning the Gost3410Parameters object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Kdf1BytesGenerator">
+            KFD2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on IEEE P1363/ISO 18033.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Kdf1BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF1 byte generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Kdf2BytesGenerator">
+            KDF2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on IEEE P1363/ISO 18033.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Kdf2BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF2 bytes generator. Generates key material
+             according to IEEE P1363 or ISO 18033 depending on the initialisation.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator">
+            Generator for MGF1 as defined in Pkcs 1v2
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+            @param digest the digest to be used as the source of Generated bytes
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.ItoOSP(System.Int32,System.Byte[])">
+            int to octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.GenerateBytes(System.Byte[],System.Int32,System.Int32)">
+             fill len bytes of the output buffer with bytes Generated from
+             the derivation function.
+            
+             @throws DataLengthException if the out buffer is too small.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.Digest">
+            return the underlying digest.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator">
+             Key generation parameters for NaccacheStern cipher. For details on this cipher, please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator.permuteList(System.Collections.IList,Org.BouncyCastle.Security.SecureRandom)">
+             Generates a permuted ArrayList from the original one. The original List
+             is not modified
+            
+             @param arr
+                        the ArrayList to be permuted
+             @param rand
+                        the source of Randomness for permutation
+             @return a new ArrayList with the permuted elements.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator.findFirstPrimes(System.Int32)">
+             Finds the first 'count' primes starting with 3
+            
+             @param count
+                        the number of primes to find
+             @return a vector containing the found primes as Integer
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator">
+            Generator for PBE derived keys and ivs as usd by OpenSSL.
+            <p>
+            The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an
+            iteration count of 1.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.PbeParametersGenerator">
+            super class for all Password Based Encyrption (Pbe) parameter generator classes.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Init(System.Byte[],System.Byte[],System.Int32)">
+             initialise the Pbe generator.
+            
+             @param password the password converted into bytes (see below).
+             @param salt the salt to be mixed with the password.
+             @param iterationCount the number of iterations the "mixing" function
+             is to be applied for.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GetPassword">
+             return the password byte array.
+            
+             @return the password byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GetSalt">
+             return the salt byte array.
+            
+             @return the salt byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate derived parameters for a key of length keySize.
+            
+             @param keySize the length, in bits, of the key required.
+             @return a parameters object representing a key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate derived parameters for a key of length keySize, and
+             an initialisation vector (IV) of length ivSize.
+            
+             @param keySize the length, in bits, of the key required.
+             @param ivSize the length, in bits, of the iv required.
+             @return a parameters object representing a key and an IV.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate derived parameters for a key of length keySize, specifically
+             for use with a MAC.
+            
+             @param keySize the length, in bits, of the key required.
+             @return a parameters object representing a key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs5PasswordToBytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             Pkcs5 (ascii, no padding)
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs5PasswordToUtf8Bytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             PKCS5 (UTF-8, no padding)
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs12PasswordToBytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             Pkcs12 (unicode, big endian, 2 zero pad bytes at the end).
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.PbeParametersGenerator.IterationCount">
+             return the iteration count.
+            
+             @return the iteration count.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.#ctor">
+            Construct a OpenSSL Parameters generator. 
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.Init(System.Byte[],System.Byte[])">
+            Initialise - note the iteration count for this algorithm is fixed at 1.
+            
+            @param password password to use.
+            @param salt salt to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedKey(System.Int32)">
+            the derived key function, the ith hash of the password and the salt.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+             @exception ArgumentException if keySize + ivSize is larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 12 V1.0.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-12/index.html">
+            RSA's Pkcs12 Page</a>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a Pkcs 12 Parameters generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+             @exception ArgumentException if an unknown digest is passed in.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.Adjust(System.Byte[],System.Int32,System.Byte[])">
+            add a + b + 1, returning the result in a. The a value is treated
+            as a BigInteger of length (b.Length * 8) bits. The result is
+            modulo 2^b.Length in case of overflow.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedKey(System.Int32,System.Int32)">
+            generation of a derived key ala Pkcs12 V1.0.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 1.
+            Note this generator is limited to the size of the hash produced by the
+            digest used to drive it.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html">
+            RSA's Pkcs5 Page</a>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a Pkcs 5 Scheme 1 Parameters generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedKey">
+            the derived key function, the ith hash of the mPassword and the mSalt.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the mPassword, mSalt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the mPassword, mSalt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+             @exception ArgumentException if keySize + ivSize is larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the mPassword,
+             mSalt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 2.
+            This generator uses a SHA-1 HMac as the calculation function.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html">
+            RSA's Pkcs5 Page</a></p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.#ctor">
+            construct a Pkcs5 Scheme 2 Parameters generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator">
+            Generate a random factor suitable for use with RSA blind signatures
+            as outlined in Chaum's blinding and unblinding as outlined in
+            "Handbook of Applied Cryptography", page 475.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the factor generator
+            
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator.GenerateBlindingFactor">
+             Generate a suitable blind factor for the public key the generator was initialised with.
+            
+             @return a random blind factor
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.RsaKeyPairGenerator">
+            an RSA key pair generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDsa">
+            interface for classes implementing the Digital Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the signer for signature generation or signature
+             verification.
+            
+             @param forSigning true if we are generating a signature, false
+             otherwise.
+             @param param key parameters for signature generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.GenerateSignature(System.Byte[])">
+             sign the passed in message (usually the output of a hash function).
+            
+             @param message the message to be signed.
+             @return two big integers representing the r and s values respectively.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             verify the message message against the signature values r and s.
+            
+             @param message the message that was supposed to have been signed.
+             @param r the r signature value.
+             @param s the s signature value.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IMac">
+            The base interface for implementations of message authentication codes (MACs).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the MAC.
+            
+             @param param the key and other data required by the MAC.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.GetMacSize">
+             Return the block size for this MAC (in bytes).
+            
+             @return the block size for this MAC in bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Update(System.Byte)">
+             add a single byte to the mac for processing.
+            
+             @param in the byte to be processed.
+             @exception InvalidOperationException if the MAC is not initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            @param in the array containing the input.
+            @param inOff the index in the array the data begins at.
+            @param len the length of the input starting at inOff.
+            @exception InvalidOperationException if the MAC is not initialised.
+            @exception DataLengthException if there isn't enough data in in.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.DoFinal(System.Byte[],System.Int32)">
+            Compute the final stage of the MAC writing the output to the out
+            parameter.
+            <p>
+            doFinal leaves the MAC in the same state it was after the last init.
+            </p>
+            @param out the array the MAC is to be output to.
+            @param outOff the offset into the out buffer the output is to start at.
+            @exception DataLengthException if there isn't enough space in out.
+            @exception InvalidOperationException if the MAC is not initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Reset">
+            Reset the MAC. At the end of resetting the MAC should be in the
+            in the same state it was after the last init (if there was one).
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IMac.AlgorithmName">
+             Return the name of the algorithm the MAC implements.
+            
+             @return the name of the algorithm the MAC implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.InvalidCipherTextException">
+            this exception is thrown whenever we find something we don't expect in a
+            message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.InvalidCipherTextException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.InvalidCipherTextException.#ctor(System.String)">
+             create a InvalidCipherTextException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the signer for signing or verification.
+            
+             @param forSigning true if for signing, false otherwise
+             @param param necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described
+            in the passed in array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Reset">
+            reset the internal state
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.ISigner.AlgorithmName">
+             Return the name of the algorithm the signer implements.
+            
+             @return the name of the algorithm the signer implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.ISignerWithRecovery">
+            Signer with message recovery.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage">
+             Returns true if the signer has recovered the full message as
+             part of signature verification.
+            
+             @return true if full message recovered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage">
+             Returns a reference to what message was recovered (if any).
+            
+             @return full/partial message, null if nothing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.UpdateWithRecoveredMessage(System.Byte[])">
+             Perform an update with the recovered message before adding any other data. This must
+             be the first update method called, and calling it will result in the signer assuming
+             that further calls to update will include message content past what is recoverable.
+            
+             @param signature the signature that we are in the process of verifying.
+             @throws IllegalStateException
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.KeyGenerationParameters">
+            The base class for parameters to key generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.KeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32)">
+             initialise the generator with a source of randomness
+             and a strength (in bits).
+            
+             @param random the random byte source.
+             @param strength the size, in bits, of the keys we want to produce.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.KeyGenerationParameters.Random">
+             return the random source associated with this
+             generator.
+            
+             @return the generators random source.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.KeyGenerationParameters.Strength">
+             return the bit strength for keys produced by this generator,
+            
+             @return the strength of the keys this generator produces (in bits).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac">
+            standard CBC Block Cipher MAC - if no padding is specified the default of
+            pad of zeroes is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CBC block cipher. This will produce an
+             authentication code half the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a standard MAC based on a CBC block cipher. This will produce an
+             authentication code half the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher">
+            implements a Cipher-FeedBack (CFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CFB"
+             and the block size in bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CFB block cipher. This will produce an
+             authentication code half the length of the block size of the cipher, with
+             the CFB mode set to 8 bits.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a standard MAC based on a CFB block cipher. This will produce an
+             authentication code half the length of the block size of the cipher, with
+             the CFB mode set to 8 bits.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,System.Int32)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CFB mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param cfbBitSize the size of an output block produced by the CFB mode.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CFB mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param cfbBitSize the size of an output block produced by the CFB mode.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding a padding to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.CMac">
+            CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html
+            <p>
+            CMAC is analogous to OMAC1 - see also en.wikipedia.org/wiki/CMAC
+            </p><p>
+            CMAC is a NIST recomendation - see 
+            csrc.nist.gov/CryptoToolkit/modes/800-38_Series_Publications/SP800-38B.pdf
+            </p><p>
+            CMAC/OMAC1 is a blockcipher-based message authentication code designed and
+            analyzed by Tetsu Iwata and Kaoru Kurosawa.
+            </p><p>
+            CMAC/OMAC1 is a simple variant of the CBC MAC (Cipher Block Chaining Message 
+            Authentication Code). OMAC stands for One-Key CBC MAC.
+            </p><p>
+            It supports 128- or 64-bits block ciphers, with any key size, and returns
+            a MAC with dimension less or equal to the block size of the underlying 
+            cipher.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CBC block cipher (64 or 128 bit block).
+             This will produce an authentication code the length of the block size
+             of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             create a standard MAC based on a block cipher with the size of the
+             MAC been given in bits.
+             <p/>
+             Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+             or 16 bits if being used as a data authenticator (FIPS Publication 113),
+             and in general should be less than the size of the block cipher as it reduces
+             the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            
+             @param cipher        the cipher to be used as the basis of the MAC generation.
+             @param macSizeInBits the size of the MAC in bits, must be a multiple of 8 and @lt;= 128.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.Gost28147Mac">
+            implementation of GOST 28147-89 MAC
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.HMac">
+             HMAC implementation based on RFC2104
+            
+             H(K XOR opad, H(K XOR ipad, text))
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.HMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac">
+             DES based CBC Block Cipher MAC according to ISO9797, algorithm 3 (ANSI X9.19 Retail MAC)
+            
+             This could as well be derived from CBCBlockCipherMac, but then the property mac in the base
+             class must be changed to protected
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a Retail-MAC based on a CBC block cipher. This will produce an
+             authentication code of the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation. This must
+             be DESEngine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a Retail-MAC based on a CBC block cipher. This will produce an
+             authentication code of the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+            create a Retail-MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses single DES CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses single DES CBC mode as the basis for the
+            MAC generation. The final block is decrypted and then encrypted using the
+            middle and right part of the key.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.MaxBytesExceededException">
+            <summary>
+            This exception is thrown whenever a cipher requires a change of key, iv
+            or similar after x amount of bytes enciphered
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher">
+            implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of chaining.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.GetBlockSize">
+             return the block size of the underlying cipher.
+            
+             @return the block size of the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate chaining step for CBC mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate chaining step for CBC mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the decrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CBC".
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher">
+                * Implements the Counter with Cipher Block Chaining mode (CCM) detailed in
+                * NIST Special Publication 800-38C.
+                * <p>
+                * <b>Note</b>: this mode is a packet mode - it needs all the data up front.
+            	* </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher">
+            <summary>
+            A block cipher mode that includes authenticated encryption with a streaming mode
+            and optional associated data.</summary>
+            <see cref="T:Org.BouncyCastle.Crypto.Parameters.AeadParameters"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <remarks>Parameter can either be an AeadParameters or a ParametersWithIV object.</remarks>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetBlockSize">
+            <returns>The block size for this cipher, in bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             Encrypt/decrypt a single byte.
+            
+             @param input the byte to be processed.
+             @param outBytes the output buffer the processed byte goes into.
+             @param outOff the offset into the output byte array the processed data starts at.
+             @return the number of bytes written to out.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             Process a block of bytes from in putting the result into out.
+            
+             @param inBytes the input byte array.
+             @param inOff the offset into the in array where the data to be processed starts.
+             @param len the number of bytes to be processed.
+             @param outBytes the output buffer the processed bytes go into.
+             @param outOff the offset into the output byte array the processed data starts at.
+             @return the number of bytes written to out.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Finish the operation either appending or verifying the MAC at the end of the data.
+            
+             @param outBytes space for any resulting output data.
+             @param outOff offset into out to start copying the data at.
+             @return number of bytes written into out.
+             @throws InvalidOperationException if the cipher is in an inappropriate state.
+             @throws InvalidCipherTextException if the MAC fails to match.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetMac">
+             Return the value of the MAC associated with the last stream processed.
+            
+             @return MAC for plaintext data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetUpdateOutputSize(System.Int32)">
+             Return the size of the output buffer required for a ProcessBytes
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to ProcessBytes
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetOutputSize(System.Int32)">
+             Return the size of the output buffer required for a ProcessBytes plus a
+             DoFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to ProcessBytes and DoFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.GetMac">
+             Returns a byte array containing the mac calculated as part of the
+             last encrypt or decrypt operation.
+            
+             @return the last mac calculated.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher">
+            implements a Cipher-FeedBack (CFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CFB"
+             and the block size in bits.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher">
+            A Cipher Text Stealing (CTS) mode cipher. CTS allows block ciphers to
+            be used to produce cipher text which is the same outLength as the plain text.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher that uses Cipher Text Stealing
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update of 'length' bytes.
+            
+             @param length the outLength of the input.
+             @return the space required to accommodate a call to update
+             with length bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of length bytes.
+            
+             @param length the outLength of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with length bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param length the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if cipher text decrypts wrongly (in
+             case the exception will never Get thrown).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.EaxBlockCipher">
+            A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and 
+            Efficiency - by M. Bellare, P. Rogaway, D. Wagner.
+            
+            http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf
+            
+            EAX is an AEAD scheme based on CTR and OMAC1/CMAC, that uses a single block 
+            cipher to encrypt and authenticate data. It's on-line (the length of a 
+            message isn't needed to begin processing it), has good performances, it's
+            simple and provably secure (provided the underlying block cipher is secure).
+            
+            Of course, this implementations is NOT thread-safe.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.EaxBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Constructor that accepts an instance of a block cipher engine.
+            
+             @param cipher the engine to use
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.GcmBlockCipher">
+            <summary>
+            Implements the Galois/Counter mode (GCM) detailed in
+            NIST Special Publication 800-38D.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher">
+            implements the GOST 28147 OFB counter mode (GCTR).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             counter mode (must have a 64 bit block size).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param encrypting if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param parameters the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.GetBlockSize">
+             return the block size we are operating at (in bytes).
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.Reset">
+            reset the feedback vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/GCTR"
+             and the block size in bits
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher">
+            implements a Output-FeedBack (OFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.GetBlockSize">
+             return the block size we are operating at (in bytes).
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.Reset">
+            reset the feedback vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/OFB"
+             and the block size in bits
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher">
+                * Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode
+                * on top of a simple cipher. This class assumes the IV has been prepended
+                * to the data stream already, and just accomodates the reset after
+                * (blockSize + 2) bytes have been read.
+                * <p>
+                * For further info see <a href="http://www.ietf.org/rfc/rfc2440.html">RFC 2440</a>.
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param parameters the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.EncryptByte(System.Byte,System.Int32)">
+            Encrypt one byte of data according to CFB mode.
+            @param data the byte to encrypt
+            @param blockOff offset in the current block
+            @returns the encrypted byte
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB IV mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB IV mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/PGPCFB"
+             and the block size in bits.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.SicBlockCipher">
+            Implements the Segmented Integer Counter (SIC) mode on top of a simple
+            block cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.SicBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param c the block cipher to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.SicBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding">
+            Block cipher padders are expected to conform to this interface
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param param parameters, if any required.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+            @exception InvalidCipherTextException if the padding is badly formed
+            or invalid.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding">
+            A padder that adds ISO10126-2 padding to a block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding">
+            A padder that adds the padding according to the scheme referenced in
+            ISO 7814-4 - scheme 2 from ISO 9797-1. The first byte is 0x80, rest is 0x00
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random - a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.PaddingName">
+             Return the name of the algorithm the padder implements.
+            
+             @return the name of the algorithm the padder implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher">
+            A wrapper class that allows block ciphers to be used to process data in
+            a piecemeal fashion with padding. The PaddedBufferedBlockCipher
+            outputs a block only when the buffer is full and more data is being added,
+            or on a doFinal (unless the current block in the buffer is a pad block).
+            The default padding mechanism used is the one outlined in Pkcs5/Pkcs7.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             Create a buffered block cipher with the desired padding.
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+             @param padding the padding type.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher Pkcs7 padding
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.GetOutputSize(System.Int32)">
+             return the minimum size of the output buffer required for an update
+             plus a doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer. If the buffer is currently
+             full and padding needs to be added a call to doFinal will produce
+             2 * GetBlockSize() bytes.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output or we are decrypting and the input is not block size aligned.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding">
+            A padder that adds Pkcs7/Pkcs5 padding to a block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random - a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.TbcPadding">
+            <summary> A padder that adds Trailing-Bit-Compliment padding to a block.
+            <p>
+            This padding pads the block out compliment of the last bit
+            of the plain text.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+            <summary> Initialise the padder.</summary>
+            <param name="random">- a SecureRandom if available.
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.AddPadding(System.Byte[],System.Int32)">
+            <summary> add the pad bytes to the passed in block, returning the
+            number of bytes added.
+            <p>
+            Note: this assumes that the last block of plain text is always
+            passed to it inside in. i.e. if inOff is zero, indicating the
+            entire block is to be overwritten with padding the value of in
+            should be the same as the last block of plain text.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.PadCount(System.Byte[])">
+            <summary> return the number of pad bytes present in the block.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.TbcPadding.PaddingName">
+            <summary> Return the name of the algorithm the cipher implements.</summary>
+            <returns> the name of the algorithm the cipher implements.
+            </returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.X923Padding">
+            A padder that adds X9.23 padding to a block - if a SecureRandom is
+            passed in random padding is assumed, otherwise padding with zeros is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random a SecureRandom if one is available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.X923Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding">
+            <summary> A padder that adds Null byte padding to a block.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             <summary> Initialise the padder.
+            
+             </summary>
+             <param name="random">- a SecureRandom if available.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.AddPadding(System.Byte[],System.Int32)">
+            <summary> add the pad bytes to the passed in block, returning the
+            number of bytes added.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.PadCount(System.Byte[])">
+            <summary> return the number of pad bytes present in the block.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.PaddingName">
+             <summary> Return the name of the algorithm the cipher implements.
+            
+             </summary>
+             <returns> the name of the algorithm the cipher implements.
+             </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.AeadParameters.#ctor(Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Int32,System.Byte[],System.Byte[])">
+             Base constructor.
+            
+             @param key key to be used by underlying cipher
+             @param macSize macSize in bits
+             @param nonce nonce to be used
+             @param associatedText associated text, if any
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.CcmParameters.#ctor(Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Int32,System.Byte[],System.Byte[])">
+            Base constructor.
+            
+            @param key key to be used by underlying cipher
+            @param macSize macSize in bits
+            @param nonce nonce to be used
+            @param associatedText associated text, if any
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesParameters.IsWeakKey(System.Byte[],System.Int32)">
+            DES has 16 weak keys.  This method will check
+            if the given DES key material is weak or semi-weak.
+            Key material that is too short is regarded as weak.
+            <p>
+            See <a href="http://www.counterpane.com/applied.html">"Applied
+            Cryptography"</a> by Bruce Schneier for more information.
+            </p>
+            @return true if the given DES key material is weak or semi-weak,
+                false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesParameters.SetOddParity(System.Byte[])">
+             DES Keys use the LSB as the odd parity bit.  This can
+             be used to check for corrupt keys.
+            
+             @param bytes the byte array to set the parity on.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesEdeParameters.IsWeakKey(System.Byte[],System.Int32,System.Int32)">
+             return true if the passed in key is a DES-EDE weak key.
+            
+             @param key bytes making up the key
+             @param offset offset into the byte array the key starts at
+             @param length number of bytes making up the key
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesEdeParameters.IsWeakKey(System.Byte[],System.Int32)">
+             return true if the passed in key is a DES-EDE weak key.
+            
+             @param key bytes making up the key
+             @param offset offset into the byte array the key starts at
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.DHParameters.M">
+            <summary>The minimum bitlength of the private value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.DHParameters.L">
+            <summary>The bitlength of the private value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.ElGamalParameters.G">
+            return the generator - g
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.ElGamalParameters.L">
+            return private value limit - l
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.IesParameters">
+            parameters for using an integrated cipher in stream mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.IesParameters.#ctor(System.Byte[],System.Byte[],System.Int32)">
+            @param derivation the derivation parameter for the KDF function.
+            @param encoding the encoding parameter for the KDF function.
+            @param macKeySize the size of the MAC key (in bits).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.IesWithCipherParameters.#ctor(System.Byte[],System.Byte[],System.Int32,System.Int32)">
+            @param derivation the derivation parameter for the KDF function.
+            @param encoding the encoding parameter for the KDF function.
+            @param macKeySize the size of the MAC key (in bits).
+            @param cipherKeySize the size of the associated Cipher key (in bits).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.Iso18033KdfParameters">
+            parameters for Key derivation functions for ISO-18033
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.KdfParameters">
+            parameters for Key derivation functions for IEEE P1363a
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.MgfParameters">
+            <remarks>Parameters for mask derivation functions.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters">
+             Parameters for NaccacheStern public private key generation. For details on
+             this cipher, please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32,System.Int32,System.Int32)">
+             Parameters for generating a NaccacheStern KeyPair.
+            
+             @param random
+                        The source of randomness
+             @param strength
+                        The desired strength of the Key in Bits
+             @param certainty
+                        the probability that the generated primes are not really prime
+                        as integer: 2^(-certainty) is then the probability
+             @param countSmallPrimes
+                        How many small key factors are desired
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32,System.Int32,System.Int32,System.Boolean)">
+             Parameters for a NaccacheStern KeyPair.
+            
+             @param random
+                        The source of randomness
+             @param strength
+                        The desired strength of the Key in Bits
+             @param certainty
+                        the probability that the generated primes are not really prime
+                        as integer: 2^(-certainty) is then the probability
+             @param cntSmallPrimes
+                        How many small key factors are desired
+             @param debug
+                        Turn debugging on or off (reveals secret information, use with
+                        caution)
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.Certainty">
+            @return Returns the certainty.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.CountSmallPrimes">
+            @return Returns the countSmallPrimes.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters">
+             Public key parameters for NaccacheStern cipher. For details on this cipher,
+             please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.#ctor(System.Boolean,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            @param privateKey
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.G">
+            @return Returns the g.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.LowerSigmaBound">
+            @return Returns the lowerSigmaBound.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.Modulus">
+            @return Returns the n.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternPrivateKeyParameters">
+             Private key parameters for NaccacheStern cipher. For details on this cipher,
+             please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternPrivateKeyParameters.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.Int32,System.Collections.IList,Org.BouncyCastle.Math.BigInteger)">
+             Constructs a NaccacheSternPrivateKey
+            
+             @param g
+                        the public enryption parameter g
+             @param n
+                        the public modulus n = p*q
+             @param lowerSigmaBound
+                        the public lower sigma bound up to which data can be encrypted
+             @param smallPrimes
+                        the small primes, of which sigma is constructed in the right
+                        order
+             @param phi_n
+                        the private modulus phi(n) = (p-1)(q-1)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.ParametersWithSalt">
+            <summary> Cipher parameters with a fixed salt value associated with them.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.DigestRandomGenerator">
+            Random generation based on the digest with counter. Calling AddSeedMaterial will
+            always increase the entropy of the hash.
+            <p>
+            Internal access to the digest is synchronized so a single one of these can be shared.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.IRandomGenerator">
+            <remarks>Generic interface for objects generating random bytes.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.AddSeedMaterial(System.Byte[])">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A byte array to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.AddSeedMaterial(System.Int64)">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A long value to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.NextBytes(System.Byte[])">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to be filled.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.NextBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to receive bytes.</param>
+            <param name="start">Index to start filling at.</param>
+            <param name="len">Length of segment to fill.</param>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator">
+            <remarks>
+            Takes bytes generated by an underling RandomGenerator and reverses the order in
+            each small window (of configurable size).
+            <p>
+            Access to internals is synchronized so a single one of these can be shared.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.AddSeedMaterial(System.Byte[])">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A byte array to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.AddSeedMaterial(System.Int64)">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A long value to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.NextBytes(System.Byte[])">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to be filled.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.NextBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to receive bytes.</param>
+            <param name="start">Index to start filling at.</param>
+            <param name="len">Length of segment to fill.</param>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.ThreadedSeedGenerator">
+            A thread based seed generator - one source of randomness.
+            <p>
+            Based on an idea from Marcus Lippert.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ThreadedSeedGenerator.GenerateSeed(System.Int32,System.Boolean)">
+            Generate seed bytes. Set fast to false for best quality.
+            <p>
+            If fast is set to true, the code should be round about 8 times faster when
+            generating a long sequence of random bytes. 20 bytes of random values using
+            the fast mode take less than half a second on a Nokia e70. If fast is set to false,
+            it takes round about 2500 ms.
+            </p>
+            @param numBytes the number of bytes to generate
+            @param fast true if fast mode should be used
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Prng.VmpcRandomGenerator.P">
+            <remarks>
+            Permutation generated by code:
+            <code>
+            // First 1850 fractional digit of Pi number. 
+            byte[] key = new BigInteger("14159265358979323846...5068006422512520511").ToByteArray();
+            s = 0;
+            P = new byte[256];
+            for (int i = 0; i &lt; 256; i++) 
+            {
+                P[i] = (byte) i;
+            }
+            for (int m = 0; m &lt; 768; m++) 
+            {
+                s = P[(s + P[m &amp; 0xff] + key[m % key.length]) &amp; 0xff];
+                byte temp = P[m &amp; 0xff];
+                P[m &amp; 0xff] = P[s &amp; 0xff];
+                P[s &amp; 0xff] = temp;
+            } </code>
+            </remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Prng.VmpcRandomGenerator.s">
+            <remarks>Value generated in the same way as <c>P</c>.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.VerifySignature(System.Byte[])">
+            <returns>true if the internal state represents the signature described in the passed in array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.Reset">
+            <summary>Reset the internal state</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.DsaSigner">
+            The Digital Signature Algorithm - as described in "Handbook of Applied
+            Cryptography", pages 452 - 453.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaSigner.GenerateSignature(System.Byte[])">
+             Generate a signature for the given message using the key we were
+             initialised with. For conventional DSA the message should be a SHA-1
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a DSA signature for
+            the passed in message for standard DSA the message should be a
+            SHA-1 hash of the real message to be verified.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECDsaSigner">
+            EC-DSA as described in X9.62
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECDsaSigner.GenerateSignature(System.Byte[])">
+             Generate a signature for the given message using the key we were
+             initialised with. For conventional DSA the message should be a SHA-1
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECDsaSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a DSA signature for
+            the passed in message (for standard DSA the message should be
+            a SHA-1 hash of the real message to be verified).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer">
+            GOST R 34.10-2001 Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with. For conventional GOST3410 the message should be a GOST3411
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a GOST3410 signature for
+            the passed in message (for standard GOST3410 the message should be
+            a GOST3411 hash of the real message to be verified).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECNRSigner">
+            EC-NR as described in IEEE 1363-2000
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECNRSigner.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with.  Generally, the order of the curve should be at
+             least as long as the hash of the message of interest, and with
+             ECNR it *must* be at least as long.
+            
+             @param digest  the digest to be signed.
+             @exception DataLengthException if the digest is longer than the key allows
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECNRSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             return true if the value r and s represent a signature for the
+             message passed in. Generally, the order of the curve should be at
+             least as long as the hash of the message of interest, and with
+             ECNR, it *must* be at least as long.  But just in case the signer
+             applied mod(n) to the longer digest, this implementation will
+             apply mod(n) during verification.
+            
+             @param digest  the digest to be verified.
+             @param r       the r value of the signature.
+             @param s       the s value of the signature.
+             @exception DataLengthException if the digest is longer than the key allows
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the signer for signing or verification.
+            
+             @param forSigning
+                        true if for signing, false otherwise
+             @param parameters
+                        necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using the key
+            we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described in
+            the passed in array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.VerifySignature(System.Byte[])">
+            <returns>true if the internal state represents the signature described in the passed in array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.Reset">
+            <summary>Reset the internal state</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Gost3410Signer">
+            Gost R 34.10-94 Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410Signer.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with. For conventional Gost3410 the message should be a Gost3411
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410Signer.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a Gost3410 signature for
+            the passed in message for standard Gost3410 the message should be a
+            Gost3411 hash of the real message to be verified.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner">
+            <summary> ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3).
+            <p>
+            Note: the usual length for the salt is the length of the hash
+            function used in bytes.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.GetRecoveredMessage">
+            <summary>
+            Return a reference to the recoveredMessage message.
+            </summary>
+            <returns>The full/partial recoveredMessage message.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Boolean)">
+            <summary>
+            Generate a signer for the with either implicit or explicit trailers
+            for ISO9796-2, scheme 2 or 3.
+            </summary>
+            <param name="cipher">base cipher to use for signature creation/verification</param>
+            <param name="digest">digest to use.</param>
+            <param name="saltLength">length of salt in bytes.</param>
+            <param name="isImplicit">whether or not the trailer is implicit or gives the hash.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+             <summary> Constructor for a signer with an explicit digest trailer.
+            
+             </summary>
+             <param name="cipher">cipher to use.
+             </param>
+             <param name="digest">digest to sign with.
+             </param>
+             <param name="saltLength">length of salt in bytes.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the signer.</summary>
+            <param name="forSigning">true if for signing, false if for verification.</param>
+            <param name="parameters">parameters for signature generation/verification. If the
+            parameters are for generation they should be a ParametersWithRandom,
+            a ParametersWithSalt, or just an RsaKeyParameters object. If RsaKeyParameters
+            are passed in a SecureRandom will be created.
+            </param>
+            <exception cref="T:System.ArgumentException">if wrong parameter type or a fixed
+            salt is passed in which is the wrong length.
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.IsSameAs(System.Byte[],System.Byte[])">
+            <summary> compare two byte arrays - constant time.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.GenerateSignature">
+            <summary> Generate a signature for the loaded message using the key we were
+            initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.VerifySignature(System.Byte[])">
+            <summary> return true if the signature represents a ISO9796-2 signature
+            for the passed in message.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.HasFullMessage">
+            <summary>
+            Return true if the full message was recoveredMessage.
+            </summary>
+            <returns>true on full message recovery, false otherwise, or if not sure.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.ItoOSP(System.Int32,System.Byte[])">
+            <summary> int to octet string.</summary>
+            <summary> int to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.LtoOSP(System.Int64,System.Byte[])">
+            <summary> long to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.MaskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary> mask generator function, as described in Pkcs1v2.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer">
+            <summary> ISO9796-2 - mechanism using a hash function with recovery (scheme 1)</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.GetRecoveredMessage">
+            <summary>
+            Return a reference to the recoveredMessage message.
+            </summary>
+            <returns>The full/partial recoveredMessage message.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Boolean)">
+            <summary>
+            Generate a signer for the with either implicit or explicit trailers
+            for ISO9796-2.
+            </summary>
+            <param name="cipher">base cipher to use for signature creation/verification</param>
+            <param name="digest">digest to use.</param>
+            <param name="isImplicit">whether or not the trailer is implicit or gives the hash.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest)">
+             <summary> Constructor for a signer with an explicit digest trailer.
+            
+             </summary>
+             <param name="cipher">cipher to use.
+             </param>
+             <param name="digest">digest to sign with.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.IsSameAs(System.Byte[],System.Byte[])">
+            <summary> compare two byte arrays - constant time.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.GenerateSignature">
+            <summary> Generate a signature for the loaded message using the key we were
+            initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.VerifySignature(System.Byte[])">
+            <summary> return true if the signature represents a ISO9796-2 signature
+            for the passed in message.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.HasFullMessage">
+            <summary>
+            Return true if the full message was recoveredMessage.
+            </summary>
+            <returns> true on full message recovery, false otherwise.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.PssSigner">
+            <summary> RSA-PSS as described in Pkcs# 1 v 2.1.
+            <p>
+            Note: the usual value for the salt length is the number of
+            bytes in the hash function.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+            <summary>Basic constructor</summary>
+            <param name="cipher">the asymmetric cipher to use.</param>
+            <param name="digest">the digest to use.</param>
+            <param name="saltLen">the length of the salt to use (in bytes).</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.GenerateSignature">
+            <summary> Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.VerifySignature(System.Byte[])">
+            <summary> return true if the internal state represents the signature described
+            in the passed in array.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.ItoOSP(System.Int32,System.Byte[])">
+            <summary> int to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.MaskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary> mask generator function, as described in Pkcs1v2.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.#cctor">
+            <summary>
+            Load oid table.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the signer for signing or verification.
+            
+             @param forSigning true if for signing, false otherwise
+             @param param necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described
+            in the passed in array.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.StreamBlockCipher">
+            a wrapper for block ciphers with a single byte block size, so that they
+            can be treated like stream ciphers.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             basic constructor.
+            
+             @param cipher the block cipher to be wrapped.
+             @exception ArgumentException if the cipher has a block size other than
+             one.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the underlying cipher.
+            
+             @param forEncryption true if we are setting up for encryption, false otherwise.
+             @param param the necessary parameters for the underlying cipher to be initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.ReturnByte(System.Byte)">
+             encrypt/decrypt a single byte returning the result.
+            
+             @param in the byte to be processed.
+             @return the result of processing the input byte.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process a block of bytes from in putting the result into out.
+            
+             @param in the input byte array.
+             @param inOff the offset into the in array where the data to be processed starts.
+             @param len the number of bytes to be processed.
+             @param out the output buffer the processed bytes go into.
+             @param outOff the offset into the output byte array the processed data stars at.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.Reset">
+            reset the underlying cipher. This leaves it in the same state
+            it was at after the last init (if there was one).
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.StreamBlockCipher.AlgorithmName">
+             return the name of the algorithm we are wrapping.
+            
+             @return the name of the algorithm we are wrapping.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlertDescription">
+            <summary>
+            RFC 2246 7.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlertLevel">
+            <summary>
+            RFC 2246 7.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlwaysValidVerifyer">
+            <remarks>
+            A certificate verifyer, that will always return true.
+            <pre>
+            DO NOT USE THIS FILE UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING.
+            </pre>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer">
+            <remarks>
+            This should be implemented by any class which can find out, if a given
+            certificate chain is being accepted by an client.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer.IsValid(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+            <param name="certs">The certs, which are part of the chain.</param>
+            <returns>True, if the chain is accepted, false otherwise</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.AlwaysValidVerifyer.IsValid(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+            <summary>Return true.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ByteQueue">
+            <remarks>
+            A queue for bytes.
+            <p>
+            This file could be more optimized.
+            </p>
+            </remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.InitBufSize">
+            The initial size for our buffer.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.NextTwoPow(System.Int32)">
+            <returns>The smallest number which can be written as 2^x which is bigger than i.</returns>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.databuf">
+            The buffer where we store our data.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.skipped">
+            How many bytes at the beginning of the buffer are skipped.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.available">
+            How many bytes in the buffer are valid data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.Read(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>Read data from the buffer.</summary>
+            <param name="buf">The buffer where the read data will be copied to.</param>
+            <param name="offset">How many bytes to skip at the beginning of buf.</param>
+            <param name="len">How many bytes to read at all.</param>
+            <param name="skip">How many bytes from our data to skip.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.AddData(System.Byte[],System.Int32,System.Int32)">
+            <summary>Add some data to our buffer.</summary>
+            <param name="data">A byte-array to read data from.</param>
+            <param name="offset">How many bytes to skip at the beginning of the array.</param>
+            <param name="len">How many bytes to read from the array.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.RemoveData(System.Int32)">
+            <summary>Remove some bytes from our data from the beginning.</summary>
+            <param name="i">How many bytes to remove.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.ByteQueue.Available">
+            <summary>The number of bytes which are available in this buffer.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.Certificate">
+            A representation for a certificate chain.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.Certificate.certs">
+            The certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.Parse(System.IO.Stream)">
+             Parse the ServerCertificate message.
+            
+             @param inStr The stream where to parse from.
+             @return A Certificate object with the certs, the server has sended.
+             @throws IOException If something goes wrong during parsing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.Encode(System.IO.Stream)">
+             Encodes version of the ClientCertificate message
+            
+             @param outStr stream to write the message to
+             @throws IOException If something goes wrong
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+             Private constructor from a cert array.
+            
+             @param certs The certs the chain should contain.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.GetCerts">
+            <returns>An array which contains the certs, this chain contains.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.CertificateRequest.CertificateAuthorities">
+            <returns>A <see cref="T:System.Collections.IList"/> of X509Name</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CipherSuite">
+            <summary>
+            RFC 2246 A.5
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ClientCertificateType">
+            <summary>
+            RFC 2246 7.4.4
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CombinedHash">
+            <remarks>A combined hash, which implements md5(m) || sha1(m).</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.GetByteLength">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.GetByteLength"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.GetDigestSize">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.GetDigestSize"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.Update(System.Byte)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.Update(System.Byte)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.BlockUpdate(System.Byte[],System.Int32,System.Int32)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.DoFinal(System.Byte[],System.Int32)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.DoFinal(System.Byte[],System.Int32)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.Reset">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.Reset"/>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.CombinedHash.AlgorithmName">
+            <seealso cref="P:Org.BouncyCastle.Crypto.IDigest.AlgorithmName"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod">
+            <summary>
+            RFC 2246 6.1
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ContentType">
+            <summary>
+            RFC 2246 6.2.1
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAgreementCredentials.GenerateAgreement(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipherFactory.CreateCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,Org.BouncyCastle.Crypto.Tls.EncryptionAlgorithm,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateAesCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,System.Int32,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateDesEdeCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,System.Int32,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateDigest(Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.Init(Org.BouncyCastle.Crypto.Tls.TlsClientContext)">
+            <summary>
+            Called at the start of a new TLS session, before any other methods.
+            </summary>
+            <param name="context">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipherSuites">
+            <summary>
+            Get the list of cipher suites that this client supports.
+            </summary>
+            <returns>
+            An array of <see cref="T:Org.BouncyCastle.Crypto.Tls.CipherSuite"/>, each specifying a supported cipher suite.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompressionMethods">
+            <summary>
+            Get the list of compression methods that this client supports.
+            </summary>
+            <returns>
+            An array of <see cref="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod"/>, each specifying a supported compression method.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetClientExtensions">
+            <summary>
+            Get the (optional) table of client extensions to be included in (extended) client hello.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.IDictionary"/> (<see cref="T:Org.BouncyCastle.Crypto.Tls.ExtensionType"/> -&gt; byte[]). May be null.
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySessionID(System.Byte[])">
+            <summary>
+            Reports the session ID once it has been determined.
+            </summary>
+            <param name="sessionID">
+            A <see cref="T:System.Byte"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySelectedCipherSuite(Org.BouncyCastle.Crypto.Tls.CipherSuite)">
+            <summary>
+            Report the cipher suite that was selected by the server.
+            </summary>
+            <remarks>
+            The protocol handler validates this value against the offered cipher suites
+            <seealso cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipherSuites"/>
+            </remarks>
+            <param name="selectedCipherSuite">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CipherSuite"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySelectedCompressionMethod(Org.BouncyCastle.Crypto.Tls.CompressionMethod)">
+            <summary>
+            Report the compression method that was selected by the server.
+            </summary>
+            <remarks>
+            The protocol handler validates this value against the offered compression methods
+            <seealso cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompressionMethods"/>
+            </remarks>
+            <param name="selectedCompressionMethod">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySecureRenegotiation(System.Boolean)">
+            <summary>
+            Report whether the server supports secure renegotiation
+            </summary>
+            <remarks>
+            The protocol handler automatically processes the relevant extensions
+            </remarks>
+            <param name="secureRenegotiation">
+            A <see cref="T:System.Boolean"/>, true if the server supports secure renegotiation
+            </param>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.ProcessServerExtensions(System.Collections.IDictionary)">
+            <summary>
+            Report the extensions from an extended server hello.
+            </summary>
+            <remarks>
+            Will only be called if we returned a non-null result from <see cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetClientExtensions"/>.
+            </remarks>
+            <param name="serverExtensions">
+            A <see cref="T:System.Collections.IDictionary"/>  (<see cref="T:Org.BouncyCastle.Crypto.Tls.ExtensionType"/> -&gt; byte[])
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetKeyExchange">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange"/> to negotiate the key exchange
+            part of the protocol.
+            </summary>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetAuthentication">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsAuthentication"/> to handle authentication
+            part of the protocol.
+            </summary>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompression">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCompression"/> to handle record compression.
+            </summary>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipher">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCipher"/> to use for encryption/decryption.
+            </summary>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCipher"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsSignerCredentials.GenerateCertificateSignature(System.Byte[])">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ECCurveType">
+            <summary>
+            RFC 4492 5.4
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.explicit_prime">
+            Indicates the elliptic curve domain parameters are conveyed verbosely, and the
+            underlying finite field is a prime field.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.explicit_char2">
+            Indicates the elliptic curve domain parameters are conveyed verbosely, and the
+            underlying finite field is a characteristic-2 field.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.named_curve">
+            Indicates that a named curve is used. This option SHOULD be used when applicable.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ECPointFormat">
+            <summary>
+            RFC 4492 5.1.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ExtensionType">
+            <summary>
+            RFC 4366 2.3
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.HandshakeType">
+            <summary>
+            RFC 2246 7.4
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.LegacyTlsAuthentication">
+            <summary>
+            A temporary class to wrap old CertificateVerifyer stuff for new TlsAuthentication.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAuthentication.NotifyServerCertificate(Org.BouncyCastle.Crypto.Tls.Certificate)">
+            <summary>
+            Called by the protocol handler to report the server certificate.
+            </summary>
+            <remarks>
+            This method is responsible for certificate verification and validation
+            </remarks>
+            <param name="serverCertificate">The server <see cref="T:Org.BouncyCastle.Crypto.Tls.Certificate"/> received</param>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAuthentication.GetClientCredentials(Org.BouncyCastle.Crypto.Tls.CertificateRequest)">
+            <summary>
+            Return client credentials in response to server's certificate request
+            </summary>
+            <param name="certificateRequest">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CertificateRequest"/> containing server certificate request details
+            </param>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCredentials"/> to be used for client authentication
+            (or <c>null</c> for no client authentication)
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.LegacyTlsClient">
+            <summary>
+            A temporary class to use LegacyTlsAuthentication 
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.NamedCurve">
+            <summary>
+            RFC 4492 5.1.1
+            The named curves defined here are those specified in SEC 2 [13]. Note that many of
+            these curves are also recommended in ANSI X9.62 [7] and FIPS 186-2 [11]. Values 0xFE00
+            through 0xFEFF are reserved for private use. Values 0xFF01 and 0xFF02 indicate that the
+            client supports arbitrary prime and characteristic-2 curves, respectively (the curve
+            parameters must be encoded explicitly in ECParameters).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.RecordStream">
+            <remarks>An implementation of the TLS 1.0 record layer.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.Ssl3Mac">
+            HMAC implementation based on original internet draft for HMAC (RFC 2104)
+            
+            The difference is that padding is concatentated versus XORed with the key
+            
+            H(K + opad, H(K + ipad, text))
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Ssl3Mac.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+            Base constructor for one of the standard digest algorithms that the byteLength of
+            the algorithm is know for. Behaviour is undefined for digests other than MD5 or SHA1.
+            
+            @param digest the digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Ssl3Mac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsBlockCipher">
+            <summary>
+            A generic TLS 1.0 block cipher. This can be used for AES or 3DES for example.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipher.EncodePlaintext(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipher.DecodeCiphertext(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsDHKeyExchange">
+            <summary>
+            TLS 1.0 DH key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange">
+            <summary>
+            A generic interface for key exchange implementations in TLS 1.0.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipServerCertificate">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessServerCertificate(Org.BouncyCastle.Crypto.Tls.Certificate)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipServerKeyExchange">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessServerKeyExchange(System.IO.Stream)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ValidateCertificateRequest(Org.BouncyCastle.Crypto.Tls.CertificateRequest)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipClientCredentials">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessClientCredentials(Org.BouncyCastle.Crypto.Tls.TlsCredentials)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.GenerateClientKeyExchange(System.IO.Stream)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.GeneratePremasterSecret">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsECDheKeyExchange">
+            ECDHE key exchange (see RFC 4492)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsECDHKeyExchange">
+            ECDH key exchange (see RFC 4492)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsMac">
+            <remarks>
+            A generic TLS MAC implementation, which can be used with any kind of
+            IDigest to act as an HMAC.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.#ctor(Org.BouncyCastle.Crypto.IDigest,System.Byte[],System.Int32,System.Int32)">
+             Generate a new instance of an TlsMac.
+            
+             @param digest    The digest to use.
+             @param key_block A byte-array where the key for this mac is located.
+             @param offset    The number of bytes to skip, before the key starts in the buffer.
+             @param len       The length of the key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.GetMacSecret">
+            @return the MAC write secret
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.IncSequenceNumber">
+            Increment the current write sequence number
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.CalculateMac(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+             Calculate the mac for some given data.
+             <p/>
+             TlsMac will keep track of the sequence number internally.
+            
+             @param type    The message type of the message.
+             @param message A byte-buffer containing the message.
+             @param offset  The number of bytes to skip, before the message starts.
+             @param len     The length of the message.
+             @return A new byte-buffer containing the mac value.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsMac.SequenceNumber">
+            @return the current write sequence number
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsMac.Size">
+            @return The Keysize of the mac.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsNullCipher">
+            <summary>
+            A NULL cipher suite, for use during handshake.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler">
+            <remarks>An implementation of all high level protocols in TLS 1.0.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.#ctor(System.IO.Stream,System.IO.Stream)">
+            <remarks>Both streams can be the same object</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.#ctor(System.IO.Stream,System.IO.Stream,Org.BouncyCastle.Security.SecureRandom)">
+            <remarks>Both streams can be the same object</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.ProcessChangeCipherSpec">
+             This method is called, when a change cipher spec message is received.
+            
+             @throws IOException If the message has an invalid content or the
+                                 handshake is not in the correct state.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Connect(Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer)">
+            <summary>Connects to the remote system.</summary>
+            <param name="verifyer">Will be used when a certificate is received to verify
+            that this certificate is accepted by the client.</param>
+            <exception cref="T:System.IO.IOException">If handshake was not successful</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.ReadApplicationData(System.Byte[],System.Int32,System.Int32)">
+             Read data from the network. The method will return immediately, if there is
+             still some data left in the buffer, or block until some application
+             data has been read from the network.
+            
+             @param buf    The buffer where the data will be copied to.
+             @param offset The position where the data will be placed in the buffer.
+             @param len    The maximum number of bytes to read.
+             @return The number of bytes read.
+             @throws IOException If something goes wrong during reading data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.WriteData(System.Byte[],System.Int32,System.Int32)">
+             Send some application data to the remote system.
+             <p/>
+             The method will handle fragmentation internally.
+            
+             @param buf    The buffer with the data.
+             @param offset The position in the buffer where the data is placed.
+             @param len    The length of the data.
+             @throws IOException If something goes wrong during sending.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.FailWithError(Org.BouncyCastle.Crypto.Tls.AlertLevel,Org.BouncyCastle.Crypto.Tls.AlertDescription)">
+             Terminate this connection with an alert.
+             <p/>
+             Can be used for normal closure too.
+            
+             @param alertLevel       The level of the alert, an be AlertLevel.fatal or AL_warning.
+             @param alertDescription The exact alert message.
+             @throws IOException If alert was fatal.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Close">
+            <summary>Closes this connection</summary>
+            <exception cref="T:System.IO.IOException">If something goes wrong during closing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.AssertEmpty(System.IO.MemoryStream)">
+             Make sure the Stream is now empty. Fail otherwise.
+            
+             @param is The Stream to check.
+             @throws IOException If is is not empty.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.OutputStream">
+            <summary>A Stream which can be used to send data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.InputStream">
+            <summary>A Stream which can be used to read data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Stream">
+            <summary>The secure bidirectional stream for this connection</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsRsaKeyExchange">
+            <summary>
+            TLS 1.0 RSA key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsSrpKeyExchange">
+            <summary>
+            TLS 1.1 SRP key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsUtilities">
+            <remarks>Some helper fuctions for MicroTLS.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.AddMagnitudes(System.Int32[],System.Int32[])">
+            return a = a + b - b preserved.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.CompareTo(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            unsigned comparison on two arrays - note the arrays may
+            start with leading zeros.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Divide(System.Int32[],System.Int32[])">
+            return z = x / y - done in place (z value preserved, x contains the
+            remainder)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.IsProbablePrime(System.Int32)">
+            return whether or not a BigInteger is probably prime with a
+            probability of 1 - (1/2)**certainty.
+            <p>From Knuth Vol 2, pg 395.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ExtEuclid(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger@)">
+             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.
+            
+             @param a    First number to calculate gcd for
+             @param b    Second number to calculate gcd for
+             @param u1Out      the return object for the u1 value
+             @param u2Out      the return object for the u2 value
+             @return     The greatest common divisor of a and b
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Square(System.Int32[],System.Int32[])">
+            return w with w = x * x - w is assumed to have enough space.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Multiply(System.Int32[],System.Int32[],System.Int32[])">
+            return x with x = y * z - x is assumed to have enough space.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.GetMQuote">
+            Calculate mQuote = -m^(-1) mod b with b = 2^32 (32 = word size)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.MultiplyMonty(System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int64)">
+            Montgomery multiplication: a = x * y * R^(-1) mod m
+            <br/>
+            Based algorithm 14.36 of Handbook of Applied Cryptography.
+            <br/>
+            <li> m, x, y should have length n </li>
+            <li> a should have length (n + 1) </li>
+            <li> b = 2^32, R = b^n </li>
+            <br/>
+            The result is put in x
+            <br/>
+            NOTE: the indices of x, y, m, a different in HAC and in Java
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Remainder(System.Int32[],System.Int32[])">
+            return x = x % y - done in place (y value preserved)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftLeft(System.Int32[],System.Int32)">
+            do a left shift - this returns a new array.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftRightInPlace(System.Int32,System.Int32[],System.Int32)">
+            do a right shift - this does it in place.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftRightOneInPlace(System.Int32,System.Int32[])">
+            do a right shift by one - this does it in place.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Subtract(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            returns x = x - y - we assume x is >= y
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal">
+            Class representing a simple version of a big decimal. A
+            <code>SimpleBigDecimal</code> is basically a
+            {@link java.math.BigInteger BigInteger} with a few digits on the right of
+            the decimal point. The number of (binary) digits on the right of the decimal
+            point is called the <code>scale</code> of the <code>SimpleBigDecimal</code>.
+            Unlike in {@link java.math.BigDecimal BigDecimal}, the scale is not adjusted
+            automatically, but must be set manually. All <code>SimpleBigDecimal</code>s
+            taking part in the same arithmetic operation must have equal scale. The
+            result of a multiplication of two <code>SimpleBigDecimal</code>s returns a
+            <code>SimpleBigDecimal</code> with double scale.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal.GetInstance(Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            Returns a <code>SimpleBigDecimal</code> representing the same numerical
+            value as <code>value</code>.
+            @param value The value of the <code>SimpleBigDecimal</code> to be
+            created. 
+            @param scale The scale of the <code>SimpleBigDecimal</code> to be
+            created. 
+            @return The such created <code>SimpleBigDecimal</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal.#ctor(Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            Constructor for <code>SimpleBigDecimal</code>. The value of the
+            constructed <code>SimpleBigDecimal</code> Equals <code>bigInt / 
+            2<sup>scale</sup></code>.
+            @param bigInt The <code>bigInt</code> value parameter.
+            @param scale The scale of the constructed <code>SimpleBigDecimal</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.Tnaf">
+            Class holding methods for point multiplication based on the window
+            &#964;-adic nonadjacent form (WTNAF). The algorithms are based on the
+            paper "Improved Algorithms for Arithmetic on Anomalous Binary Curves"
+            by Jerome A. Solinas. The paper first appeared in the Proceedings of
+            Crypto 1997.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Width">
+            The window width of WTNAF. The standard value of 4 is slightly less
+            than optimal for running time, but keeps space requirements for
+            precomputation low. For typical curves, a value of 5 or 6 results in
+            a better running time. When changing this value, the
+            <code>&#945;<sub>u</sub></code>'s must be computed differently, see
+            e.g. "Guide to Elliptic Curve Cryptography", Darrel Hankerson,
+            Alfred Menezes, Scott Vanstone, Springer-Verlag New York Inc., 2004,
+            p. 121-122
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Pow2Width">
+            2<sup>4</sup>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha0">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=0</code> as an array
+            of <code>ZTauElement</code>s.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha0Tnaf">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=0</code> as an array
+            of TNAFs.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha1">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=1</code> as an array
+            of <code>ZTauElement</code>s.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha1Tnaf">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=1</code> as an array
+            of TNAFs.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Norm(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Computes the norm of an element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return The norm of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Norm(System.SByte,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal)">
+            Computes the norm of an element <code>&#955;</code> of
+            <code><b>R</b>[&#964;]</code>, where <code>&#955; = u + v&#964;</code>
+            and <code>u</code> and <code>u</code> are real numbers (elements of
+            <code><b>R</b></code>). 
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param u The real part of the element <code>&#955;</code> of
+            <code><b>R</b>[&#964;]</code>.
+            @param v The <code>&#964;</code>-adic part of the element
+            <code>&#955;</code> of <code><b>R</b>[&#964;]</code>.
+            @return The norm of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Round(Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,System.SByte)">
+            Rounds an element <code>&#955;</code> of <code><b>R</b>[&#964;]</code>
+            to an element of <code><b>Z</b>[&#964;]</code>, such that their difference
+            has minimal norm. <code>&#955;</code> is given as
+            <code>&#955; = &#955;<sub>0</sub> + &#955;<sub>1</sub>&#964;</code>.
+            @param lambda0 The component <code>&#955;<sub>0</sub></code>.
+            @param lambda1 The component <code>&#955;<sub>1</sub></code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve. Must
+            equal 1 or -1.
+            @return The rounded element of <code><b>Z</b>[&#964;]</code>.
+            @throws ArgumentException if <code>lambda0</code> and
+            <code>lambda1</code> do not have same scale.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.ApproximateDivisionByN(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.SByte,System.Int32,System.Int32)">
+            Approximate division by <code>n</code>. For an integer
+            <code>k</code>, the value <code>&#955; = s k / n</code> is
+            computed to <code>c</code> bits of accuracy.
+            @param k The parameter <code>k</code>.
+            @param s The curve parameter <code>s<sub>0</sub></code> or
+            <code>s<sub>1</sub></code>.
+            @param vm The Lucas Sequence element <code>V<sub>m</sub></code>.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @param m The bit length of the finite field
+            <code><b>F</b><sub>m</sub></code>.
+            @param c The number of bits of accuracy, i.e. the scale of the returned
+            <code>SimpleBigDecimal</code>.
+            @return The value <code>&#955; = s k / n</code> computed to
+            <code>c</code> bits of accuracy.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.TauAdicNaf(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Computes the <code>&#964;</code>-adic NAF (non-adjacent form) of an
+            element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return The <code>&#964;</code>-adic NAF of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Tau(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Applies the operation <code>&#964;()</code> to an
+            <code>F2mPoint</code>. 
+            @param p The F2mPoint to which <code>&#964;()</code> is applied.
+            @return <code>&#964;(p)</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetMu(Org.BouncyCastle.Math.EC.F2mCurve)">
+            Returns the parameter <code>&#956;</code> of the elliptic curve.
+            @param curve The elliptic curve from which to obtain <code>&#956;</code>.
+            The curve must be a Koblitz curve, i.e. <code>a</code> Equals
+            <code>0</code> or <code>1</code> and <code>b</code> Equals
+            <code>1</code>. 
+            @return <code>&#956;</code> of the elliptic curve.
+            @throws ArgumentException if the given ECCurve is not a Koblitz
+            curve.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetLucas(System.SByte,System.Int32,System.Boolean)">
+            Calculates the Lucas Sequence elements <code>U<sub>k-1</sub></code> and
+            <code>U<sub>k</sub></code> or <code>V<sub>k-1</sub></code> and
+            <code>V<sub>k</sub></code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param k The index of the second element of the Lucas Sequence to be
+            returned.
+            @param doV If set to true, computes <code>V<sub>k-1</sub></code> and
+            <code>V<sub>k</sub></code>, otherwise <code>U<sub>k-1</sub></code> and
+            <code>U<sub>k</sub></code>.
+            @return An array with 2 elements, containing <code>U<sub>k-1</sub></code>
+            and <code>U<sub>k</sub></code> or <code>V<sub>k-1</sub></code>
+            and <code>V<sub>k</sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetTw(System.SByte,System.Int32)">
+            Computes the auxiliary value <code>t<sub>w</sub></code>. If the width is
+            4, then for <code>mu = 1</code>, <code>t<sub>w</sub> = 6</code> and for
+            <code>mu = -1</code>, <code>t<sub>w</sub> = 10</code> 
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param w The window width of the WTNAF.
+            @return the auxiliary value <code>t<sub>w</sub></code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetSi(Org.BouncyCastle.Math.EC.F2mCurve)">
+            Computes the auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction. 
+            @param curve The elliptic curve for which to compute
+            <code>s<sub>0</sub></code> and <code>s<sub>1</sub></code>.
+            @throws ArgumentException if <code>curve</code> is not a
+            Koblitz curve (Anomalous Binary Curve, ABC).
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.PartModReduction(Org.BouncyCastle.Math.BigInteger,System.Int32,System.SByte,Org.BouncyCastle.Math.BigInteger[],System.SByte,System.SByte)">
+            Partial modular reduction modulo
+            <code>(&#964;<sup>m</sup> - 1)/(&#964; - 1)</code>.
+            @param k The integer to be reduced.
+            @param m The bitlength of the underlying finite field.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @param s The auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code>.
+            @param mu The parameter &#956; of the elliptic curve.
+            @param c The precision (number of bits of accuracy) of the partial
+            modular reduction.
+            @return <code>&#961; := k partmod (&#964;<sup>m</sup> - 1)/(&#964; - 1)</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyRTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.BigInteger)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by a <code>BigInteger</code> using the reduced <code>&#964;</code>-adic
+            NAF (RTNAF) method.
+            @param p The F2mPoint to Multiply.
+            @param k The <code>BigInteger</code> by which to Multiply <code>p</code>.
+            @return <code>k * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the <code>&#964;</code>-adic NAF (TNAF) method.
+            @param p The F2mPoint to Multiply.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyFromTnaf(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte[])">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the <code>&#964;</code>-adic NAF (TNAF) method, given the TNAF
+            of <code>&#955;</code>.
+            @param p The F2mPoint to Multiply.
+            @param u The the TNAF of <code>&#955;</code>..
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.TauAdicWNaf(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement,System.SByte,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Abc.ZTauElement[])">
+            Computes the <code>[&#964;]</code>-adic window NAF of an element
+            <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter &#956; of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code> of which to compute the
+            <code>[&#964;]</code>-adic NAF.
+            @param width The window width of the resulting WNAF.
+            @param pow2w 2<sup>width</sup>.
+            @param tw The auxiliary value <code>t<sub>w</sub></code>.
+            @param alpha The <code>&#945;<sub>u</sub></code>'s for the window width.
+            @return The <code>[&#964;]</code>-adic window NAF of
+            <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetPreComp(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte)">
+            Does the precomputation for WTNAF multiplication.
+            @param p The <code>ECPoint</code> for which to do the precomputation.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @return The precomputation array for <code>p</code>. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.ZTauElement">
+            Class representing an element of <code><b>Z</b>[&#964;]</code>. Let
+            <code>&#955;</code> be an element of <code><b>Z</b>[&#964;]</code>. Then
+            <code>&#955;</code> is given as <code>&#955; = u + v&#964;</code>. The
+            components <code>u</code> and <code>v</code> may be used directly, there
+            are no accessor methods.
+            Immutable class.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.ZTauElement.u">
+            The &quot;real&quot; part of <code>&#955;</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.ZTauElement.v">
+            The &quot;<code>&#964;</code>-adic&quot; part of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.ZTauElement.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for an element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @param u The &quot;real&quot; part of <code>&#955;</code>.
+            @param v The &quot;<code>&#964;</code>-adic&quot; part of
+            <code>&#955;</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.ECCurve">
+            <remarks>Base class for an elliptic curve.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECCurveBase.DecodePoint(System.Byte[])">
+            Decode a point on this curve from its ASN.1 encoding. The different
+            encodings are taken account of, including point compression for
+            <code>F<sub>p</sub></code> (X9.62 s 4.2.1 pg 17).
+            @return The decoded point.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.FpCurve">
+            Elliptic curve over Fp
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mCurve">
+            Elliptic curves over F2m. The Weierstrass equation is given by
+            <code>y<sup>2</sup> + xy = x<sup>3</sup> + ax<sup>2</sup> + b</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.m">
+            The exponent <code>m</code> of <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k1">
+            TPB: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            PPB: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k2">
+            TPB: Always set to <code>0</code><br/>
+            PPB: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k3">
+            TPB: Always set to <code>0</code><br/>
+            PPB: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.n">
+            The order of the base point of the curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.h">
+            The cofactor of the curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.infinity">
+            The point at infinity on this curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.mu">
+            The parameter <code>&#956;</code> of the elliptic curve if this is
+            a Koblitz curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.si">
+            The auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction for
+            Koblitz curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Trinomial Polynomial Basis (TPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Trinomial Polynomial Basis (TPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param n The order of the main subgroup of the elliptic curve.
+            @param h The cofactor of the elliptic curve, i.e.
+            <code>#E<sub>a</sub>(F<sub>2<sup>m</sup></sub>) = h * n</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Pentanomial Polynomial Basis (PPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Pentanomial Polynomial Basis (PPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param n The order of the main subgroup of the elliptic curve.
+            @param h The cofactor of the elliptic curve, i.e.
+            <code>#E<sub>a</sub>(F<sub>2<sup>m</sup></sub>) = h * n</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.GetMu">
+            Returns the parameter <code>&#956;</code> of the elliptic curve.
+            @return <code>&#956;</code> of the elliptic curve.
+            @throws ArgumentException if the given ECCurve is not a
+            Koblitz curve.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.GetSi">
+            @return the auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction for
+            Koblitz curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.solveQuadradicEquation(Org.BouncyCastle.Math.EC.ECFieldElement)">
+             Solves a quadratic equation <code>z<sup>2</sup> + z = beta</code>(X9.62
+             D.1.6) The other solution is <code>z + 1</code>.
+            
+             @param beta
+                        The value to solve the qradratic equation for.
+             @return the solution for <code>z<sup>2</sup> + z = beta</code> or
+                     <code>null</code> if no solution exists.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.IsTrinomial">
+             Return true if curve uses a Trinomial basis.
+            
+             @return true if curve Trinomial, false otherwise.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mCurve.IsKoblitz">
+            Returns true if this is a Koblitz curve (ABC curve).
+            @return true if this is a Koblitz curve (ABC curve), false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpFieldElement.Sqrt">
+            return a sqrt root - the routine verifies that the calculation
+            returns the right value - if none exists it returns null.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.FpFieldElement.FieldName">
+             return the field name for this field.
+            
+             @return the string "Fp".
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mFieldElement">
+            Class representing the Elements of the finite field
+            <code>F<sub>2<sup>m</sup></sub></code> in polynomial basis (PB)
+            representation. Both trinomial (Tpb) and pentanomial (Ppb) polynomial
+            basis representations are supported. Gaussian normal basis (GNB)
+            representation is not supported.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Gnb">
+            Indicates gaussian normal basis representation (GNB). Number chosen
+            according to X9.62. GNB is not implemented at present.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Tpb">
+            Indicates trinomial basis representation (Tpb). Number chosen
+            according to X9.62.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Ppb">
+            Indicates pentanomial basis representation (Ppb). Number chosen
+            according to X9.62.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.representation">
+            Tpb or Ppb.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.m">
+            The exponent <code>m</code> of <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k1">
+            Tpb: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            Ppb: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k2">
+            Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k3">
+            Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.x">
+            The <code>IntArray</code> holding the bits.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.t">
+            The number of <code>int</code>s required to hold <code>m</code> bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Ppb.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param x The BigInteger representing the value of the field element.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Tpb.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param x The BigInteger representing the value of the field element.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.CheckFieldElements(Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+            Checks, if the ECFieldElements <code>a</code> and <code>b</code>
+            are elements of the same field <code>F<sub>2<sup>m</sup></sub></code>
+            (having the same representation).
+            @param a field element.
+            @param b field element to be compared.
+            @throws ArgumentException if <code>a</code> and <code>b</code>
+            are not elements of the same field
+            <code>F<sub>2<sup>m</sup></sub></code> (having the same
+            representation).
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.Representation">
+            @return the representation of the field
+            <code>F<sub>2<sup>m</sup></sub></code>, either of
+            {@link F2mFieldElement.Tpb} (trinomial
+            basis representation) or
+            {@link F2mFieldElement.Ppb} (pentanomial
+            basis representation).
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.M">
+            @return the degree <code>m</code> of the reduction polynomial
+            <code>f(z)</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K1">
+            @return Tpb: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            Ppb: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K2">
+            @return Tpb: Always returns <code>0</code><br/>
+            Ppb: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K3">
+            @return Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.ECPoint">
+            base class for points on elliptic curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPoint.SetPreCompInfo(Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Sets the <code>PreCompInfo</code>. Used by <code>ECMultiplier</code>s
+            to save the precomputation for this <code>ECPoint</code> to store the
+            precomputation result for use by subsequent multiplication.
+            @param preCompInfo The values precomputed by the
+            <code>ECMultiplier</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPoint.AssertECMultiplier">
+            Sets the appropriate <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPointBase.GetEncoded">
+            return the field element encoded with point compression. (S 4.3.6)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPointBase.Multiply(Org.BouncyCastle.Math.BigInteger)">
+            Multiplies this <code>ECPoint</code> by the given number.
+            @param k The multiplicator.
+            @return <code>k * this</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.FpPoint">
+            Elliptic curve points over Fp
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+             Create a point which encodes with point compression.
+            
+             @param curve the curve to use
+             @param x affine x co-ordinate
+             @param y affine y co-ordinate
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)">
+             Create a point that encodes with or without point compresion.
+            
+             @param curve the curve to use
+             @param x affine x co-ordinate
+             @param y affine y co-ordinate
+             @param withCompression if true encode with point compression
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.AssertECMultiplier">
+            Sets the default <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mPoint">
+            Elliptic curve points over F2m
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+            @param curve base curve
+            @param x x point
+            @param y y point
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)">
+            @param curve base curve
+            @param x x point
+            @param y y point
+            @param withCompression true if encode with point compression.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve)">
+            Constructor for point at infinity
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.CheckPoints(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.EC.ECPoint)">
+            Check, if two <code>ECPoint</code>s can be added or subtracted.
+            @param a The first <code>ECPoint</code> to check.
+            @param b The second <code>ECPoint</code> to check.
+            @throws IllegalArgumentException if <code>a</code> and <code>b</code>
+            cannot be added.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.AddSimple(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Adds another <code>ECPoints.F2m</code> to <code>this</code> without
+            checking if both points are on the same curve. Used by multiplication
+            algorithms, because there all points are a multiple of the same point
+            and hence the checks can be omitted.
+            @param b The other <code>ECPoints.F2m</code> to add to
+            <code>this</code>.
+            @return <code>this + b</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.SubtractSimple(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Subtracts another <code>ECPoints.F2m</code> from <code>this</code>
+            without checking if both points are on the same curve. Used by
+            multiplication algorithms, because there all points are a multiple
+            of the same point and hence the checks can be omitted.
+            @param b The other <code>ECPoints.F2m</code> to subtract from
+            <code>this</code>.
+            @return <code>this - b</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.AssertECMultiplier">
+            Sets the appropriate <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier">
+            Interface for classes encapsulating a point multiplication algorithm
+            for <code>ECPoint</code>s.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies the <code>ECPoint p</code> by <code>k</code>, i.e.
+            <code>p</code> is added <code>k</code> times to itself.
+            @param p The <code>ECPoint</code> to be multiplied.
+            @param k The factor by which <code>p</code> i multiplied.
+            @return <code>p</code> multiplied by <code>k</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.FpNafMultiplier">
+            Class implementing the NAF (Non-Adjacent Form) multiplication algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.FpNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            D.3.2 pg 101
+            @see org.bouncycastle.math.ec.multiplier.ECMultiplier#multiply(org.bouncycastle.math.ec.ECPoint, java.math.BigInteger)
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo">
+            Interface for classes storing precomputation data for multiplication
+            algorithms. Used as a Memento (see GOF patterns) for
+            <code>WNafMultiplier</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.ReferenceMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Simple shift-and-add multiplication. Serves as reference implementation
+            to verify (possibly faster) implementations in
+            {@link org.bouncycastle.math.ec.ECPoint ECPoint}.
+            
+            @param p The point to multiply.
+            @param k The factor by which to multiply.
+            @return The result of the point multiplication <code>k * p</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier">
+            Class implementing the WNAF (Window Non-Adjacent Form) multiplication
+            algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier.WindowNaf(System.SByte,Org.BouncyCastle.Math.BigInteger)">
+            Computes the Window NAF (non-adjacent Form) of an integer.
+            @param width The width <code>w</code> of the Window NAF. The width is
+            defined as the minimal number <code>w</code>, such that for any
+            <code>w</code> consecutive digits in the resulting representation, at
+            most one is non-zero.
+            @param k The integer of which the Window NAF is computed.
+            @return The Window NAF of the given width, such that the following holds:
+            <code>k = &#8722;<sub>i=0</sub><sup>l-1</sup> k<sub>i</sub>2<sup>i</sup>
+            </code>, where the <code>k<sub>i</sub></code> denote the elements of the
+            returned <code>sbyte[]</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies <code>this</code> by an integer <code>k</code> using the
+            Window NAF method.
+            @param k The integer by which <code>this</code> is multiplied.
+            @return A new <code>ECPoint</code> which equals <code>this</code>
+            multiplied by <code>k</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo">
+            Class holding precomputation data for the WNAF (Window Non-Adjacent Form)
+            algorithm.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo.preComp">
+            Array holding the precomputed <code>ECPoint</code>s used for the Window
+            NAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WNafMultiplier.multiply()
+            WNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo.twiceP">
+            Holds an <code>ECPoint</code> representing twice(this). Used for the
+            Window NAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WNafMultiplier.multiply()
+            WNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier">
+            Class implementing the WTNAF (Window
+            <code>&#964;</code>-adic Non-Adjacent Form) algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by <code>k</code> using the reduced <code>&#964;</code>-adic NAF (RTNAF)
+            method.
+            @param p The F2mPoint to multiply.
+            @param k The integer by which to multiply <code>k</code>.
+            @return <code>p</code> multiplied by <code>k</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.MultiplyWTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.EC.Abc.ZTauElement,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo,System.SByte,System.SByte)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code> using
+            the <code>&#964;</code>-adic NAF (TNAF) method.
+            @param p The F2mPoint to multiply.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code> of which to compute the
+            <code>[&#964;]</code>-adic NAF.
+            @return <code>p</code> multiplied by <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.MultiplyFromWTnaf(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte[],Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the window <code>&#964;</code>-adic NAF (TNAF) method, given the
+            WTNAF of <code>&#955;</code>.
+            @param p The F2mPoint to multiply.
+            @param u The the WTNAF of <code>&#955;</code>..
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo">
+            Class holding precomputation data for the WTNAF (Window
+            <code>&#964;</code>-adic Non-Adjacent Form) algorithm.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.preComp">
+            Array holding the precomputed <code>F2mPoint</code>s used for the
+            WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.#ctor(Org.BouncyCastle.Math.EC.F2mPoint[])">
+            Constructor for <code>WTauNafPreCompInfo</code>
+            @param preComp Array holding the precomputed <code>F2mPoint</code>s
+            used for the WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.GetPreComp">
+            @return the array holding the precomputed <code>F2mPoint</code>s
+            used for the WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.BasicOcspResp">
+            <remarks>
+            <code>
+            BasicOcspResponse ::= SEQUENCE {
+            	tbsResponseData		ResponseData,
+            	signatureAlgorithm	AlgorithmIdentifier,
+            	signature			BIT STRING,
+            	certs				[0] EXPLICIT SEQUENCE OF Certificate OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509Extension.GetCriticalExtensionOids">
+            <summary>
+            Get all critical extension values, by oid
+            </summary>
+            <returns>IDictionary with string (OID) keys and Asn1OctetString values</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509Extension.GetNonCriticalExtensionOids">
+            <summary>
+            Get all non-critical extension values, by oid
+            </summary>
+            <returns>IDictionary with string (OID) keys and Asn1OctetString values</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetNonCriticalExtensionOids">
+            <summary>
+            Get non critical extensions.
+            </summary>
+            <returns>A set of non critical extension oids.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetCriticalExtensionOids">
+            <summary>
+            Get any critical extensions.
+            </summary>
+            <returns>A sorted list of critical entension.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetExtensionValue(System.String)">
+            <summary>
+            Get the value of a given extension.
+            </summary>
+            <param name="oid">The object ID of the extension. </param>
+            <returns>An Asn1OctetString object if that extension is found or null if not.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetTbsResponseData">
+            <returns>The DER encoding of the tbsResponseData field.</returns>
+            <exception cref="T:Org.BouncyCastle.Ocsp.OcspException">In the event of an encoding error.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetCertificates(System.String)">
+            <returns>The certificates, if any, associated with the response.</returns>
+            <exception cref="T:Org.BouncyCastle.Ocsp.OcspException">In the event of an encoding error.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Verify the signature against the tbsResponseData object we contain.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetEncoded">
+            <returns>The ASN.1 encoded representation of this object.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator">
+            Generator for basic OCSP response objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.#ctor(Org.BouncyCastle.Ocsp.RespID)">
+            basic constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            construct with the responderID to be the SHA-1 keyHash of the passed in public key.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param certStatus status of the certificate - null if okay
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param nextUpdate date when next update should be requested
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,System.DateTime,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param thisUpdate date this response was valid on
+             @param nextUpdate date when next update should be requested
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.SetResponseExtensions(Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Set the extensions for the response.
+            
+             @param responseExtensions the extension object to carry.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.SignatureAlgNames">
+             Return an IEnumerable of the signature names supported by the generator.
+            
+             @return an IEnumerable containing recognised names.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.CertificateID.#ctor(System.String,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Math.BigInteger)">
+            create from an issuer certificate and the serial number of the
+            certificate it signed.
+            @exception OcspException if any problems occur creating the id fields.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.CertificateID.DeriveCertificateID(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Math.BigInteger)">
+             Create a new CertificateID for a new serial number derived from a previous one
+             calculated for the same CA certificate.
+            
+             @param original the previously calculated CertificateID for the CA.
+             @param newSerialNumber the serial number for the new certificate of interest.
+            
+             @return a new CertificateID for newSerialNumber
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.CertificateID.SerialNumber">
+            return the serial number for the certificate associated
+            with this request.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.OcspReq">
+             <pre>
+             OcspRequest     ::=     SEQUENCE {
+                   tbsRequest                  TBSRequest,
+                   optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
+            
+               TBSRequest      ::=     SEQUENCE {
+                   version             [0]     EXPLICIT Version DEFAULT v1,
+                   requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
+                   requestList                 SEQUENCE OF Request,
+                   requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
+            
+               Signature       ::=     SEQUENCE {
+                   signatureAlgorithm      AlgorithmIdentifier,
+                   signature               BIT STRING,
+                   certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL}
+            
+               Version         ::=             INTEGER  {  v1(0) }
+            
+               Request         ::=     SEQUENCE {
+                   reqCert                     CertID,
+                   singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
+            
+               CertID          ::=     SEQUENCE {
+                   hashAlgorithm       AlgorithmIdentifier,
+                   issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
+                   issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
+                   serialNumber        CertificateSerialNumber }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetTbsRequest">
+            Return the DER encoding of the tbsRequest field.
+            @return DER encoding of tbsRequest
+            @throws OcspException in the event of an encoding error.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetCertificates(System.String)">
+             If the request is signed return a possibly empty CertStore containing the certificates in the
+             request. If the request is not signed the method returns null.
+            
+             @return null if not signed, a CertStore otherwise
+             @throws OcspException
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            Verify the signature against the TBSRequest object we contain.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReq.SignatureAlgOid">
+            return the object identifier representing the signature algorithm
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReq.IsSigned">
+             Return whether or not this request is signed.
+            
+             @return true if signed false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.AddRequest(Org.BouncyCastle.Ocsp.CertificateID)">
+             Add a request for the given CertificateID.
+            
+             @param certId certificate ID of interest
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.AddRequest(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a request with extensions
+            
+             @param certId certificate ID of interest
+             @param singleRequestExtensions the extensions to attach to the request
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.SetRequestorName(Org.BouncyCastle.Asn1.X509.X509Name)">
+             Set the requestor name to the passed in X509Principal
+            
+             @param requestorName a X509Principal representing the requestor name.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.Generate">
+             Generate an unsigned request
+            
+             @return the OcspReq
+             @throws OcspException
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReqGenerator.SignatureAlgNames">
+             Return an IEnumerable of the signature names supported by the generator.
+            
+             @return an IEnumerable containing recognised names.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspResp.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.OCSPRespGenerator">
+            base generator for an OCSP response - at the moment this only supports the
+            generation of responses containing BasicOCSP responses.
+        </member>
+        <member name="F:Org.BouncyCastle.Ocsp.OcspRespStatus.Successful">
+            note 4 is not used.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.RespID">
+            Carrier for a ResponderID.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.RevokedStatus">
+            wrapper for the RevokedInfo object
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.RevokedStatus.RevocationReason">
+            return the revocation reason. Note: this field is optional, test for it
+            with hasRevocationReason() first.
+            @exception InvalidOperationException if a reason is asked for and none is avaliable
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.SingleResp.GetCertStatus">
+             Return the status object for the response - null indicates good.
+            
+             @return the status object for the response, null if it is good.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.SingleResp.NextUpdate">
+             return the NextUpdate value - note: this is an optional field so may
+             be returned as null.
+            
+             @return nextUpdate, or null if not present.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.UnknownStatus">
+            wrapper for the UnknownInfo object
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData">
+            <remarks>Compressed data objects</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.GetInputStream">
+            <summary>Get the raw input stream contained in the object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.GetDataStream">
+            <summary>Return an uncompressed input stream which allows reading of the compressed data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.Algorithm">
+            <summary>The algorithm used for compression</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator">
+            <remarks>Class for producing compressed data packets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Open(System.IO.Stream)">
+            <summary>
+            <p>
+            Return an output stream which will save the data being written to
+            the compressed object.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+            <param name="outStr">Stream to be used for output.</param>
+            <returns>A Stream for output of the compressed data.</returns>
+            <exception cref="T:System.ArgumentNullException"></exception>
+            <exception cref="T:System.InvalidOperationException"></exception>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Open(System.IO.Stream,System.Byte[])">
+            <summary>
+            <p>
+            Return an output stream which will compress the data as it is written to it.
+            The stream will be written out in chunks according to the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.
+            </p>
+            <p>
+            <b>Note</b>: using this may break compatibility with RFC 1991 compliant tools.
+            Only recent OpenPGP implementations are capable of accepting these streams.
+            </p>
+            </summary>
+            <param name="outStr">Stream to be used for output.</param>
+            <param name="buffer">The buffer to use.</param>
+            <returns>A Stream for output of the compressed data.</returns>
+            <exception cref="T:System.ArgumentNullException"></exception>
+            <exception cref="T:System.InvalidOperationException"></exception>
+            <exception cref="T:System.IO.IOException"></exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Close">
+            <summary>Close the compressed object.</summary>summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpDataValidationException">
+            <remarks>
+            Thrown if the IV at the start of a data stream indicates the wrong key is being used.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
+            <remarks>Generic exception class for PGP encoding/decoding problems.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.GetInputStream">
+            <summary>Return the raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.IsIntegrityProtected">
+            <summary>Return true if the message is integrity protected.</summary>
+            <returns>True, if there is a modification detection code namespace associated
+            with this stream.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.Verify">
+            <summary>Note: This can only be called after the message has been read.</summary>
+            <returns>True, if the message verifies, false otherwise</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator">
+            <remarks>Generator for encrypted objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Existing SecureRandom constructor.</summary>
+            <param name="encAlgorithm">The symmetric algorithm to use.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Boolean,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Creates a cipher stream which will have an integrity packet associated with it.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom,System.Boolean)">
+            <summary>Base constructor.</summary>
+            <param name="encAlgorithm">The symmetric algorithm to use.</param>
+            <param name="rand">Source of randomness.</param>
+            <param name="oldFormat">PGP 2.6.x compatibility required.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(System.Char[])">
+            <summary>
+            Add a PBE encryption method to the encrypted object using the default algorithm (S2K_SHA1).
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(System.Char[],Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Add a PBE encryption method to the encrypted object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Add a public key encrypted session key to the encrypted object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Int64,System.Byte[])">
+            <summary>
+            <p>
+            If buffer is non null stream assumed to be partial, otherwise the length will be used
+            to output a fixed length packet.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Int64)">
+            <summary>
+            <p>
+            Return an output stream which will encrypt the data as it is written to it.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Byte[])">
+            <summary>
+            <p>
+            Return an output stream which will encrypt the data as it is written to it.
+            The stream will be written out in chunks according to the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Close">
+            <summary>
+            <p>
+            Close off the encrypted object - this is equivalent to calling Close() on the stream
+            returned by the Open() method.
+            </p>
+            <p>
+            <b>Note</b>: This does not close the underlying output stream, only the stream on top of
+            it created by the Open() method.
+            </p>
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataList">
+            <remarks>A holder for a list of PGP encryption method packets.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyFlags">
+            <remarks>Key flag values for the KeyFlags subpacket.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair">
+            <remarks>
+            General class to handle JCA key pairs and convert them into OpenPGP ones.
+            <p>
+            A word for the unwary, the KeyId for an OpenPGP public key is calculated from
+            a hash that includes the time of creation, if you pass a different date to the
+            constructor below with the same public private key pair the KeyIs will not be the
+            same as for previous generations of the key, so ideally you only want to do
+            this once.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair.#ctor(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Create a key pair from a PgpPrivateKey and a PgpPublicKey.</summary>
+            <param name="pub">The public key.</param>
+            <param name="priv">The private key.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair.KeyId">
+            <summary>The keyId associated with this key pair.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator">
+            <remarks>
+            Generator for a PGP master and subkey ring.
+            This class will generate both the secret and public key rings
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.#ctor(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,System.String,Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Char[],Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Create a new key ring generator using old style checksumming. It is recommended to use
+            SHA1 checksumming where possible.
+            </summary>
+            <param name="certificationLevel">The certification level for keys on this ring.</param>
+            <param name="masterKey">The master key pair.</param>
+            <param name="id">The id to be associated with the ring.</param>
+            <param name="encAlgorithm">The algorithm to be used to protect secret keys.</param>
+            <param name="passPhrase">The passPhrase to be used to protect secret keys.</param>
+            <param name="hashedPackets">Packets to be included in the certification hash.</param>
+            <param name="unhashedPackets">Packets to be attached unhashed to the certification.</param>
+            <param name="rand">input secured random.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.#ctor(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,System.String,Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Char[],System.Boolean,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Create a new key ring generator.
+            </summary>
+            <param name="certificationLevel">The certification level for keys on this ring.</param>
+            <param name="masterKey">The master key pair.</param>
+            <param name="id">The id to be associated with the ring.</param>
+            <param name="encAlgorithm">The algorithm to be used to protect secret keys.</param>
+            <param name="passPhrase">The passPhrase to be used to protect secret keys.</param>
+            <param name="useSha1">Checksum the secret keys with SHA1 rather than the older 16 bit checksum.</param>
+            <param name="hashedPackets">Packets to be included in the certification hash.</param>
+            <param name="unhashedPackets">Packets to be attached unhashed to the certification.</param>
+            <param name="rand">input secured random.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.AddSubKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair)">
+            <summary>Add a subkey to the key ring to be generated with default certification.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.AddSubKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector)">
+            <summary>
+            Add a subkey with specific hashed and unhashed packets associated with it and
+            default certification.
+            </summary>
+            <param name="keyPair">Public/private key pair.</param>
+            <param name="hashedPackets">Hashed packet values to be included in certification.</param>
+            <param name="unhashedPackets">Unhashed packets values to be included in certification.</param>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.GenerateSecretKeyRing">
+            <summary>Return the secret key ring.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.GeneratePublicKeyRing">
+            <summary>Return the public key ring that corresponds to the secret key ring.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyValidationException">
+            <remarks>
+            Thrown if the key checksum is invalid.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData">
+            <summary>Class for processing literal data objects.</summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.Console">
+            <summary>The special name indicating a "for your eyes only" packet.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetRawFileName">
+            Return the file name as an unintrepreted byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetInputStream">
+            <summary>The raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetDataStream">
+            <summary>The input stream representing the data stream.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.Format">
+            <summary>The format of the data stream - Binary or Text</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.FileName">
+            <summary>The file name that's associated with the data stream.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.ModificationTime">
+            <summary>The modification time for the file.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator">
+            <remarks>Class for producing literal data packets.</remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Console">
+            <summary>The special name indicating a "for your eyes only" packet.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.#ctor(System.Boolean)">
+            <summary>
+            Generates literal data objects in the old format.
+            This is important if you need compatibility with PGP 2.6.x.
+            </summary>
+            <param name="oldFormat">If true, uses old format.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Open(System.IO.Stream,System.Char,System.String,System.Int64,System.DateTime)">
+            <summary>
+            <p>
+            Open a literal data packet, returning a stream to store the data inside the packet.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+            <param name="outStr">The stream we want the packet in.</param>
+            <param name="format">The format we are using.</param>
+            <param name="name">The name of the 'file'.</param>
+            <param name="length">The length of the data we will write.</param>
+            <param name="modificationTime">The time of last modification we want stored.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Open(System.IO.Stream,System.Char,System.String,System.DateTime,System.Byte[])">
+            <summary>
+            <p>
+            Open a literal data packet, returning a stream to store the data inside the packet,
+            as an indefinite length stream. The stream is written out as a series of partial
+            packets with a chunk size determined by the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.</p>
+            </summary>
+            <param name="outStr">The stream we want the packet in.</param>
+            <param name="format">The format we are using.</param>
+            <param name="name">The name of the 'file'.</param>
+            <param name="modificationTime">The time of last modification we want stored.</param>
+            <param name="buffer">The buffer to use for collecting data to put into chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Close">
+            <summary>
+            Close the literal data packet - this is equivalent to calling Close()
+            on the stream returned by the Open() method.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpMarker">
+            <remarks>
+            A PGP marker packet - in general these should be ignored other than where
+            the idea is to preserve the original input stream.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory">
+            <remarks>
+            General class for reading a PGP object stream.
+            <p>
+            Note: if this class finds a PgpPublicKey or a PgpSecretKey it
+            will create a PgpPublicKeyRing, or a PgpSecretKeyRing for each
+            key found. If all you are trying to do is read a key ring file use
+            either PgpPublicKeyRingBundle or PgpSecretKeyRingBundle.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory.NextPgpObject">
+            <summary>Return the next object in the stream, or null if the end is reached.</summary>
+            <exception cref="T:System.IO.IOException">On a parse error</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory.AllPgpObjects">
+            <summary>
+            Return all available objects in a list.
+            </summary>
+            <returns>An <c>IList</c> containing all objects from this factory, in order.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature">
+            <remarks>A one pass signature object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature.InitVerify(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Initialise the signature object for verification.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature.Verify(Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Verify the calculated signature against the passed in PgpSignature.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignatureList">
+            <remarks>Holder for a list of PgpOnePassSignature objects.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData">
+            <remarks>A password based encryption object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData.GetInputStream">
+            <summary>Return the raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData.GetDataStream(System.Char[])">
+            <summary>Return the decrypted input stream, using the passed in passphrase.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey">
+            <remarks>General class to contain a private key for use with other OpenPGP objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Int64)">
+            <summary>
+            Create a PgpPrivateKey from a regular private key and the ID of its
+            associated public key.
+            </summary>
+            <param name="privateKey">Private key to use.</param>
+            <param name="keyId">ID of the corresponding public key.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.KeyId">
+            <summary>The keyId associated with the contained private key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.Key">
+            <summary>The contained private key.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey">
+            <remarks>General class to handle a PGP public key object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.DateTime)">
+            <summary>
+            Create a PgpPublicKey from the passed in lightweight one.
+            </summary>
+            <remarks>
+            Note: the time passed in affects the value of the key's keyId, so you probably only want
+            to do this once for a lightweight key, or make sure you keep track of the time you used.
+            </remarks>
+            <param name="algorithm">Asymmetric algorithm type representing the public key.</param>
+            <param name="pubKey">Actual public key to associate.</param>
+            <param name="time">Date of creation.</param>
+            <exception cref="T:System.ArgumentException">If <c>pubKey</c> is not public.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">On key creation problem.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.PublicKeyPacket,Org.BouncyCastle.Bcpg.TrustPacket,System.Collections.IList)">
+            <summary>Constructor for a sub-key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Copy constructor.</summary>
+            <param name="pubKey">The public key to copy.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetTrustData">
+            <summary>Return the trust data associated with the public key, if present.</summary>
+            <returns>A byte array with trust data, null otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetValidSeconds">
+            <summary>The number of valid seconds from creation time - zero means no expiry.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetFingerprint">
+            <summary>The fingerprint of the key</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetKey">
+            <summary>The public key contained in the object.</summary>
+            <returns>A lightweight public key.</returns>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If the key algorithm is not recognised.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetUserIds">
+            <summary>Allows enumeration of any user IDs associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetUserAttributes">
+            <summary>Allows enumeration of any user attribute vectors associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpUserAttributeSubpacketVector</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesForId(System.String)">
+            <summary>Allows enumeration of any signatures associated with the passed in id.</summary>
+            <param name="id">The ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesForUserAttribute(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector)">
+            <summary>Allows enumeration of signatures associated with the passed in user attributes.</summary>
+            <param name="userAttributes">The vector of user attributes to be matched.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesOfType(System.Int32)">
+            <summary>Allows enumeration of signatures of the passed in type that are on this key.</summary>
+            <param name="signatureType">The type of the signature to be returned.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignatures">
+            <summary>Allows enumeration of all signatures/certifications associated with this key.</summary>
+            <returns>An <c>IEnumerable</c> with all signatures/certifications.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsRevoked">
+            <summary>Check whether this (sub)key has a revocation signature on it.</summary>
+            <returns>True, if this (sub)key has been revoked.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a certification for an id to the given public key.</summary>
+            <param name="key">The key the certification is to be added to.</param>
+            <param name="id">The ID the certification is associated with.</param>
+            <param name="certification">The new certification.</param>
+            <returns>The re-certified key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a certification for the given UserAttributeSubpackets to the given public key.</summary>
+            <param name="key">The key the certification is to be added to.</param>
+            <param name="userAttributes">The attributes the certification is associated with.</param>
+            <param name="certification">The new certification.</param>
+            <returns>The re-certified key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector)">
+            <summary>
+            Remove any certifications associated with a user attribute subpacket on a key.
+            </summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="userAttributes">The attributes to be removed.</param>
+            <returns>
+            The re-certified key, or null if the user attribute subpacket was not found on the key.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String)">
+            <summary>Remove any certifications associated with a given ID on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="id">The ID that is to be removed.</param>
+            <returns>The re-certified key, or null if the ID was not found on the key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification associated with a given ID on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="id">The ID that the certfication is to be removed from.</param>
+            <param name="certification">The certfication to be removed.</param>
+            <returns>The re-certified key, or null if the certification was not found.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification associated with a given user attributes on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="userAttributes">The user attributes that the certfication is to be removed from.</param>
+            <param name="certification">The certification to be removed.</param>
+            <returns>The re-certified key, or null if the certification was not found.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a revocation or some other key certification to a key.</summary>
+            <param name="key">The key the revocation is to be added to.</param>
+            <param name="certification">The key signature to be added.</param>
+            <returns>The new changed public key object.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification from the key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="certification">The certfication to be removed.</param>
+            <returns>The modified key, null if the certification was not found.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.Version">
+            <summary>The version of this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.CreationTime">
+            <summary>The creation time of this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.ValidDays">
+            <summary>The number of valid days from creation time - zero means no expiry.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.KeyId">
+            <summary>The keyId associated with the public key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsEncryptionKey">
+            <summary>
+            Check if this key has an algorithm type that makes it suitable to use for encryption.
+            </summary>
+            <remarks>
+            Note: with version 4 keys KeyFlags subpackets should also be considered when present for
+            determining the preferred use of the key.
+            </remarks>
+            <returns>
+            <c>true</c> if this key algorithm is suitable for encryption.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsMasterKey">
+            <summary>True, if this is a master key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.Algorithm">
+            <summary>The algorithm code associated with the public key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.BitStrength">
+            <summary>The strength of the key in bits.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData">
+            <remarks>A public key encrypted data object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.GetSymmetricAlgorithm(Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>
+            Return the algorithm code for the symmetric algorithm used to encrypt the data.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.GetDataStream(Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Return the decrypted data stream for the packet.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.KeyId">
+            <summary>The key ID for the key used to encrypt the data.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing">
+            <remarks>
+            Class to hold a single master public key and its subkeys.
+            <p>
+            Often PGP keyring files consist of multiple master keys, if you are trying to process
+            or construct one of these you should use the <c>PgpPublicKeyRingBundle</c> class.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKey">
+            <summary>Return the first public key in the ring.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKey(System.Int64)">
+            <summary>Return the public key referred to by the passed in key ID if it is present.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKeys">
+            <summary>Allows enumeration of all the public keys.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpPublicKey</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.InsertPublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Returns a new key ring with the public key passed in either added or
+            replacing an existing one.
+            </summary>
+            <param name="pubRing">The public key ring to be modified.</param>
+            <param name="pubKey">The public key to be inserted.</param>
+            <returns>A new <c>PgpPublicKeyRing</c></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.RemovePublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Returns a new key ring with the public key passed in removed from the key ring.</summary>
+            <param name="pubRing">The public key ring to be modified.</param>
+            <param name="pubKey">The public key to be removed.</param>
+            <returns>A new <c>PgpPublicKeyRing</c>, or null if pubKey is not found.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle">
+            <remarks>
+            Often a PGP key ring file is made up of a succession of master/sub-key key rings.
+            If you want to read an entire public key file in one hit this is the class for you.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.#ctor(System.IO.Stream)">
+            <summary>Build a PgpPublicKeyRingBundle from the passed in input stream.</summary>
+            <param name="inputStream">Input stream containing data.</param>
+            <exception cref="T:System.IO.IOException">If a problem parsing the stream occurs.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If an object is encountered which isn't a PgpPublicKeyRing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings">
+            <summary>Allow enumeration of the public key rings making up this collection.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String,System.Boolean,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <param name="ignoreCase">If true, case is ignored in user ID comparisons.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetPublicKey(System.Int64)">
+            <summary>Return the PGP public key associated with the given key id.</summary>
+            <param name="keyId">The ID of the public key to return.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetPublicKeyRing(System.Int64)">
+            <summary>Return the public key ring which contains the key referred to by keyId</summary>
+            <param name="keyId">key ID to match against</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.Contains(System.Int64)">
+            <summary>
+            Return true if a key matching the passed in key ID is present, false otherwise.
+            </summary>
+            <param name="keyID">key ID to look for.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.AddPublicKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle and
+            the passed in public key ring.
+            </summary>
+            <param name="bundle">The <c>PgpPublicKeyRingBundle</c> the key ring is to be added to.</param>
+            <param name="publicKeyRing">The key ring to be added.</param>
+            <returns>A new <c>PgpPublicKeyRingBundle</c> merging the current one with the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is already present.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.RemovePublicKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle with
+            the passed in public key ring removed.
+            </summary>
+            <param name="bundle">The <c>PgpPublicKeyRingBundle</c> the key ring is to be removed from.</param>
+            <param name="publicKeyRing">The key ring to be removed.</param>
+            <returns>A new <c>PgpPublicKeyRingBundle</c> not containing the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is not present.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.Count">
+            <summary>Return the number of key rings in this collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey">
+            <remarks>General class to handle a PGP secret key object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.ExtractPrivateKey(System.Char[])">
+            <summary>Extract a <c>PgpPrivateKey</c> from this secret key's encrypted contents.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.CopyWithNewPassword(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,System.Char[],System.Char[],Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Return a copy of the passed in secret key, encrypted using a new password
+            and the passed in algorithm.
+            </summary>
+            <param name="key">The PgpSecretKey to be copied.</param>
+            <param name="oldPassPhrase">The current password for the key.</param>
+            <param name="newPassPhrase">The new password for the key.</param>
+            <param name="newEncAlgorithm">The algorithm to be used for the encryption.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.ReplacePublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Replace the passed the public key on the passed in secret key.</summary>
+            <param name="secretKey">Secret key to change.</param>
+            <param name="publicKey">New public key.</param>
+            <returns>A new secret key.</returns>
+            <exception cref="T:System.ArgumentException">If KeyId's do not match.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.IsSigningKey">
+            <summary>
+            Check if this key has an algorithm type that makes it suitable to use for signing.
+            </summary>
+            <remarks>
+            Note: with version 4 keys KeyFlags subpackets should also be considered when present for
+            determining the preferred use of the key.
+            </remarks>
+            <returns>
+            <c>true</c> if this key algorithm is suitable for use with signing.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.IsMasterKey">
+            <summary>True, if this is a master key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.KeyEncryptionAlgorithm">
+            <summary>The algorithm the key is encrypted with.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.KeyId">
+            <summary>The key ID of the public key associated with this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.PublicKey">
+            <summary>The public key associated with this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.UserIds">
+            <summary>Allows enumeration of any user IDs associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.UserAttributes">
+            <summary>Allows enumeration of any user attribute vectors associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing">
+            <remarks>
+            Class to hold a single master secret key and its subkeys.
+            <p>
+            Often PGP keyring files consist of multiple master keys, if you are trying to process
+            or construct one of these you should use the <c>PgpSecretKeyRingBundle</c> class.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetPublicKey">
+            <summary>Return the public key for the master key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetSecretKey">
+            <summary>Return the master private key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetSecretKeys">
+            <summary>Allows enumeration of the secret keys.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpSecretKey</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetExtraPublicKeys">
+            <summary>
+            Return an iterator of the public keys in the secret key ring that
+            have no matching private key. At the moment only personal certificate data
+            appears in this fashion.
+            </summary>
+            <returns>An <c>IEnumerable</c> of unattached, or extra, public keys.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.ReplacePublicKeys(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Replace the public key set on the secret ring with the corresponding key off the public ring.
+            </summary>
+            <param name="secretRing">Secret ring to be changed.</param>
+            <param name="publicRing">Public ring containing the new public key set.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.CopyWithNewPassword(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,System.Char[],System.Char[],Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Return a copy of the passed in secret key ring, with the master key and sub keys encrypted
+            using a new password and the passed in algorithm.
+            </summary>
+            <param name="ring">The <c>PgpSecretKeyRing</c> to be copied.</param>
+            <param name="oldPassPhrase">The current password for key.</param>
+            <param name="newPassPhrase">The new password for the key.</param>
+            <param name="newEncAlgorithm">The algorithm to be used for the encryption.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.InsertSecretKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
+            <summary>
+            Returns a new key ring with the secret key passed in either added or
+            replacing an existing one with the same key ID.
+            </summary>
+            <param name="secRing">The secret key ring to be modified.</param>
+            <param name="secKey">The secret key to be inserted.</param>
+            <returns>A new <c>PgpSecretKeyRing</c></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.RemoveSecretKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
+            <summary>Returns a new key ring with the secret key passed in removed from the key ring.</summary>
+            <param name="secRing">The secret key ring to be modified.</param>
+            <param name="secKey">The secret key to be removed.</param>
+            <returns>A new <c>PgpSecretKeyRing</c>, or null if secKey is not found.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle">
+            <remarks>
+            Often a PGP key ring file is made up of a succession of master/sub-key key rings.
+            If you want to read an entire secret key file in one hit this is the class for you.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.#ctor(System.IO.Stream)">
+            <summary>Build a PgpSecretKeyRingBundle from the passed in input stream.</summary>
+            <param name="inputStream">Input stream containing data.</param>
+            <exception cref="T:System.IO.IOException">If a problem parsing the stream occurs.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If an object is encountered which isn't a PgpSecretKeyRing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings">
+            <summary>Allow enumeration of the secret key rings making up this collection.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String,System.Boolean,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <param name="ignoreCase">If true, case is ignored in user ID comparisons.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetSecretKey(System.Int64)">
+            <summary>Return the PGP secret key associated with the given key id.</summary>
+            <param name="keyId">The ID of the secret key to return.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetSecretKeyRing(System.Int64)">
+            <summary>Return the secret key ring which contains the key referred to by keyId</summary>
+            <param name="keyId">The ID of the secret key</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.Contains(System.Int64)">
+            <summary>
+            Return true if a key matching the passed in key ID is present, false otherwise.
+            </summary>
+            <param name="keyID">key ID to look for.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.AddSecretKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle and
+            the passed in secret key ring.
+            </summary>
+            <param name="bundle">The <c>PgpSecretKeyRingBundle</c> the key ring is to be added to.</param>
+            <param name="secretKeyRing">The key ring to be added.</param>
+            <returns>A new <c>PgpSecretKeyRingBundle</c> merging the current one with the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is already present.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.RemoveSecretKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle with
+            the passed in secret key ring removed.
+            </summary>
+            <param name="bundle">The <c>PgpSecretKeyRingBundle</c> the key ring is to be removed from.</param>
+            <param name="secretKeyRing">The key ring to be removed.</param>
+            <returns>A new <c>PgpSecretKeyRingBundle</c> not containing the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is not present.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.Count">
+            <summary>Return the number of rings in this collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature">
+            <remarks>A PGP signature object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Verify the signature as certifying the passed in public key as associated
+            with the passed in user attributes.
+            </summary>
+            <param name="userAttributes">User attributes the key was stored under.</param>
+            <param name="key">The key to be verified.</param>
+            <returns>True, if the signature matches, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Verify the signature as certifying the passed in public key as associated
+            with the passed in ID.
+            </summary>
+            <param name="id">ID the key was stored under.</param>
+            <param name="key">The key to be verified.</param>
+            <returns>True, if the signature matches, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Verify a certification for the passed in key against the passed in master key.</summary>
+            <param name="masterKey">The key we are verifying against.</param>
+            <param name="pubKey">The key we are verifying.</param>
+            <returns>True, if the certification is valid, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Verify a key certification, such as revocation, for the passed in key.</summary>
+            <param name="pubKey">The key we are checking.</param>
+            <returns>True, if the certification is valid, false otherwise.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.Version">
+            <summary>The OpenPGP version number for this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.KeyAlgorithm">
+            <summary>The key algorithm associated with this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.HashAlgorithm">
+            <summary>The hash algorithm associated with this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.KeyId">
+            <summary>The ID of the key that created the signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.CreationTime">
+            <summary>The creation time of this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.HasSubpackets">
+            <summary>
+            Return true if the signature has either hashed or unhashed subpackets.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator">
+            <remarks>Generator for PGP signatures.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Create a generator for the passed in keyAlgorithm and hashAlgorithm codes.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateOnePassVersion(System.Boolean)">
+            <summary>Return the one pass header associated with the current signature.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.Generate">
+            <summary>Return a signature object containing the current signature state.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in ID and key.</summary>
+            <param name="id">The ID we are certifying against the public key.</param>
+            <param name="pubKey">The key we are certifying against the ID.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in userAttributes.</summary>
+            <param name="userAttributes">The ID we are certifying against the public key.</param>
+            <param name="pubKey">The key we are certifying against the ID.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in key against the passed in master key.</summary>
+            <param name="masterKey">The key we are certifying against.</param>
+            <param name="pubKey">The key we are certifying.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification, such as a revocation, for the passed in key.</summary>
+            <param name="pubKey">The key we are certifying.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureList">
+            <remarks>A list of PGP signatures - normally in the signature block after literal data.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator">
+            <remarks>Generator for signature subpackets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetTrust(System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Add a TrustSignature packet to the signature. The values for depth and trust are largely
+            installation dependent but there are some guidelines in RFC 4880 - 5.2.3.13.
+            </summary>
+            <param name="isCritical">true if the packet is critical.</param>
+            <param name="depth">depth level.</param>
+            <param name="trustAmount">trust amount.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetKeyExpirationTime(System.Boolean,System.Int64)">
+            <summary>
+            Set the number of seconds a key is valid for after the time of its creation.
+            A value of zero means the key never expires.
+            </summary>
+            <param name="isCritical">True, if should be treated as critical, false otherwise.</param>
+            <param name="seconds">The number of seconds the key is valid, or zero if no expiry.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetSignatureExpirationTime(System.Boolean,System.Int64)">
+            <summary>
+            Set the number of seconds a signature is valid for after the time of its creation.
+            A value of zero means the signature never expires.
+            </summary>
+            <param name="isCritical">True, if should be treated as critical, false otherwise.</param>
+            <param name="seconds">The number of seconds the signature is valid, or zero if no expiry.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetSignatureCreationTime(System.Boolean,System.DateTime)">
+            <summary>
+            Set the creation time for the signature.
+            <p>
+            Note: this overrides the generation of a creation time when the signature
+            is generated.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetRevocationReason(System.Boolean,Org.BouncyCastle.Bcpg.RevocationReasonTag,System.String)">
+            <summary>
+            Sets revocation reason sub packet
+            </summary>	    
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetRevocationKey(System.Boolean,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.Byte[])">
+            <summary>
+            Sets revocation key sub packet
+            </summary>	
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetIssuerKeyID(System.Boolean,System.Int64)">
+            <summary>
+            Sets issuer key sub packet
+            </summary>	
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector">
+            <remarks>Container for a list of signature subpackets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.HasSubpacket(Org.BouncyCastle.Bcpg.SignatureSubpacketTag)">
+             Return true if a particular subpacket type exists.
+            
+             @param type type to look for.
+             @return true if present, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetSubpackets(Org.BouncyCastle.Bcpg.SignatureSubpacketTag)">
+            Return all signature subpackets of the passed in type.
+            @param type subpacket type code
+            @return an array of zero or more matching subpackets.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetSignatureExpirationTime">
+            <summary>
+            Return the number of seconds a signature is valid for after its creation date.
+            A value of zero means the signature never expires.
+            </summary>
+            <returns>Seconds a signature is valid for.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetKeyExpirationTime">
+            <summary>
+            Return the number of seconds a key is valid for after its creation date.
+            A value of zero means the key never expires.
+            </summary>
+            <returns>Seconds a signature is valid for.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.Count">
+            <summary>Return the number of packets this vector contains.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector">
+            <remarks>Container for a list of user attribute subpackets.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpUtilities">
+            <remarks>Basic utility class.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpUtilities.GetDecoderStream(System.IO.Stream)">
+            <summary>
+            Return either an ArmoredInputStream or a BcpgInputStream based on whether
+            the initial characters of the stream are binary PGP encodings or not.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator">
+            <remarks>Generator for old style PGP V3 Signatures.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Create a generator for the passed in keyAlgorithm and hashAlgorithm codes.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.GenerateOnePassVersion(System.Boolean)">
+            <summary>Return the one pass header associated with the current signature.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.Generate">
+            <summary>Return a V3 signature object containing the current signature state.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.MiscPemGenerator">
+            PEM generator for the original set of PEM objects used in Open SSL.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemObjectGenerator.Generate">
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </returns>
+            <exception cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemGenerationException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.PemReader">
+            Class for reading OpenSSL PEM encoded streams containing 
+            X509 certificates, PKCS8 encoded keys and PKCS7 objects.
+            <p>
+            In the case of PKCS7 objects the reader will return a CMS ContentInfo object. Keys and
+            Certificates will be returned using the appropriate java.security type.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemReader.ReadPemObject">
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.#ctor(System.IO.TextReader)">
+             Create a new PemReader
+            
+             @param reader the Reader
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.#ctor(System.IO.TextReader,Org.BouncyCastle.OpenSsl.IPasswordFinder)">
+             Create a new PemReader with a password finder
+            
+             @param reader the Reader
+             @param pFinder the password finder
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCertificate(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509Certificate.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCrl(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509CRL.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCertificateRequest(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a PKCS10 certification request.
+            
+             @return the certificate request.
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadAttributeCertificate(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509 Attribute Certificate.
+            
+             @return the X509 Attribute Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadPkcs7(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a PKCS7 object. This returns a ContentInfo object suitable for use with the CMS
+             API.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadPrivateKey(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+            Read a Key Pair
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.PemWriter">
+            <remarks>General purpose writer for OpenSSL PEM objects.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.IO.Pem.PemWriter">
+            A generic PEM writer, based on RFC 1421
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemWriter.#ctor(System.IO.TextWriter)">
+             Base constructor.
+            
+             @param out output stream to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemWriter.GetOutputSize(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Return the number of bytes or characters required to contain the
+             passed in object if it is PEM encoded.
+            
+             @param obj pem object to be output
+             @return an estimate of the number of bytes
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemWriter.#ctor(System.IO.TextWriter)">
+            <param name="writer">The TextWriter object to write the output to.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.Pkcs8Generator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             Constructor for an unencrypted private key PEM object.
+            
+             @param key private key to be encoded.
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.Pkcs8Generator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.String)">
+             Constructor for an encrypted private key PEM object.
+            
+             @param key       private key to be encoded
+             @param algorithm encryption algorithm to use
+             @param provider  provider to use
+             @throws NoSuchAlgorithmException if algorithm/mode cannot be found
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest">
+             <remarks>
+             A class for verifying and creating Pkcs10 Certification requests.
+             </remarks>
+             <code>
+             CertificationRequest ::= Sequence {
+               certificationRequestInfo  CertificationRequestInfo,
+               signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+               signature                 BIT STRING
+             }
+            
+             CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </code>
+             see <a href="http://www.rsasecurity.com/rsalabs/node.asp?id=2132"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Asn1.Asn1Set,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             <summary>
+             Instantiate a Pkcs10CertificationRequest object with the necessary credentials.
+             </summary>
+            <param name="signatureAlgorithm">Name of Sig Alg.</param>
+             <param name="subject">X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" </param>
+             <param name="publicKey">Public Key to be included in cert reqest.</param>
+             <param name="attributes">ASN1Set of Attributes.</param>
+             <param name="signingKey">Matching Private key for nominated (above) public key to be used to sign the request.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.GetPublicKey">
+            <summary>
+            Get the public key.
+            </summary>
+            <returns>The public key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.Verify">
+            <summary>
+            Verify Pkcs10 Cert Request is valid.
+            </summary>
+            <returns>true = valid.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned">
+             <remarks>
+             A class for creating and verifying Pkcs10 Certification requests (this is an extension on <see cref="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest"/>).
+             The requests are made using delay signing. This is useful for situations where
+             the private key is in another environment and not directly accessible (e.g. HSM)
+             So the first step creates the request, then the signing is done outside this
+             object and the signature is then used to complete the request.
+             </remarks>
+             <code>
+             CertificationRequest ::= Sequence {
+               certificationRequestInfo  CertificationRequestInfo,
+               signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+               signature                 BIT STRING
+             }
+            
+             CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </code>
+             see <a href="http://www.rsasecurity.com/rsalabs/node.asp?id=2132"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Asn1.Asn1Set)">
+            <summary>
+            Instantiate a Pkcs10CertificationRequest object with the necessary credentials.
+            </summary>
+            <param name="signatureAlgorithm">Name of Sig Alg.</param>
+            <param name="subject">X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" </param>
+            <param name="publicKey">Public Key to be included in cert reqest.</param>
+            <param name="attributes">ASN1Set of Attributes.</param>
+            <remarks>
+            After the object is constructed use the <see cref="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned.GetDataToSign"/> and finally the
+            SignRequest methods to finalize the request.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Store.GetCertificate(System.String)">
+            simply return the cert entry for the private key
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs12Utilities">
+            Utility class for reencoding PKCS#12 files to definite length.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Utilities.ConvertToDefiniteLength(System.Byte[])">
+             Just re-encode the outer layer of the PKCS#12 file to definite length encoding.
+            
+             @param berPKCS12File - original PKCS#12 file
+             @return a byte array representing the DER encoding of the PFX structure
+             @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Utilities.ConvertToDefiniteLength(System.Byte[],System.Char[])">
+             Re-encode the PKCS#12 structure to definite length encoding at the inner layer
+             as well, recomputing the MAC accordingly.
+            
+             @param berPKCS12File - original PKCS12 file.
+             @param provider - provider to use for MAC calculation.
+             @return a byte array representing the DER encoding of the PFX structure.
+             @throws IOException on parsing, encoding errors.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.CertStatus.RevocationDate">
+            <summary>
+            Returns the revocationDate.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.CertStatus.Status">
+            <summary>
+            Returns the certStatus.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.GetSupportedExtensions">
+            Returns an immutable <code>Set</code> of X.509 attribute certificate
+            extensions that this <code>PkixAttrCertChecker</code> supports or
+            <code>null</code> if no extensions are supported.
+            <p>
+            Each element of the set is a <code>String</code> representing the
+            Object Identifier (OID) of the X.509 extension that is supported.
+            </p>
+            <p>
+            All X.509 attribute certificate extensions that a
+            <code>PkixAttrCertChecker</code> might possibly be able to process
+            should be included in the set.
+            </p>
+            
+            @return an immutable <code>Set</code> of X.509 extension OIDs (in
+                    <code>String</code> format) supported by this
+                    <code>PkixAttrCertChecker</code>, or <code>null</code> if no
+                    extensions are supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.Check(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixCertPath,Org.BouncyCastle.Pkix.PkixCertPath,System.Collections.ICollection)">
+            Performs checks on the specified attribute certificate. Every handled
+            extension is rmeoved from the <code>unresolvedCritExts</code>
+            collection.
+            
+            @param attrCert The attribute certificate to be checked.
+            @param certPath The certificate path which belongs to the attribute
+                       certificate issuer public key certificate.
+            @param holderCertPath The certificate path which belongs to the holder
+                       certificate.
+            @param unresolvedCritExts a <code>Collection</code> of OID strings
+                       representing the current set of unresolved critical extensions
+            @throws CertPathValidatorException if the specified attribute certificate
+                        does not pass the check.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.Clone">
+            Returns a clone of this object.
+            
+            @return a copy of this <code>PkixAttrCertChecker</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertPathBuilder.Build(Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Build and validate a CertPath using the given parameter.
+            
+             @param params PKIXBuilderParameters object containing all information to
+                        build the CertPath
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixAttrCertPathValidator">
+            CertPathValidatorSpi implementation for X.509 Attribute Certificates la RFC 3281.
+            
+            @see org.bouncycastle.x509.ExtendedPkixParameters
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertPathValidator.Validate(Org.BouncyCastle.Pkix.PkixCertPath,Org.BouncyCastle.Pkix.PkixParameters)">
+            Validates an attribute certificate with the given certificate path.
+            
+            <p>
+            <code>params</code> must be an instance of
+            <code>ExtendedPkixParameters</code>.
+            </p><p>
+            The target constraints in the <code>params</code> must be an
+            <code>X509AttrCertStoreSelector</code> with at least the attribute
+            certificate criterion set. Obey that also target informations may be
+            necessary to correctly validate this attribute certificate.
+            </p><p>
+            The attribute certificate issuer must be added to the trusted attribute
+            issuers with {@link ExtendedPkixParameters#setTrustedACIssuers(Set)}.
+            </p>
+            @param certPath The certificate path which belongs to the attribute
+                       certificate issuer public key certificate.
+            @param params The PKIX parameters.
+            @return A <code>PKIXCertPathValidatorResult</code> of the result of
+                    validating the <code>certPath</code>.
+            @throws InvalidAlgorithmParameterException if <code>params</code> is
+                        inappropriate for this validator.
+            @throws CertPathValidatorException if the verification fails.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixBuilderParameters">
+            <summary>
+            Summary description for PkixBuilderParameters.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixParameters">
+            <summary>
+            Summary description for PkixParameters.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixParameters.PkixValidityModel">
+            This is the default PKIX validity model. Actually there are two variants
+            of this: The PKIX model and the modified PKIX model. The PKIX model
+            verifies that all involved certificates must have been valid at the
+            current time. The modified PKIX model verifies that all involved
+            certificates were valid at the signing time. Both are indirectly choosen
+            with the {@link PKIXParameters#setDate(java.util.Date)} method, so this
+            methods sets the Date when <em>all</em> certificates must have been
+            valid.
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixParameters.ChainValidityModel">
+            This model uses the following validity model. Each certificate must have
+            been valid at the moment where is was used. That means the end
+            certificate must have been valid at the time the signature was done. The
+            CA certificate which signed the end certificate must have been valid,
+            when the end certificate was signed. The CA (or Root CA) certificate must
+            have been valid, when the CA certificate was signed and so on. So the
+            {@link PKIXParameters#setDate(java.util.Date)} method sets the time, when
+            the <em>end certificate</em> must have been valid. <p/> It is used e.g.
+            in the German signature law.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.#ctor(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Creates an instance of PKIXParameters with the specified Set of
+             most-trusted CAs. Each element of the set is a TrustAnchor.<br />
+             <br />
+             Note that the Set is copied to protect against subsequent modifications.
+            
+             @param trustAnchors
+                        a Set of TrustAnchors
+            
+             @exception InvalidAlgorithmParameterException
+                            if the specified Set is empty
+                            <code>(trustAnchors.isEmpty() == true)</code>
+             @exception NullPointerException
+                            if the specified Set is <code>null</code>
+             @exception ClassCastException
+                            if any of the elements in the Set are not of type
+                            <code>java.security.cert.TrustAnchor</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTargetCertConstraints">
+             Returns the required constraints on the target certificate. The
+             constraints are returned as an instance of CertSelector. If
+             <code>null</code>, no constraints are defined.<br />
+             <br />
+             Note that the CertSelector returned is cloned to protect against
+             subsequent modifications.
+            
+             @return a CertSelector specifying the constraints on the target
+                     certificate (or <code>null</code>)
+            
+             @see #setTargetCertConstraints(CertSelector)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTargetCertConstraints(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Sets the required constraints on the target certificate. The constraints
+             are specified as an instance of CertSelector. If null, no constraints are
+             defined.<br />
+             <br />
+             Note that the CertSelector specified is cloned to protect against
+             subsequent modifications.
+            
+             @param selector
+                        a CertSelector specifying the constraints on the target
+                        certificate (or <code>null</code>)
+            
+             @see #getTargetCertConstraints()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetInitialPolicies">
+             Returns an immutable Set of initial policy identifiers (OID strings),
+             indicating that any one of these policies would be acceptable to the
+             certificate user for the purposes of certification path processing. The
+             default return value is an empty <code>Set</code>, which is
+             interpreted as meaning that any policy would be acceptable.
+            
+             @return an immutable <code>Set</code> of initial policy OIDs in String
+                     format, or an empty <code>Set</code> (implying any policy is
+                     acceptable). Never returns <code>null</code>.
+            
+             @see #setInitialPolicies(java.util.Set)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetInitialPolicies(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the <code>Set</code> of initial policy identifiers (OID strings),
+             indicating that any one of these policies would be acceptable to the
+             certificate user for the purposes of certification path processing. By
+             default, any policy is acceptable (i.e. all policies), so a user that
+             wants to allow any policy as acceptable does not need to call this
+             method, or can call it with an empty <code>Set</code> (or
+             <code>null</code>).<br />
+             <br />
+             Note that the Set is copied to protect against subsequent modifications.<br />
+             <br />
+            
+             @param initialPolicies
+                        a Set of initial policy OIDs in String format (or
+                        <code>null</code>)
+            
+             @exception ClassCastException
+                            if any of the elements in the set are not of type String
+            
+             @see #getInitialPolicies()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetCertPathCheckers(System.Collections.IList)">
+             Sets a <code>List</code> of additional certification path checkers. If
+             the specified List contains an object that is not a PKIXCertPathChecker,
+             it is ignored.<br />
+             <br />
+             Each <code>PKIXCertPathChecker</code> specified implements additional
+             checks on a certificate. Typically, these are checks to process and
+             verify private extensions contained in certificates. Each
+             <code>PKIXCertPathChecker</code> should be instantiated with any
+             initialization parameters needed to execute the check.<br />
+             <br />
+             This method allows sophisticated applications to extend a PKIX
+             <code>CertPathValidator</code> or <code>CertPathBuilder</code>. Each
+             of the specified PKIXCertPathCheckers will be called, in turn, by a PKIX
+             <code>CertPathValidator</code> or <code>CertPathBuilder</code> for
+             each certificate processed or validated.<br />
+             <br />
+             Regardless of whether these additional PKIXCertPathCheckers are set, a
+             PKIX <code>CertPathValidator</code> or <code>CertPathBuilder</code>
+             must perform all of the required PKIX checks on each certificate. The one
+             exception to this rule is if the RevocationEnabled flag is set to false
+             (see the {@link #setRevocationEnabled(boolean) setRevocationEnabled}
+             method).<br />
+             <br />
+             Note that the List supplied here is copied and each PKIXCertPathChecker
+             in the list is cloned to protect against subsequent modifications.
+            
+             @param checkers
+                        a List of PKIXCertPathCheckers. May be null, in which case no
+                        additional checkers will be used.
+             @exception ClassCastException
+                            if any of the elements in the list are not of type
+                            <code>java.security.cert.PKIXCertPathChecker</code>
+             @see #getCertPathCheckers()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetCertPathCheckers">
+             Returns the List of certification path checkers. Each PKIXCertPathChecker
+             in the returned IList is cloned to protect against subsequent modifications.
+            
+             @return an immutable List of PKIXCertPathCheckers (may be empty, but not
+                     <code>null</code>)
+            
+             @see #setCertPathCheckers(java.util.List)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddCertPathChecker(Org.BouncyCastle.Pkix.PkixCertPathChecker)">
+             Adds a <code>PKIXCertPathChecker</code> to the list of certification
+             path checkers. See the {@link #setCertPathCheckers setCertPathCheckers}
+             method for more details.
+             <p>
+             Note that the <code>PKIXCertPathChecker</code> is cloned to protect
+             against subsequent modifications.</p>
+            
+             @param checker a <code>PKIXCertPathChecker</code> to add to the list of
+             checks. If <code>null</code>, the checker is ignored (not added to list).
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetParams(Org.BouncyCastle.Pkix.PkixParameters)">
+             Method to support <code>Clone()</code> under J2ME.
+             <code>super.Clone()</code> does not exist and fields are not copied.
+            
+             @param params Parameters to set. If this are
+                        <code>ExtendedPkixParameters</code> they are copied to.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetStores(System.Collections.IList)">
+             Sets the Bouncy Castle Stores for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+             <p>
+             The <code>IList</code> is cloned.
+             </p>
+            
+             @param stores A list of stores to use.
+             @see #getStores
+             @throws ClassCastException if an element of <code>stores</code> is not
+                         a {@link Store}.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddStore(Org.BouncyCastle.X509.Store.IX509Store)">
+             Adds a Bouncy Castle {@link Store} to find CRLs, certificates, attribute
+             certificates or cross certificates.
+             <p>
+             This method should be used to add local stores, like collection based
+             X.509 stores, if available. Local stores should be considered first,
+             before trying to use additional (remote) locations, because they do not
+             need possible additional network traffic.
+             </p><p>
+             If <code>store</code> is <code>null</code> it is ignored.
+             </p>
+            
+             @param store The store to add.
+             @see #getStores
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddAdditionalStore(Org.BouncyCastle.X509.Store.IX509Store)">
+             Adds an additional Bouncy Castle {@link Store} to find CRLs, certificates,
+             attribute certificates or cross certificates.
+             <p>
+             You should not use this method. This method is used for adding additional
+             X.509 stores, which are used to add (remote) locations, e.g. LDAP, found
+             during X.509 object processing, e.g. in certificates or CRLs. This method
+             is used in PKIX certification path processing.
+             </p><p>
+             If <code>store</code> is <code>null</code> it is ignored.
+             </p>
+            
+             @param store The store to add.
+             @see #getStores()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetAdditionalStores">
+             Returns an <code>IList</code> of additional Bouncy Castle
+             <code>Store</code>s used for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+            
+             @return an immutable <code>IList</code> of additional Bouncy Castle
+                     <code>Store</code>s. Never <code>null</code>.
+            
+             @see #addAddionalStore(Store)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetStores">
+             Returns an <code>IList</code> of Bouncy Castle
+             <code>Store</code>s used for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+            
+             @return an immutable <code>IList</code> of Bouncy Castle
+                     <code>Store</code>s. Never <code>null</code>.
+            
+             @see #setStores(IList)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetAdditionalLocationsEnabled(System.Boolean)">
+             Sets if additional {@link X509Store}s for locations like LDAP found in
+             certificates or CRLs should be used.
+            
+             @param enabled <code>true</code> if additional stores are used.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTargetConstraints">
+             Returns the required constraints on the target certificate or attribute
+             certificate. The constraints are returned as an instance of
+             <code>IX509Selector</code>. If <code>null</code>, no constraints are
+             defined.
+            
+             <p>
+             The target certificate in a PKIX path may be a certificate or an
+             attribute certificate.
+             </p><p>
+             Note that the <code>IX509Selector</code> returned is cloned to protect
+             against subsequent modifications.
+             </p>
+             @return a <code>IX509Selector</code> specifying the constraints on the
+                     target certificate or attribute certificate (or <code>null</code>)
+             @see #setTargetConstraints
+             @see X509CertStoreSelector
+             @see X509AttributeCertStoreSelector
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTargetConstraints(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Sets the required constraints on the target certificate or attribute
+             certificate. The constraints are specified as an instance of
+             <code>IX509Selector</code>. If <code>null</code>, no constraints are
+             defined.
+             <p>
+             The target certificate in a PKIX path may be a certificate or an
+             attribute certificate.
+             </p><p>
+             Note that the <code>IX509Selector</code> specified is cloned to protect
+             against subsequent modifications.
+             </p>
+            
+             @param selector a <code>IX509Selector</code> specifying the constraints on
+                        the target certificate or attribute certificate (or
+                        <code>null</code>)
+             @see #getTargetConstraints
+             @see X509CertStoreSelector
+             @see X509AttributeCertStoreSelector
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTrustedACIssuers">
+             Returns the trusted attribute certificate issuers. If attribute
+             certificates is verified the trusted AC issuers must be set.
+             <p>
+             The returned <code>ISet</code> consists of <code>TrustAnchor</code>s.
+             </p><p>
+             The returned <code>ISet</code> is immutable. Never <code>null</code>
+             </p>
+            
+             @return Returns an immutable set of the trusted AC issuers.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTrustedACIssuers(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the trusted attribute certificate issuers. If attribute certificates
+             is verified the trusted AC issuers must be set.
+             <p>
+             The <code>trustedACIssuers</code> must be a <code>ISet</code> of
+             <code>TrustAnchor</code>
+             </p><p>
+             The given set is cloned.
+             </p>
+            
+             @param trustedACIssuers The trusted AC issuers to set. Is never
+                        <code>null</code>.
+             @throws ClassCastException if an element of <code>stores</code> is not
+                         a <code>TrustAnchor</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetNecessaryACAttributes">
+             Returns the neccessary attributes which must be contained in an attribute
+             certificate.
+             <p>
+             The returned <code>ISet</code> is immutable and contains
+             <code>String</code>s with the OIDs.
+             </p>
+            
+             @return Returns the necessary AC attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetNecessaryACAttributes(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the neccessary which must be contained in an attribute certificate.
+             <p>
+             The <code>ISet</code> must contain <code>String</code>s with the
+             OIDs.
+             </p><p>
+             The set is cloned.
+             </p>
+            
+             @param necessaryACAttributes The necessary AC attributes to set.
+             @throws ClassCastException if an element of
+                         <code>necessaryACAttributes</code> is not a
+                         <code>String</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetProhibitedACAttributes">
+             Returns the attribute certificates which are not allowed.
+             <p>
+             The returned <code>ISet</code> is immutable and contains
+             <code>String</code>s with the OIDs.
+             </p>
+            
+             @return Returns the prohibited AC attributes. Is never <code>null</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetProhibitedACAttributes(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the attribute certificates which are not allowed.
+             <p>
+             The <code>ISet</code> must contain <code>String</code>s with the
+             OIDs.
+             </p><p>
+             The set is cloned.
+             </p>
+            
+             @param prohibitedACAttributes The prohibited AC attributes to set.
+             @throws ClassCastException if an element of
+                         <code>prohibitedACAttributes</code> is not a
+                         <code>String</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetAttrCertCheckers">
+             Returns the attribute certificate checker. The returned set contains
+             {@link PKIXAttrCertChecker}s and is immutable.
+            
+             @return Returns the attribute certificate checker. Is never
+                     <code>null</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetAttrCertCheckers(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the attribute certificate checkers.
+             <p>
+             All elements in the <code>ISet</code> must a {@link PKIXAttrCertChecker}.
+             </p>
+             <p>
+             The given set is cloned.
+             </p>
+            
+             @param attrCertCheckers The attribute certificate checkers to set. Is
+                        never <code>null</code>.
+             @throws ClassCastException if an element of <code>attrCertCheckers</code>
+                         is not a <code>PKIXAttrCertChecker</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.IsUseDeltasEnabled">
+            Whether delta CRLs should be used for checking the revocation status.
+            Defaults to <code>false</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.ValidityModel">
+            The validity model.
+            @see #CHAIN_VALIDITY_MODEL
+            @see #PKIX_VALIDITY_MODEL
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.IsAdditionalLocationsEnabled">
+             Returns if additional {@link X509Store}s for locations like LDAP found
+             in certificates or CRLs should be used.
+            
+             @return Returns <code>true</code> if additional stores are used.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.GetInstance(Org.BouncyCastle.Pkix.PkixParameters)">
+             Returns an instance of <code>PkixBuilderParameters</code>.
+             <p>
+             This method can be used to get a copy from other
+             <code>PKIXBuilderParameters</code>, <code>PKIXParameters</code>,
+             and <code>ExtendedPKIXParameters</code> instances.
+             </p>
+            
+             @param pkixParams The PKIX parameters to create a copy of.
+             @return An <code>PkixBuilderParameters</code> instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.GetExcludedCerts">
+            <summary>
+            Excluded certificates are not used for building a certification path.
+            </summary>
+            <returns>the excluded certificates.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.SetExcludedCerts(Org.BouncyCastle.Utilities.Collections.ISet)">
+            <summary>
+            Sets the excluded certificates which are not used for building a
+            certification path. If the <code>ISet</code> is <code>null</code> an
+            empty set is assumed.
+            </summary>
+            <remarks>
+            The given set is cloned to protect it against subsequent modifications.
+            </remarks>
+            <param name="excludedCerts">The excluded certificates to set.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.SetParams(Org.BouncyCastle.Pkix.PkixParameters)">
+            Can alse handle <code>ExtendedPKIXBuilderParameters</code> and
+            <code>PKIXBuilderParameters</code>.
+            
+            @param params Parameters to set.
+            @see org.bouncycastle.x509.ExtendedPKIXParameters#setParams(java.security.cert.PKIXParameters)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.Clone">
+             Makes a copy of this <code>PKIXParameters</code> object. Changes to the
+             copy will not affect the original and vice versa.
+            
+             @return a copy of this <code>PKIXParameters</code> object
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPath">
+             An immutable sequence of certificates (a certification path).<br />
+             <br />
+             This is an abstract class that defines the methods common to all CertPaths.
+             Subclasses can handle different kinds of certificates (X.509, PGP, etc.).<br />
+             <br />
+             All CertPath objects have a type, a list of Certificates, and one or more
+             supported encodings. Because the CertPath class is immutable, a CertPath
+             cannot change in any externally visible way after being constructed. This
+             stipulation applies to all public fields and methods of this class and any
+             added or overridden by subclasses.<br />
+             <br />
+             The type is a string that identifies the type of Certificates in the
+             certification path. For each certificate cert in a certification path
+             certPath, cert.getType().equals(certPath.getType()) must be true.<br />
+             <br />
+             The list of Certificates is an ordered List of zero or more Certificates.
+             This List and all of the Certificates contained in it must be immutable.<br />
+             <br />
+             Each CertPath object must support one or more encodings so that the object
+             can be translated into a byte array for storage or transmission to other
+             parties. Preferably, these encodings should be well-documented standards
+             (such as PKCS#7). One of the encodings supported by a CertPath is considered
+             the default encoding. This encoding is used if no encoding is explicitly
+             requested (for the {@link #getEncoded()} method, for instance).<br />
+             <br />
+             All CertPath objects are also Serializable. CertPath objects are resolved
+             into an alternate {@link CertPathRep} object during serialization. This
+             allows a CertPath object to be serialized into an equivalent representation
+             regardless of its underlying implementation.<br />
+             <br />
+             CertPath objects can be created with a CertificateFactory or they can be
+             returned by other classes, such as a CertPathBuilder.<br />
+             <br />
+             By convention, X.509 CertPaths (consisting of X509Certificates), are ordered
+             starting with the target certificate and ending with a certificate issued by
+             the trust anchor. That is, the issuer of one certificate is the subject of
+             the following one. The certificate representing the
+             {@link TrustAnchor TrustAnchor} should not be included in the certification
+             path. Unvalidated X.509 CertPaths may not follow these conventions. PKIX
+             CertPathValidators will detect any departure from these conventions that
+             cause the certification path to be invalid and throw a
+             CertPathValidatorException.<br />
+             <br />
+             <strong>Concurrent Access</strong><br />
+             <br />
+             All CertPath objects must be thread-safe. That is, multiple threads may
+             concurrently invoke the methods defined in this class on a single CertPath
+             object (or more than one) with no ill effects. This is also true for the List
+             returned by CertPath.getCertificates.<br />
+             <br />
+             Requiring CertPath objects to be immutable and thread-safe allows them to be
+             passed around to various pieces of code without worrying about coordinating
+             access. Providing this thread-safety is generally not difficult, since the
+             CertPath and List objects in question are immutable.
+            
+             @see CertificateFactory
+             @see CertPathBuilder
+            <summary>
+            CertPath implementation for X.509 certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.SortCerts(System.Collections.IList)">
+            @param certs
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.#ctor(System.Collections.ICollection)">
+             Creates a CertPath of the specified type.
+             This constructor is protected because most users should use
+             a CertificateFactory to create CertPaths.
+             @param type the standard name of the type of Certificatesin this path
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.#ctor(System.IO.Stream,System.String)">
+             Creates a CertPath of the specified type.
+             This constructor is protected because most users should use
+             a CertificateFactory to create CertPaths.
+            
+             @param type the standard name of the type of Certificatesin this path
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.Equals(System.Object)">
+             Compares this certification path for equality with the specified object.
+             Two CertPaths are equal if and only if their types are equal and their
+             certificate Lists (and by implication the Certificates in those Lists)
+             are equal. A CertPath is never equal to an object that is not a CertPath.<br />
+             <br />
+             This algorithm is implemented by this method. If it is overridden, the
+             behavior specified here must be maintained.
+            
+             @param other
+                        the object to test for equality with this certification path
+            
+             @return true if the specified object is equal to this certification path,
+                     false otherwise
+            
+             @see Object#hashCode() Object.hashCode()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.GetEncoded">
+             Returns the encoded form of this certification path, using
+             the default encoding.
+            
+             @return the encoded bytes
+             @exception CertificateEncodingException if an encoding error occurs
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.GetEncoded(System.String)">
+             Returns the encoded form of this certification path, using
+             the specified encoding.
+            
+             @param encoding the name of the encoding to use
+             @return the encoded bytes
+             @exception CertificateEncodingException if an encoding error
+             occurs or the encoding requested is not supported
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.ToAsn1Object(Org.BouncyCastle.X509.X509Certificate)">
+             Return a DERObject containing the encoded certificate.
+            
+             @param cert the X509Certificate object to be encoded
+            
+             @return the DERObject
+            
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPath.Encodings">
+             Returns an iteration of the encodings supported by this
+             certification path, with the default encoding
+             first. Attempts to modify the returned Iterator via its
+             remove method result in an UnsupportedOperationException.
+            
+             @return an Iterator over the names of the supported encodings (as Strings)
+            
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPath.Certificates">
+            <summary>
+            Returns the list of certificates in this certification
+            path.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilder">
+             Implements the PKIX CertPathBuilding algorithm for BouncyCastle.
+            
+             @see CertPathBuilderSpi
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathBuilder.Build(Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Build and validate a CertPath using the given parameter.
+            
+             @param params PKIXBuilderParameters object containing all information to
+                        build the CertPath
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilderException">
+            <summary>
+            Summary description for PkixCertPathBuilderException.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilderResult">
+            <summary>
+            Summary description for PkixCertPathBuilderResult.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorResult">
+            <summary>
+            Summary description for PkixCertPathValidatorResult.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Init(System.Boolean)">
+                     * Initializes the internal state of this <code>PKIXCertPathChecker</code>.
+                     * <p>
+                     * The <code>forward</code> flag specifies the order that certificates
+                     * will be passed to the {@link #check check} method (forward or reverse). A
+                     * <code>PKIXCertPathChecker</code> <b>must</b> support reverse checking
+                     * and <b>may</b> support forward checking.
+            		 * </p>
+                     * 
+                     * @param forward
+                     *            the order that certificates are presented to the
+                     *            <code>check</code> method. If <code>true</code>,
+                     *            certificates are presented from target to most-trusted CA
+                     *            (forward); if <code>false</code>, from most-trusted CA to
+                     *            target (reverse).
+                     * @exception CertPathValidatorException
+                     *                if this <code>PKIXCertPathChecker</code> is unable to
+                     *                check certificates in the specified order; it should never
+                     *                be thrown if the forward flag is false since reverse
+                     *                checking must be supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.IsForwardCheckingSupported">
+            Indicates if forward checking is supported. Forward checking refers to
+            the ability of the <code>PKIXCertPathChecker</code> to perform its
+            checks when certificates are presented to the <code>check</code> method
+            in the forward direction (from target to most-trusted CA).
+            
+            @return <code>true</code> if forward checking is supported,
+                    <code>false</code> otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.GetSupportedExtensions">
+                     * Returns an immutable <code>Set</code> of X.509 certificate extensions
+                     * that this <code>PKIXCertPathChecker</code> supports (i.e. recognizes,
+                     * is able to process), or <code>null</code> if no extensions are
+                     * supported.
+                     * <p>
+                     * Each element of the set is a <code>String</code> representing the
+                     * Object Identifier (OID) of the X.509 extension that is supported. The OID
+                     * is represented by a set of nonnegative integers separated by periods.
+                     * </p><p>
+                     * All X.509 certificate extensions that a <code>PKIXCertPathChecker</code>
+                     * might possibly be able to process should be included in the set.
+            		 * </p>
+                     * 
+                     * @return an immutable <code>Set</code> of X.509 extension OIDs (in
+                     *         <code>String</code> format) supported by this
+                     *         <code>PKIXCertPathChecker</code>, or <code>null</code> if no
+                     *         extensions are supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Check(Org.BouncyCastle.X509.X509Certificate,System.Collections.ICollection)">
+            Performs the check(s) on the specified certificate using its internal
+            state and removes any critical extensions that it processes from the
+            specified collection of OID strings that represent the unresolved
+            critical extensions. The certificates are presented in the order
+            specified by the <code>init</code> method.
+            
+            @param cert
+                       the <code>Certificate</code> to be checked
+            @param unresolvedCritExts
+                       a <code>Collection</code> of OID strings representing the
+                       current set of unresolved critical extensions
+            @exception CertPathValidatorException
+                           if the specified certificate does not pass the check
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Clone">
+            Returns a clone of this object. Calls the <code>Object.clone()</code>
+            method. All subclasses which maintain state must support and override
+            this method, if necessary.
+            
+            @return a copy of this <code>PKIXCertPathChecker</code>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidator">
+            The <i>Service Provider Interface</i> (<b>SPI</b>)
+            for the {@link CertPathValidator CertPathValidator} class. All
+            <code>CertPathValidator</code> implementations must include a class (the
+            SPI class) that extends this class (<code>CertPathValidatorSpi</code>)
+            and implements all of its methods. In general, instances of this class
+            should only be accessed through the <code>CertPathValidator</code> class.
+            For details, see the Java Cryptography Architecture.<br />
+            <br />
+            <b>Concurrent Access</b><br />
+            <br />
+            Instances of this class need not be protected against concurrent
+            access from multiple threads. Threads that need to access a single
+            <code>CertPathValidatorSpi</code> instance concurrently should synchronize
+            amongst themselves and provide the necessary locking before calling the
+            wrapping <code>CertPathValidator</code> object.<br />
+            <br />
+            However, implementations of <code>CertPathValidatorSpi</code> may still
+            encounter concurrency issues, since multiple threads each
+            manipulating a different <code>CertPathValidatorSpi</code> instance need not
+            synchronize.
+            <summary>
+            CertPathValidatorSpi implementation for X.509 Certificate validation a la RFC
+            3280.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorException">
+             An exception indicating one of a variety of problems encountered when 
+             validating a certification path. <br />
+             <br />
+             A <code>CertPathValidatorException</code> provides support for wrapping
+             exceptions. The {@link #getCause getCause} method returns the throwable, 
+             if any, that caused this exception to be thrown. <br />
+             <br />
+             A <code>CertPathValidatorException</code> may also include the 
+             certification path that was being validated when the exception was thrown 
+             and the index of the certificate in the certification path that caused the 
+             exception to be thrown. Use the {@link #getCertPath getCertPath} and
+             {@link #getIndex getIndex} methods to retrieve this information.<br />
+             <br />
+             <b>Concurrent Access</b><br />
+             <br />
+             Unless otherwise specified, the methods defined in this class are not
+             thread-safe. Multiple threads that need to access a single
+             object concurrently should synchronize amongst themselves and
+             provide the necessary locking. Multiple threads each manipulating
+             separate objects need not synchronize.
+            
+             @see CertPathValidator
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the given detail
+            message. A detail message is a <code>String</code> that describes this
+            particular exception. 
+            </summary>
+            <param name="message">the detail message</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String,System.Exception)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the specified
+            detail message and cause.
+            </summary>
+            <param name="message">the detail message</param>
+            <param name="cause">the cause (which is saved for later retrieval by the
+            {@link #getCause getCause()} method). (A <code>null</code>
+            value is permitted, and indicates that the cause is
+            nonexistent or unknown.)</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String,System.Exception,Org.BouncyCastle.Pkix.PkixCertPath,System.Int32)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the specified
+            detail message, cause, certification path, and index.
+            </summary>
+            <param name="message">the detail message (or <code>null</code> if none)</param>
+            <param name="cause">the cause (or <code>null</code> if none)</param>
+            <param name="certPath">the certification path that was in the process of being
+            validated when the error was encountered</param>
+            <param name="index">the index of the certificate in the certification path that</param>																																																																																   * 
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.Message">
+            <summary>
+            Returns the detail message for this <code>CertPathValidatorException</code>.
+            </summary>
+            <returns>the detail message, or <code>null</code> if neither the message nor cause were specified</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.CertPath">
+            Returns the certification path that was being validated when the
+            exception was thrown.
+            
+            @return the <code>CertPath</code> that was being validated when the
+                    exception was thrown (or <code>null</code> if not specified)
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.Index">
+            Returns the index of the certificate in the certification path that
+            caused the exception to be thrown. Note that the list of certificates in
+            a <code>CertPath</code> is zero based. If no index has been set, -1 is
+            returned.
+            
+            @return the index that has been set, or -1 if none has been set
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities">
+            <summary>
+            Summary description for PkixCertPathValidatorUtilities.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.KEY_CERT_SIGN">
+            <summary>
+            key usage bits
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindTrustAnchor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Utilities.Collections.ISet)">
+            <summary>
+            Search the given Set of TrustAnchor's for one that is the
+            issuer of the given X509 certificate.
+            </summary>
+            <param name="cert">the X509 certificate</param>
+            <param name="trustAnchors">a Set of TrustAnchor's</param>
+            <returns>the <code>TrustAnchor</code> object if found or
+            <code>null</code> if not.
+            </returns>
+            @exception
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetIssuerPrincipal(System.Object)">
+            <summary>
+            Returns the issuer of an attribute certificate or certificate.
+            </summary>
+            <param name="cert">The attribute certificate or certificate.</param>
+            <returns>The issuer as <code>X500Principal</code>.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetNextWorkingKey(System.Collections.IList,System.Int32)">
+             Return the next working key inheriting DSA parameters if necessary.
+             <p>
+             This methods inherits DSA parameters from the indexed certificate or
+             previous certificates in the certificate chain to the returned
+             <code>PublicKey</code>. The list is searched upwards, meaning the end
+             certificate is at position 0 and previous certificates are following.
+             </p>
+             <p>
+             If the indexed certificate does not contain a DSA key this method simply
+             returns the public key. If the DSA key already contains DSA parameters
+             the key is also only returned.
+             </p>
+            
+             @param certs The certification path.
+             @param index The index of the certificate which contains the public key
+                        which should be extended with DSA parameters.
+             @return The public key of the certificate in list position
+                     <code>index</code> extended with DSA parameters if applicable.
+             @throws Exception if DSA parameters cannot be inherited.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindCertificates(Org.BouncyCastle.X509.Store.X509CertStoreSelector,System.Collections.IList)">
+            <summary>
+            Return a Collection of all certificates or attribute certificates found
+            in the X509Store's that are matching the certSelect criteriums.
+            </summary>
+            <param name="certSelect">a {@link Selector} object that will be used to select
+            the certificates</param>
+            <param name="certStores">a List containing only X509Store objects. These
+            are used to search for certificates.</param>
+            <returns>a Collection of all found <see cref="T:Org.BouncyCastle.X509.X509Certificate"/> or
+            org.bouncycastle.x509.X509AttributeCertificate objects.
+            May be empty but never <code>null</code>.</returns>
+            <exception cref="T:System.Exception"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetCrlIssuersFromDistributionPoint(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Collections.ICollection,Org.BouncyCastle.X509.Store.X509CrlStoreSelector,Org.BouncyCastle.Pkix.PkixParameters)">
+             Add the CRL issuers from the cRLIssuer field of the distribution point or
+             from the certificate if not given to the issuer criterion of the
+             <code>selector</code>.
+             <p>
+             The <code>issuerPrincipals</code> are a collection with a single
+             <code>X500Principal</code> for <code>X509Certificate</code>s. For
+             {@link X509AttributeCertificate}s the issuer may contain more than one
+             <code>X500Principal</code>.
+             </p>
+            
+             @param dp The distribution point.
+             @param issuerPrincipals The issuers of the certificate or attribute
+                        certificate which contains the distribution point.
+             @param selector The CRL selector.
+             @param pkixParams The PKIX parameters containing the cert stores.
+             @throws Exception if an exception occurs while processing.
+             @throws ClassCastException if <code>issuerPrincipals</code> does not
+             contain only <code>X500Principal</code>s.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetCompleteCrls(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,System.DateTime,Org.BouncyCastle.Pkix.PkixParameters)">
+             Fetches complete CRLs according to RFC 3280.
+            
+             @param dp The distribution point for which the complete CRL
+             @param cert The <code>X509Certificate</code> or
+                        {@link org.bouncycastle.x509.X509AttributeCertificate} for
+                        which the CRL should be searched.
+             @param currentDate The date for which the delta CRLs must be valid.
+             @param paramsPKIX The extended PKIX parameters.
+             @return A <code>Set</code> of <code>X509CRL</code>s with complete
+                     CRLs.
+             @throws Exception if an exception occurs while picking the CRLs
+                         or no CRLs are found.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetDeltaCrls(System.DateTime,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Crl)">
+             Fetches delta CRLs according to RFC 3280 section 5.2.4.
+            
+             @param currentDate The date for which the delta CRLs must be valid.
+             @param paramsPKIX The extended PKIX parameters.
+             @param completeCRL The complete CRL the delta CRL is for.
+             @return A <code>Set</code> of <code>X509CRL</code>s with delta CRLs.
+             @throws Exception if an exception occurs while picking the delta
+                         CRLs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindIssuerCerts(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Find the issuer certificates of a given certificate.
+            
+             @param cert
+                        The certificate for which an issuer should be found.
+             @param pkixParams
+             @return A <code>Collection</code> object containing the issuer
+                     <code>X509Certificate</code>s. Never <code>null</code>.
+            
+             @exception Exception
+                            if an error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetExtensionValue(Org.BouncyCastle.X509.IX509Extension,Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            <summary>
+            Extract the value of the given extension, if it exists.
+            </summary>
+            <param name="ext">The extension object.</param>
+            <param name="oid">The object identifier to obtain.</param>
+            <returns>Asn1Object</returns>
+            <exception cref="T:System.Exception">if the extension cannot be read.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCrlUtilities.FindCrls(Org.BouncyCastle.X509.Store.X509CrlStoreSelector,System.Collections.IList)">
+            <summary>
+            crl checking
+            Return a Collection of all CRLs found in the X509Store's that are
+            matching the crlSelect criteriums.
+            </summary>
+            <param name="crlSelect">a {@link X509CRLStoreSelector} object that will be used
+            to select the CRLs</param>
+            <param name="crlStores">a List containing only {@link org.bouncycastle.x509.X509Store
+            X509Store} objects. These are used to search for CRLs</param>
+            <returns>a Collection of all found {@link X509CRL X509CRL} objects. May be
+            empty but never <code>null</code>.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectIP(Org.BouncyCastle.Utilities.Collections.ISet,Org.BouncyCastle.Utilities.Collections.ISet)">
+             Returns the intersection of the permitted IP ranges in
+             <code>permitted</code> with <code>ip</code>.
+            
+             @param permitted A <code>Set</code> of permitted IP addresses with
+                              their subnet mask as byte arrays.
+             @param ips       The IP address with its subnet mask.
+             @return The <code>Set</code> of permitted IP ranges intersected with
+                     <code>ip</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.UnionIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Returns the union of the excluded IP ranges in <code>excluded</code>
+             with <code>ip</code>.
+            
+             @param excluded A <code>Set</code> of excluded IP addresses with their
+                             subnet mask as byte arrays.
+             @param ip       The IP address with its subnet mask.
+             @return The <code>Set</code> of excluded IP ranges unified with
+                     <code>ip</code> as byte arrays.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.UnionIPRange(System.Byte[],System.Byte[])">
+             Calculates the union if two IP ranges.
+            
+             @param ipWithSubmask1 The first IP address with its subnet mask.
+             @param ipWithSubmask2 The second IP address with its subnet mask.
+             @return A <code>Set</code> with the union of both addresses.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectIPRange(System.Byte[],System.Byte[])">
+             Calculates the interesction if two IP ranges.
+            
+             @param ipWithSubmask1 The first IP address with its subnet mask.
+             @param ipWithSubmask2 The second IP address with its subnet mask.
+             @return A <code>Set</code> with the single IP address with its subnet
+                     mask as a byte array or an empty <code>Set</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IpWithSubnetMask(System.Byte[],System.Byte[])">
+             Concatenates the IP address with its subnet mask.
+            
+             @param ip         The IP address.
+             @param subnetMask Its subnet mask.
+             @return The concatenated IP address with its subnet mask.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.ExtractIPsAndSubnetMasks(System.Byte[],System.Byte[])">
+             Splits the IP addresses and their subnet mask.
+            
+             @param ipWithSubmask1 The first IP address with the subnet mask.
+             @param ipWithSubmask2 The second IP address with the subnet mask.
+             @return An array with two elements. Each element contains the IP address
+                     and the subnet mask in this order.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.MinMaxIPs(System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
+             Based on the two IP addresses and their subnet masks the IP range is
+             computed for each IP address - subnet mask pair and returned as the
+             minimum IP address and the maximum address of the range.
+            
+             @param ip1         The first IP address.
+             @param subnetmask1 The subnet mask of the first IP address.
+             @param ip2         The second IP address.
+             @param subnetmask2 The subnet mask of the second IP address.
+             @return A array with two elements. The first/second element contains the
+                     min and max IP address of the first/second IP address and its
+                     subnet mask.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.CheckPermittedIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Checks if the IP <code>ip</code> is included in the permitted ISet
+             <code>permitted</code>.
+            
+             @param permitted A <code>Set</code> of permitted IP addresses with
+                              their subnet mask as byte arrays.
+             @param ip        The IP address.
+             @throws PkixNameConstraintValidatorException
+                      if the IP is not permitted.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkExcludedIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Checks if the IP <code>ip</code> is included in the excluded ISet
+             <code>excluded</code>.
+            
+             @param excluded A <code>Set</code> of excluded IP addresses with their
+                             subnet mask as byte arrays.
+             @param ip       The IP address.
+             @throws PkixNameConstraintValidatorException
+                      if the IP is excluded.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IsIPConstrained(System.Byte[],System.Byte[])">
+             Checks if the IP address <code>ip</code> is constrained by
+             <code>constraint</code>.
+            
+             @param ip         The IP address.
+             @param constraint The constraint. This is an IP address concatenated with
+                               its subnetmask.
+             @return <code>true</code> if constrained, <code>false</code>
+                     otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.unionEmail(System.String,System.String,Org.BouncyCastle.Utilities.Collections.ISet)">
+             The common part of <code>email1</code> and <code>email2</code> is
+             added to the union <code>union</code>. If <code>email1</code> and
+             <code>email2</code> have nothing in common they are added both.
+            
+             @param email1 Email address constraint 1.
+             @param email2 Email address constraint 2.
+             @param union  The union.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.intersectEmail(System.String,System.String,Org.BouncyCastle.Utilities.Collections.ISet)">
+             The most restricting part from <code>email1</code> and
+             <code>email2</code> is added to the intersection <code>intersect</code>.
+            
+             @param email1    Email address constraint 1.
+             @param email2    Email address constraint 2.
+             @param intersect The intersection.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkPermitted(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Checks if the given GeneralName is in the permitted ISet.
+            
+             @param name The GeneralName
+             @throws PkixNameConstraintValidatorException
+                      If the <code>name</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkExcluded(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Check if the given GeneralName is contained in the excluded ISet.
+            
+             @param name The GeneralName.
+             @throws PkixNameConstraintValidatorException
+                      If the <code>name</code> is
+                      excluded.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectPermittedSubtree(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Updates the permitted ISet of these name constraints with the intersection
+             with the given subtree.
+            
+             @param permitted The permitted subtrees
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.AddExcludedSubtree(Org.BouncyCastle.Asn1.X509.GeneralSubtree)">
+             Adds a subtree to the excluded ISet of these name constraints.
+            
+             @param subtree A subtree with an excluded GeneralName.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Max(System.Byte[],System.Byte[])">
+             Returns the maximum IP address.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The maximum IP address.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Min(System.Byte[],System.Byte[])">
+             Returns the minimum IP address.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The minimum IP address.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.CompareTo(System.Byte[],System.Byte[])">
+             Compares IP address <code>ip1</code> with <code>ip2</code>. If ip1
+             is equal to ip2 0 is returned. If ip1 is bigger 1 is returned, -1
+             otherwise.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return 0 if ip1 is equal to ip2, 1 if ip1 is bigger, -1 otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Or(System.Byte[],System.Byte[])">
+             Returns the logical OR of the IP addresses <code>ip1</code> and
+             <code>ip2</code>.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The OR of <code>ip1</code> and <code>ip2</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.StringifyIP(System.Byte[])">
+             Stringifies an IPv4 or v6 address with subnet mask.
+            
+             @param ip The IP with subnet mask.
+             @return The stringified IP address.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixPolicyNode">
+            <summary>
+            Summary description for PkixPolicyNode.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixPolicyNode.#ctor(System.Collections.IList,System.Int32,Org.BouncyCastle.Utilities.Collections.ISet,Org.BouncyCastle.Pkix.PkixPolicyNode,Org.BouncyCastle.Utilities.Collections.ISet,System.String,System.Boolean)">
+            Constructors
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.ReasonsMask">
+            <summary>
+            This class helps to handle CRL revocation reasons mask. Each CRL handles a
+            certain set of revocation reasons.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.#ctor(System.Int32)">
+            <summary>
+            Constructs are reason mask with the reasons.
+            </summary>
+            <param name="reasons">The reasons.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.#ctor">
+            <summary>
+            A reason mask with no reason.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.ReasonsMask.AllReasons">
+            <summary>
+            A mask with all revocation reasons.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.AddReasons(Org.BouncyCastle.Pkix.ReasonsMask)">
+             Adds all reasons from the reasons mask to this mask.
+            
+             @param mask The reasons mask to add.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.Intersect(Org.BouncyCastle.Pkix.ReasonsMask)">
+            <summary>
+            Intersects this mask with the given reasons mask.
+            </summary>
+            <param name="mask">mask The mask to intersect with.</param>
+            <returns>The intersection of this and teh given mask.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.HasNewReasons(Org.BouncyCastle.Pkix.ReasonsMask)">
+            <summary>
+            Returns <c>true</c> if the passed reasons mask has new reasons.
+            </summary>
+            <param name="mask">The reasons mask which should be tested for new reasons.</param>
+            <returns><c>true</c> if the passed reasons mask has new reasons.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.ReasonsMask.IsAllReasons">
+            <summary>
+            Returns <code>true</code> if this reasons mask contains all possible
+            reasons.
+            </summary>
+            <returns>true if this reasons mask contains all possible reasons.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.ReasonsMask.Reasons">
+            <summary>
+            Returns the reasons in this mask.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlB2(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,Org.BouncyCastle.X509.X509Crl)">
+             If the complete CRL includes an issuing distribution point (IDP) CRL
+             extension check the following:
+             <p>
+             (i) If the distribution point name is present in the IDP CRL extension
+             and the distribution field is present in the DP, then verify that one of
+             the names in the IDP matches one of the names in the DP. If the
+             distribution point name is present in the IDP CRL extension and the
+             distribution field is omitted from the DP, then verify that one of the
+             names in the IDP matches one of the names in the cRLIssuer field of the
+             DP.
+             </p>
+             <p>
+             (ii) If the onlyContainsUserCerts boolean is asserted in the IDP CRL
+             extension, verify that the certificate does not include the basic
+             constraints extension with the cA boolean asserted.
+             </p>
+             <p>
+             (iii) If the onlyContainsCACerts boolean is asserted in the IDP CRL
+             extension, verify that the certificate includes the basic constraints
+             extension with the cA boolean asserted.
+             </p>
+             <p>
+             (iv) Verify that the onlyContainsAttributeCerts boolean is not asserted.
+             </p>
+            
+             @param dp   The distribution point.
+             @param cert The certificate.
+             @param crl  The CRL.
+             @throws AnnotatedException if one of the conditions is not met or an error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlB1(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,Org.BouncyCastle.X509.X509Crl)">
+             If the DP includes cRLIssuer, then verify that the issuer field in the
+             complete CRL matches cRLIssuer in the DP and that the complete CRL
+             contains an
+                  g distribution point extension with the indirectCRL
+             boolean asserted. Otherwise, verify that the CRL issuer matches the
+             certificate issuer.
+            
+             @param dp   The distribution point.
+             @param cert The certificate ot attribute certificate.
+             @param crl  The CRL for <code>cert</code>.
+             @throws AnnotatedException if one of the above conditions does not apply or an error
+                                        occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlF(Org.BouncyCastle.X509.X509Crl,System.Object,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Pkix.PkixParameters,System.Collections.IList)">
+             Obtain and validate the certification path for the complete CRL issuer.
+             If a key usage extension is present in the CRL issuer's certificate,
+             verify that the cRLSign bit is set.
+            
+             @param crl                CRL which contains revocation information for the certificate
+                                       <code>cert</code>.
+             @param cert               The attribute certificate or certificate to check if it is
+                                       revoked.
+             @param defaultCRLSignCert The issuer certificate of the certificate <code>cert</code>.
+             @param defaultCRLSignKey  The public key of the issuer certificate
+                                       <code>defaultCRLSignCert</code>.
+             @param paramsPKIX         paramsPKIX PKIX parameters.
+             @param certPathCerts      The certificates on the certification path.
+             @return A <code>Set</code> with all keys of possible CRL issuer
+                     certificates.
+             @throws AnnotatedException if the CRL is not valid or the status cannot be checked or
+                                        some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.CheckCrl(Org.BouncyCastle.Asn1.X509.DistributionPoint,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Pkix.CertStatus,Org.BouncyCastle.Pkix.ReasonsMask,System.Collections.IList)">
+             Checks a distribution point for revocation information for the
+             certificate <code>cert</code>.
+            
+             @param dp                 The distribution point to consider.
+             @param paramsPKIX         PKIX parameters.
+             @param cert               Certificate to check if it is revoked.
+             @param validDate          The date when the certificate revocation status should be
+                                       checked.
+             @param defaultCRLSignCert The issuer certificate of the certificate <code>cert</code>.
+             @param defaultCRLSignKey  The public key of the issuer certificate
+                                       <code>defaultCRLSignCert</code>.
+             @param certStatus         The current certificate revocation status.
+             @param reasonMask         The reasons mask which is already checked.
+             @param certPathCerts      The certificates of the certification path.
+             @throws AnnotatedException if the certificate is revoked or the status cannot be checked
+                                        or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.CheckCrls(Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Collections.IList)">
+             Checks a certificate if it is revoked.
+            
+             @param paramsPKIX       PKIX parameters.
+             @param cert             Certificate to check if it is revoked.
+             @param validDate        The date when the certificate revocation status should be
+                                     checked.
+             @param sign             The issuer certificate of the certificate <code>cert</code>.
+             @param workingPublicKey The public key of the issuer certificate <code>sign</code>.
+             @param certPathCerts    The certificates of the certification path.
+             @throws AnnotatedException if the certificate is revoked or the status cannot be checked
+                                        or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlC(Org.BouncyCastle.X509.X509Crl,Org.BouncyCastle.X509.X509Crl,Org.BouncyCastle.Pkix.PkixParameters)">
+             If use-deltas is set, verify the issuer and scope of the delta CRL.
+            
+             @param deltaCRL    The delta CRL.
+             @param completeCRL The complete CRL.
+             @param pkixParams  The PKIX paramaters.
+             @throws AnnotatedException if an exception occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.CheckCrls(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,System.Collections.IList)">
+            Checks if an attribute certificate is revoked.
+            
+            @param attrCert Attribute certificate to check if it is revoked.
+            @param paramsPKIX PKIX parameters.
+            @param issuerCert The issuer certificate of the attribute certificate
+                       <code>attrCert</code>.
+            @param validDate The date when the certificate revocation status should
+                       be checked.
+            @param certPathCerts The certificates of the certification path to be
+                       checked.
+            
+            @throws CertPathValidatorException if the certificate is revoked or the
+                        status cannot be checked or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.ProcessAttrCert1(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters)">
+            Searches for a holder public key certificate and verifies its
+            certification path.
+            
+            @param attrCert the attribute certificate.
+            @param pkixParams The PKIX parameters.
+            @return The certificate path of the holder certificate.
+            @throws Exception if
+                        <ul>
+                        <li>no public key certificate can be found although holder
+                        information is given by an entity name or a base certificate
+                        ID</li>
+                        <li>support classes cannot be created</li>
+                        <li>no certification path for the public key certificate can
+                        be built</li>
+                        </ul>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.CheckCrl(Org.BouncyCastle.Asn1.X509.DistributionPoint,Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Pkix.CertStatus,Org.BouncyCastle.Pkix.ReasonsMask,System.Collections.IList)">
+            
+            Checks a distribution point for revocation information for the
+            certificate <code>attrCert</code>.
+            
+            @param dp The distribution point to consider.
+            @param attrCert The attribute certificate which should be checked.
+            @param paramsPKIX PKIX parameters.
+            @param validDate The date when the certificate revocation status should
+                       be checked.
+            @param issuerCert Certificate to check if it is revoked.
+            @param reasonMask The reasons mask which is already checked.
+            @param certPathCerts The certificates of the certification path to be
+                       checked.
+            @throws Exception if the certificate is revoked or the status
+                        cannot be checked or some error occurs.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.TrustAnchor">
+            <summary>
+            A trust anchor or most-trusted Certification Authority (CA).
+            
+            This class represents a "most-trusted CA", which is used as a trust anchor
+            for validating X.509 certification paths. A most-trusted CA includes the
+            public key of the CA, the CA's name, and any constraints upon the set of
+            paths which may be validated using this key. These parameters can be
+            specified in the form of a trusted X509Certificate or as individual
+            parameters.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(Org.BouncyCastle.X509.X509Certificate,System.Byte[])">
+             <summary>
+             Creates an instance of TrustAnchor with the specified X509Certificate and
+             optional name constraints, which are intended to be used as additional
+             constraints when validating an X.509 certification path.
+            	The name constraints are specified as a byte array. This byte array
+            	should contain the DER encoded form of the name constraints, as they
+            	would appear in the NameConstraints structure defined in RFC 2459 and
+            	X.509. The ASN.1 definition of this structure appears below.
+            	
+            	<pre>
+            	NameConstraints ::= SEQUENCE {
+            		permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
+            		excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
+            	   
+             GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+             
+            		GeneralSubtree ::= SEQUENCE {
+            		base                    GeneralName,
+            		minimum         [0]     BaseDistance DEFAULT 0,
+            		maximum         [1]     BaseDistance OPTIONAL }
+            		
+            		BaseDistance ::= INTEGER (0..MAX)
+            
+            		GeneralName ::= CHOICE {
+            		otherName                       [0]     OtherName,
+            		rfc822Name                      [1]     IA5String,
+            		dNSName                         [2]     IA5String,
+            		x400Address                     [3]     ORAddress,
+            		directoryName                   [4]     Name,
+            		ediPartyName                    [5]     EDIPartyName,
+            		uniformResourceIdentifier       [6]     IA5String,
+            		iPAddress                       [7]     OCTET STRING,
+            		registeredID                    [8]     OBJECT IDENTIFIER}
+            	</pre>
+            	
+            	Note that the name constraints byte array supplied is cloned to protect
+            	against subsequent modifications.
+             </summary>
+             <param name="trustedCert">a trusted X509Certificate</param>
+             <param name="nameConstraints">a byte array containing the ASN.1 DER encoding of a
+             NameConstraints extension to be used for checking name
+             constraints. Only the value of the extension is included, not
+             the OID or criticality flag. Specify null to omit the
+             parameter.</param>
+             <exception cref="T:System.ArgumentNullException">if the specified X509Certificate is null</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+            <summary>
+            Creates an instance of <c>TrustAnchor</c> where the
+            most-trusted CA is specified as an X500Principal and public key.
+            </summary>
+            <remarks>
+            <p>
+            Name constraints are an optional parameter, and are intended to be used
+            as additional constraints when validating an X.509 certification path.
+            </p><p>
+            The name constraints are specified as a byte array. This byte array
+            contains the DER encoded form of the name constraints, as they
+            would appear in the NameConstraints structure defined in RFC 2459
+            and X.509. The ASN.1 notation for this structure is supplied in the
+            documentation for the other constructors.
+            </p><p>
+            Note that the name constraints byte array supplied here is cloned to
+            protect against subsequent modifications.
+            </p>
+            </remarks>
+            <param name="caPrincipal">the name of the most-trusted CA as X509Name</param>
+            <param name="pubKey">the public key of the most-trusted CA</param>
+            <param name="nameConstraints">
+            a byte array containing the ASN.1 DER encoding of a NameConstraints extension to
+            be used for checking name constraints. Only the value of the extension is included,
+            not the OID or criticality flag. Specify <c>null</c> to omit the parameter.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            if <c>caPrincipal</c> or <c>pubKey</c> is null
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+            <summary>
+            Creates an instance of <code>TrustAnchor</code> where the most-trusted
+            CA is specified as a distinguished name and public key. Name constraints
+            are an optional parameter, and are intended to be used as additional
+            constraints when validating an X.509 certification path.
+            <br/>
+            The name constraints are specified as a byte array. This byte array
+            contains the DER encoded form of the name constraints, as they would
+            appear in the NameConstraints structure defined in RFC 2459 and X.509.
+            </summary>
+            <param name="caName">the X.500 distinguished name of the most-trusted CA in RFC
+            2253 string format</param>
+            <param name="pubKey">the public key of the most-trusted CA</param>
+            <param name="nameConstraints">a byte array containing the ASN.1 DER encoding of a
+            NameConstraints extension to be used for checking name
+            constraints. Only the value of the extension is included, not 
+            the OID or criticality flag. Specify null to omit the 
+            parameter.</param>
+            throws NullPointerException, IllegalArgumentException
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.setNameConstraints(System.Byte[])">
+            <summary>
+            Decode the name constraints and clone them if not null.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.ToString">
+            <summary>
+            Returns a formatted string describing the <code>TrustAnchor</code>.
+            </summary>
+            <returns>a formatted string describing the <code>TrustAnchor</code></returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.TrustedCert">
+            <summary>
+            Returns the most-trusted CA certificate.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CA">
+            <summary>
+            Returns the name of the most-trusted CA as an X509Name.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CAName">
+            <summary>
+            Returns the name of the most-trusted CA in RFC 2253 string format.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CAPublicKey">
+            <summary>
+            Returns the public key of the most-trusted CA.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.AgreementUtilities">
+            <remarks>
+             Utility class for creating IBasicAgreement objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.CipherUtilities">
+            <remarks>
+             Cipher Utility class contains methods that can not be specifically grouped into other classes.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.CipherUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.DigestUtilities">
+            <remarks>
+             Utility class for creating IDigest objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.DigestUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a given digest mechanism.
+            </summary>
+            <param name="mechanism">A string representation of the digest meanism.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.MacUtilities">
+            <remarks>
+             Utility class for creating HMac object from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.PbeUtilities">
+             <summary>
+            
+             </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.PbeUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecureRandom.#ctor(Org.BouncyCastle.Crypto.Prng.IRandomGenerator)">
+            <summary>Use the specified instance of IRandomGenerator as random source.</summary>
+            <remarks>
+            This constructor performs no seeding of either the <c>IRandomGenerator</c> or the
+            constructed <c>SecureRandom</c>. It is the responsibility of the client to provide
+            proper seed material as necessary/appropriate for the given <c>IRandomGenerator</c>
+            implementation.
+            </remarks>
+            <param name="generator">The source to generate all random bytes from.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecurityUtilityException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecurityUtilityException.#ctor(System.String)">
+             create a SecurityUtilityException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="T:Org.BouncyCastle.Security.SignerUtilities">
+            <summary>
+             Signer Utility class contains methods that can not be specifically grouped into other classes.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SignerUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.WrapperUtilities">
+            <remarks>
+             Utility class for creating IWrapper objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampRequest">
+            Base class for an RFC 3161 Time Stamp Request.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.#ctor(System.Byte[])">
+             Create a TimeStampRequest from the past in byte array.
+            
+             @param req byte array containing the request.
+             @throws IOException if the request is malformed.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.#ctor(System.IO.Stream)">
+             Create a TimeStampRequest from the past in input stream.
+            
+             @param in input stream containing the request.
+             @throws IOException if the request is malformed.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.Validate(System.Collections.IList,System.Collections.IList,System.Collections.IList)">
+             Validate the timestamp request, checking the digest to see if it is of an
+             accepted type and whether it is of the correct length for the algorithm specified.
+            
+             @param algorithms a set of string OIDS giving accepted algorithms.
+             @param policies if non-null a set of policies we are willing to sign under.
+             @param extensions if non-null a set of extensions we are willing to accept.
+             @throws TspException if the request is invalid, or processing fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampRequestGenerator">
+            Generator for RFC 3161 Time Stamp Request objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 3)
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 3)
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampResponse">
+            Base class for an RFC 3161 Time Stamp Response object.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.#ctor(System.Byte[])">
+             Create a TimeStampResponse from a byte array containing an ASN.1 encoding.
+            
+             @param resp the byte array containing the encoded response.
+             @throws TspException if the response is malformed.
+             @throws IOException if the byte array doesn't represent an ASN.1 encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.#ctor(System.IO.Stream)">
+             Create a TimeStampResponse from an input stream containing an ASN.1 encoding.
+            
+             @param input the input stream containing the encoded response.
+             @throws TspException if the response is malformed.
+             @throws IOException if the stream doesn't represent an ASN.1 encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.Validate(Org.BouncyCastle.Tsp.TimeStampRequest)">
+             Check this response against to see if it a well formed response for
+             the passed in request. Validation will include checking the time stamp
+             token if the response status is GRANTED or GRANTED_WITH_MODS.
+            
+             @param request the request to be checked against
+             @throws TspException if the request can not match this response.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampResponseGenerator">
+            Generator for RFC 3161 Time Stamp Responses.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponseGenerator.Generate(Org.BouncyCastle.Tsp.TimeStampRequest,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Utilities.Date.DateTimeObject)">
+             Return an appropriate TimeStampResponse.
+             <p>
+             If genTime is null a timeNotAvailable error response will be returned.
+            
+             @param request the request this response is for.
+             @param serialNumber serial number for the response token.
+             @param genTime generation time for the response token.
+             @param provider provider to use for signature calculation.
+             @return
+             @throws NoSuchAlgorithmException
+             @throws NoSuchProviderException
+             @throws TSPException
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponseGenerator.GenerateFailResponse(Org.BouncyCastle.Asn1.Cmp.PkiStatus,System.Int32,System.String)">
+             Generate a TimeStampResponse with chosen status and FailInfoField.
+            
+             @param status the PKIStatus to set.
+             @param failInfoField the FailInfoField to set.
+             @param statusString an optional string describing the failure.
+             @return a TimeStampResponse with a failInfoField and optional statusString
+             @throws TSPException in case the response could not be created
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.Validate(Org.BouncyCastle.X509.X509Certificate)">
+            Validate the time stamp token.
+            <p>
+            To be valid the token must be signed by the passed in certificate and
+            the certificate must be the one referred to by the SigningCertificate
+            attribute included in the hashed attributes of the token. The
+            certificate must also have the ExtendedKeyUsageExtension with only
+            KeyPurposeID.IdKPTimeStamping and have been valid at the time the
+            timestamp was created.
+            </p>
+            <p>
+            A successful call to validate means all the above are true.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.ToCmsSignedData">
+             Return the underlying CmsSignedData object.
+            
+             @return the underlying CMS structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.GetEncoded">
+             Return a ASN.1 encoded byte stream representing the encoded object.
+            
+             @throws IOException if encoding fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampTokenGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+            basic creation - only the default attributes will be included here.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampTokenGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            create with a signer with extra signed/unsigned attributes.
+        </member>
+        <member name="P:Org.BouncyCastle.Tsp.TimeStampTokenInfo.Nonce">
+            @return the nonce value, null if there isn't one.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TspAlgorithms">
+            Recognised hash algorithms for the time stamp protocol.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.GetSignatureTimestamps(Org.BouncyCastle.Cms.SignerInformation)">
+             Fetches the signature time-stamp attributes from a SignerInformation object.
+             Checks that the MessageImprint for each time-stamp matches the signature field.
+             (see RFC 3161 Appendix A).
+            
+             @param signerInfo a SignerInformation to search for time-stamps
+             @return a collection of TimeStampToken objects
+             @throws TSPValidationException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.ValidateCertificate(Org.BouncyCastle.X509.X509Certificate)">
+             Validate the passed in certificate as being of the correct type to be used
+             for time stamping. To be valid it must have an ExtendedKeyUsage extension
+             which has a key purpose identifier of id-kp-timeStamping.
+            
+             @param cert the certificate of interest.
+             @throws TspValidationException if the certicate fails on one of the check points.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.GetDigestAlgName(System.String)">
+            <summary>
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TspValidationException">
+            Exception thrown if a TSP request or response fails to validate.
+            <p>
+            If a failure code is associated with the exception it can be retrieved using
+            the getFailureCode() method.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Tsp.TspValidationException.FailureCode">
+             Return the failure code associated with this exception - if one is set.
+            
+             @return the failure code if set, -1 otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Arrays">
+            <summary> General array utilities.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Arrays.AreEqual(System.Byte[],System.Byte[])">
+            <summary>
+            Are two arrays equal.
+            </summary>
+            <param name="a">Left side.</param>
+            <param name="b">Right side.</param>
+            <returns>True if equal.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Arrays.ConstantTimeAreEqual(System.Byte[],System.Byte[])">
+            <summary>
+            A constant time equals comparison - does not terminate early if
+            test will fail.
+            </summary>
+            <param name="a">first array</param>
+            <param name="b">second array</param>
+            <returns>true if arrays equal, false otherwise.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.BigIntegers">
+            BigInteger utilities.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.BigIntegers.AsUnsignedByteArray(Org.BouncyCastle.Math.BigInteger)">
+             Return the passed in value as an unsigned byte array.
+            
+             @param value value to be converted.
+             @return a byte array without a leading zero byte if present in the signed encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.BigIntegers.CreateRandomInRange(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Security.SecureRandom)">
+            Return a random BigInteger not less than 'min' and not greater than 'max'
+            
+            @param min the least value that may be generated
+            @param max the greatest value that may be generated
+            @param random the source of randomness
+            @return a random BigInteger value in the range [min,max]
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.DateTimeToUnixMs(System.DateTime)">
+            <summary>
+            Return the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC) for a given DateTime value.
+            </summary>
+            <param name="dateTime">A UTC DateTime value not before epoch.</param>
+            <returns>Number of whole milliseconds after epoch.</returns>
+            <exception cref="T:System.ArgumentException">'dateTime' is before epoch.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.UnixMsToDateTime(System.Int64)">
+            <summary>
+            Create a DateTime value from the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC).
+            </summary>
+            <param name="unixMs">Number of milliseconds since the epoch.</param>
+            <returns>A UTC DateTime value</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.CurrentUnixMs">
+            <summary>
+            Return the current number of milliseconds since the Unix epoch (1 Jan., 1970 UTC).
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[])">
+             encode the input data producing a base 64 encoded byte array.
+            
+             @return a byte array containing the base 64 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[],System.IO.Stream)">
+             Encode the byte data to base 64 writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             Encode the byte data to base 64 writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.Byte[])">
+             decode the base 64 encoded input data. It is assumed the input data is valid.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.String)">
+             decode the base 64 encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.String,System.IO.Stream)">
+             decode the base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.IEncoder">
+            Encode and decode byte arrays (typically from binary to 7-bit ASCII
+            encodings).
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             encode the input data producing a base 64 output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.Decode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             decode the base 64 encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.DecodeString(System.String,System.IO.Stream)">
+             decode the base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder">
+            <summary>
+             A buffering class to allow translation from one format to another to
+                be done in discrete chunks.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.#ctor(Org.BouncyCastle.Utilities.Encoders.ITranslator,System.Int32)">
+            <summary>
+            Create a buffered Decoder.
+            </summary>
+            <param name="translator">The translater to use.</param>
+            <param name="bufferSize">The size of the buffer.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+            <summary>
+            Process one byte of data.
+            </summary>
+            <param name="input">Data in.</param>
+            <param name="output">Byte array for the output.</param>
+            <param name="outOff">The offset in the output byte array to start writing from.</param>
+            <returns>The amount of output bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process data from a byte array.
+            </summary>
+            <param name="input">The input data.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="len">Amount of data to process from input data array.</param>
+            <param name="outBytes">Array to store output.</param>
+            <param name="outOff">Position in output array to start writing from.</param>
+            <returns>The amount of output bytes.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder">
+            <summary>
+            A class that allows encoding of data using a specific encoder to be processed in chunks.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.#ctor(Org.BouncyCastle.Utilities.Encoders.ITranslator,System.Int32)">
+            <summary>
+            Create.
+            </summary>
+            <param name="translator">The translator to use.</param>
+            <param name="bufferSize">Size of the chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+            <summary>
+            Process one byte of data.
+            </summary>
+            <param name="input">The byte.</param>
+            <param name="outBytes">An array to store output in.</param>
+            <param name="outOff">Offset within output array to start writing from.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process data from a byte array.
+            </summary>
+            <param name="input">Input data Byte array containing data to be processed.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="len">Amount of input data to be processed.</param>
+            <param name="outBytes">Output data array.</param>
+            <param name="outOff">Offset within output data array to start writing to.</param>
+            <returns>The amount of data written.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.Hex">
+            <summary>
+            Class to decode and encode Hex.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[])">
+             encode the input data producing a Hex encoded byte array.
+            
+             @return a byte array containing the Hex encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.Int32,System.Int32)">
+             encode the input data producing a Hex encoded byte array.
+            
+             @return a byte array containing the Hex encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.IO.Stream)">
+             Hex encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             Hex encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.Byte[])">
+             decode the Hex encoded input data. It is assumed the input data is valid.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.String)">
+             decode the Hex encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.String,System.IO.Stream)">
+             decode the Hex encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             encode the input data producing a Hex output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.Decode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             decode the Hex encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.DecodeString(System.String,System.IO.Stream)">
+             decode the Hex encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.HexTranslator">
+            <summary>
+            A hex translator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.ITranslator">
+            <summary>
+            Translator interface.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.GetEncodedBlockSize">
+            <summary>
+            Return encoded block size.
+            </summary>
+            <returns>2</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Encode some data.
+            </summary>
+            <param name="input">Input data array.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="length">The amount of data to process.</param>
+            <param name="outBytes">The output data array.</param>
+            <param name="outOff">The offset within the output data array to start writing from.</param>
+            <returns>Amount of data encoded.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.GetDecodedBlockSize">
+            <summary>
+            Returns the decoded block size.
+            </summary>
+            <returns>1</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Decode data from a byte array.
+            </summary>
+            <param name="input">The input data array.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="length">The amounty of data to process.</param>
+            <param name="outBytes">The output data array.</param>
+            <param name="outOff">The position within the output data array to start writing from.</param>
+            <returns>The amount of data written.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.UrlBase64">
+            Convert binary data to and from UrlBase64 encoding.  This is identical to
+            Base64 encoding, except that the padding character is "." and the other 
+            non-alphanumeric characters are "-" and "_" instead of "+" and "/".
+            <p>
+            The purpose of UrlBase64 encoding is to provide a compact encoding of binary
+            data that is safe for use as an URL parameter. Base64 encoding does not
+            produce encoded values that are safe for use in URLs, since "/" can be 
+            interpreted as a path delimiter; "+" is the encoded form of a space; and
+            "=" is used to separate a name from the corresponding value in an URL 
+            parameter.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Encode(System.Byte[])">
+             Encode the input data producing a URL safe base 64 encoded byte array.
+            
+             @return a byte array containing the URL safe base 64 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Encode(System.Byte[],System.IO.Stream)">
+             Encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.Byte[])">
+             Decode the URL safe base 64 encoded input data - white space will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.Byte[],System.IO.Stream)">
+             decode the URL safe base 64 encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.String)">
+             decode the URL safe base 64 encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.String,System.IO.Stream)">
+             Decode the URL safe base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.UrlBase64Encoder">
+            Convert binary data to and from UrlBase64 encoding.  This is identical to
+            Base64 encoding, except that the padding character is "." and the other 
+            non-alphanumeric characters are "-" and "_" instead of "+" and "/".
+            <p>
+            The purpose of UrlBase64 encoding is to provide a compact encoding of binary
+            data that is safe for use as an URL parameter. Base64 encoding does not
+            produce encoded values that are safe for use in URLs, since "/" can be 
+            interpreted as a path delimiter; "+" is the encoded form of a space; and
+            "=" is used to separate a name from the corresponding value in an URL 
+            parameter.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemObjectParser.ParseObject(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+            <param name="obj">
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </param>
+            <returns>
+            A <see cref="T:System.Object"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Streams.PipeAllLimited(System.IO.Stream,System.Int64,System.IO.Stream)">
+            <summary>
+            Pipe all bytes from <c>inStr</c> to <c>outStr</c>, throwing <c>StreamFlowException</c> if greater
+            than <c>limit</c> bytes in <c>inStr</c>.
+            </summary>
+            <param name="inStr">
+            A <see cref="T:System.IO.Stream"/>
+            </param>
+            <param name="limit">
+            A <see cref="T:System.Int64"/>
+            </param>
+            <param name="outStr">
+            A <see cref="T:System.IO.Stream"/>
+            </param>
+            <returns>The number of bytes actually transferred, if not greater than <c>limit</c></returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValid(System.String)">
+             Validate the given IPv4 or IPv6 address.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid address, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidWithNetMask(System.String)">
+             Validate the given IPv4 or IPv6 address and netmask.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid address with netmask, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidIPv4(System.String)">
+             Validate the given IPv4 address.
+             
+             @param address the IP address as a string.
+            
+             @return true if a valid IPv4 address, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidIPv6(System.String)">
+             Validate the given IPv6 address.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid IPv4 address, false otherwise
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Strings">
+            <summary> General string utilities.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Zlib.ZDeflaterOutputStream">
+            <summary>
+            Summary description for DeflaterOutputStream.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Zlib.ZInflaterInputStream">
+            <summary>
+            Summary description for DeflaterOutputStream.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.AttributeCertificateHolder">
+            <remarks>
+            The Holder object.
+            <pre>
+            Holder ::= SEQUENCE {
+            	baseCertificateID   [0] IssuerSerial OPTIONAL,
+            		-- the issuer and serial number of
+            		-- the holder's Public Key Certificate
+            	entityName          [1] GeneralNames OPTIONAL,
+            		-- the name of the claimant or role
+            	objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+            		-- used to directly authenticate the holder,
+            		-- for example, an executable
+            }
+            </pre>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.#ctor(System.Int32,System.String,System.String,System.Byte[])">
+             Constructs a holder for v2 attribute certificates with a hash value for
+             some type of object.
+             <p>
+             <code>digestedObjectType</code> can be one of the following:
+             <ul>
+             <li>0 - publicKey - A hash of the public key of the holder must be
+             passed.</li>
+             <li>1 - publicKeyCert - A hash of the public key certificate of the
+             holder must be passed.</li>
+             <li>2 - otherObjectDigest - A hash of some other object type must be
+             passed. <code>otherObjectTypeID</code> must not be empty.</li>
+             </ul>
+             </p>
+             <p>This cannot be used if a v1 attribute certificate is used.</p>
+            
+             @param digestedObjectType The digest object type.
+             @param digestAlgorithm The algorithm identifier for the hash.
+             @param otherObjectTypeID The object type ID if
+                        <code>digestedObjectType</code> is
+                        <code>otherObjectDigest</code>.
+             @param objectDigest The hash value.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetObjectDigest">
+             Returns the hash if an object digest info is used.
+            
+             @return The hash or <code>null</code> if no object digest info is set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetEntityNames">
+             Return any principal objects inside the attribute certificate holder entity names field.
+            
+             @return an array of IPrincipal objects (usually X509Name), null if no entity names field is set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetIssuer">
+             Return the principals associated with the issuer attached to this holder
+            
+             @return an array of principals, null if no BaseCertificateID is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.DigestedObjectType">
+             Returns the digest object type if an object digest info is used.
+             <p>
+             <ul>
+             <li>0 - publicKey - A hash of the public key of the holder must be
+             passed.</li>
+             <li>1 - publicKeyCert - A hash of the public key certificate of the
+             holder must be passed.</li>
+             <li>2 - otherObjectDigest - A hash of some other object type must be
+             passed. <code>otherObjectTypeID</code> must not be empty.</li>
+             </ul>
+             </p>
+            
+             @return The digest object type or -1 if no object digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.DigestAlgorithm">
+             Returns the other object type ID if an object digest info is used.
+            
+             @return The other object type ID or <code>null</code> if no object
+                     digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.OtherObjectTypeID">
+             Returns the digest algorithm ID if an object digest info is used.
+            
+             @return The digest algorithm ID or <code>null</code> if no object
+                     digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.SerialNumber">
+             Return the serial number associated with the issuer attached to this holder.
+            
+             @return the certificate serial number, null if no BaseCertificateID is set.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.AttributeCertificateIssuer">
+            Carrying class for an attribute certificate issuer.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateIssuer.#ctor(Org.BouncyCastle.Asn1.X509.AttCertIssuer)">
+             Set the issuer directly with the ASN.1 structure.
+            
+             @param issuer The issuer
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateIssuer.GetPrincipals">
+            <summary>Return any principal objects inside the attribute certificate issuer object.</summary>
+            <returns>An array of IPrincipal objects (usually X509Principal).</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure">
+            <remarks>A high level authority key identifier.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor which will take the byte[] returned from getExtensionValue()
+            
+             @param encodedValue a DER octet encoded string with the extension structure in it.
+             @throws IOException on parsing errors.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.X509.X509Certificate)">
+             Create an AuthorityKeyIdentifier using the passed in certificate's public
+             key, issuer and serial number.
+            
+             @param certificate the certificate providing the information.
+             @throws CertificateParsingException if there is a problem processing the certificate
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             Create an AuthorityKeyIdentifier using just the hash of the
+             public key.
+            
+             @param pubKey the key to generate the hash from.
+             @throws InvalidKeyException if there is a problem using the key.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Extension.SubjectKeyIdentifierStructure">
+            A high level subject key identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.SubjectKeyIdentifierStructure.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor which will take the byte[] returned from getExtensionValue()
+            
+             @param encodedValue a DER octet encoded string with the extension structure in it.
+             @throws IOException on parsing errors.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.IX509AttributeCertificate">
+            <remarks>Interface for an X.509 Attribute Certificate.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetAttributes">
+            <summary>Return the attributes contained in the attribute block in the certificate.</summary>
+            <returns>An array of attributes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetAttributes(System.String)">
+            <summary>Return the attributes with the same type as the passed in oid.</summary>
+            <param name="oid">The object identifier we wish to match.</param>
+            <returns>An array of matched attributes, null if there is no match.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetEncoded">
+            <summary>Return an ASN.1 encoded byte array representing the attribute certificate.</summary>
+            <returns>An ASN.1 encoded byte array.</returns>
+            <exception cref="T:System.IO.IOException">If the certificate cannot be encoded.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Version">
+            <summary>The version number for the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.SerialNumber">
+            <summary>The serial number for the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.NotBefore">
+            <summary>The UTC DateTime before which the certificate is not valid.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.NotAfter">
+            <summary>The UTC DateTime after which the certificate is not valid.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Holder">
+            <summary>The holder of the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Issuer">
+            <summary>The issuer details for the certificate.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.PrincipalUtilities">
+            <remarks>
+            A utility class that will extract X509Principal objects from X.509 certificates.
+            <p>
+            Use this in preference to trying to recreate a principal from a string, not all
+            DNs are what they should be, so it's best to leave them encoded where they
+            can be.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetIssuerX509Principal(Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Return the issuer of the given cert as an X509Principal.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetSubjectX509Principal(Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Return the subject of the given cert as an X509Principal.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetIssuerX509Principal(Org.BouncyCastle.X509.X509Crl)">
+            <summary>Return the issuer of the given CRL as an X509Principal.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector">
+             This class is an <code>Selector</code> like implementation to select
+             attribute certificates from a given set of criteria.
+            
+             @see org.bouncycastle.x509.X509AttributeCertificate
+             @see org.bouncycastle.x509.X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Match(System.Object)">
+            <summary>
+            Decides if the given attribute certificate should be selected.
+            </summary>
+            <param name="obj">The attribute certificate to be checked.</param>
+            <returns><code>true</code> if the object matches this selector.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetName(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Adds a target name criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target names.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name The name as a GeneralName (not <code>null</code>)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetName(System.Byte[])">
+             Adds a target name criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target names.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name a byte array containing the name in ASN.1 DER encoded form of a GeneralName
+             @throws IOException if a parsing error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SetTargetNames(System.Collections.IEnumerable)">
+            Adds a collection with target names criteria. If <code>null</code> is
+            given any will do.
+            <p>
+            The collection consists of either GeneralName objects or byte[] arrays representing
+            DER encoded GeneralName structures.
+            </p>
+            
+            @param names A collection of target names.
+            @throws IOException if a parsing error occurs.
+            @see #AddTargetName(byte[])
+            @see #AddTargetName(GeneralName)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.GetTargetNames">
+            Gets the target names. The collection consists of <code>List</code>s
+            made up of an <code>Integer</code> in the first entry and a DER encoded
+            byte array or a <code>String</code> in the second entry.
+            <p>The returned collection is immutable.</p>
+            
+            @return The collection of target names
+            @see #setTargetNames(Collection)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetGroup(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Adds a target group criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target groups.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param group The group as GeneralName form (not <code>null</code>)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetGroup(System.Byte[])">
+             Adds a target group criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target groups.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name a byte array containing the group in ASN.1 DER encoded form of a GeneralName
+             @throws IOException if a parsing error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SetTargetGroups(System.Collections.IEnumerable)">
+             Adds a collection with target groups criteria. If <code>null</code> is
+             given any will do.
+             <p>
+             The collection consists of <code>GeneralName</code> objects or <code>byte[]</code>
+             representing DER encoded GeneralNames.
+             </p>
+            
+             @param names A collection of target groups.
+             @throws IOException if a parsing error occurs.
+             @see #AddTargetGroup(byte[])
+             @see #AddTargetGroup(GeneralName)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.GetTargetGroups">
+             Gets the target groups. The collection consists of <code>List</code>s
+             made up of an <code>Integer</code> in the first entry and a DER encoded
+             byte array or a <code>String</code> in the second entry.
+             <p>The returned collection is immutable.</p>
+            
+             @return The collection of target groups.
+             @see #setTargetGroups(Collection)
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AttributeCert">
+            <summary>The attribute certificate which must be matched.</summary>
+            <remarks>If <c>null</c> is given, any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AttributeCertificateValid">
+            <summary>The criteria for validity</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Holder">
+            <summary>The holder.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Issuer">
+            <summary>The issuer.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SerialNumber">
+            <summary>The serial number.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector">
+            <remarks>
+            This class is an <code>IX509Selector</code> implementation to select
+            certificate pairs, which are e.g. used for cross certificates. The set of
+            criteria is given from two <code>X509CertStoreSelector</code> objects,
+            each of which, if present, must match the respective component of a pair.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.Match(System.Object)">
+            <summary>
+            Decides if the given certificate pair should be selected. If
+            <c>obj</c> is not a <code>X509CertificatePair</code>, this method
+            returns <code>false</code>.
+            </summary>
+            <param name="obj">The <code>X509CertificatePair</code> to be tested.</param>
+            <returns><code>true</code> if the object matches this selector.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.CertPair">
+            <summary>The certificate pair which is used for testing on equality.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.ForwardSelector">
+            <summary>The certificate selector for the forward part.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.ReverseSelector">
+            <summary>The certificate selector for the reverse part.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CollectionStore">
+            A simple collection backed store.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStore.#ctor(System.Collections.ICollection)">
+             Basic constructor.
+            
+             @param collection - initial contents for the store, this is copied.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStore.GetMatches(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Return the matches in the collection for the passed in selector.
+            
+             @param selector the selector to match against.
+             @return a possibly empty collection of matching objects.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters">
+            <remarks>This class contains a collection for collection based <code>X509Store</code>s.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.#ctor(System.Collections.ICollection)">
+            <summary>
+            Constructor.
+            <p>
+            The collection is copied.
+            </p>
+            </summary>
+            <param name="collection">The collection containing X.509 object types.</param>
+            <exception cref="T:System.ArgumentNullException">If collection is null.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.GetCollection">
+            <summary>Returns a copy of the <code>ICollection</code>.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.ToString">
+            <summary>Returns a formatted string describing the parameters.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.Issuers">
+            <summary>
+            An <code>ICollection</code> of <code>X509Name</code> objects
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.AttrCertChecking">
+             The attribute certificate being checked. This is not a criterion.
+             Rather, it is optional information that may help a {@link X509Store} find
+             CRLs that would be relevant when checking revocation for the specified
+             attribute certificate. If <code>null</code> is specified, then no such
+             optional information is provided.
+            
+             @param attrCert the <code>IX509AttributeCertificate</code> being checked (or
+                         <code>null</code>)
+             @see #getAttrCertificateChecking()
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.CompleteCrlEnabled">
+             If <code>true</code> only complete CRLs are returned. Defaults to
+             <code>false</code>.
+            
+             @return <code>true</code> if only complete CRLs are returned.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.DeltaCrlIndicatorEnabled">
+             Returns if this selector must match CRLs with the delta CRL indicator
+             extension set. Defaults to <code>false</code>.
+            
+             @return Returns <code>true</code> if only CRLs with the delta CRL
+                     indicator extension are selected.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.IssuingDistributionPoint">
+             The issuing distribution point.
+             <p>
+             The issuing distribution point extension is a CRL extension which
+             identifies the scope and the distribution point of a CRL. The scope
+             contains among others information about revocation reasons contained in
+             the CRL. Delta CRLs and complete CRLs must have matching issuing
+             distribution points.</p>
+             <p>
+             The byte array is cloned to protect against subsequent modifications.</p>
+             <p>
+             You must also enable or disable this criteria with
+             {@link #setIssuingDistributionPointEnabled(bool)}.</p>
+            
+             @param issuingDistributionPoint The issuing distribution point to set.
+                                             This is the DER encoded OCTET STRING extension value.
+             @see #getIssuingDistributionPoint()
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.IssuingDistributionPointEnabled">
+             Whether the issuing distribution point criteria should be applied.
+             Defaults to <code>false</code>.
+             <p>
+             You may also set the issuing distribution point criteria if not a missing
+             issuing distribution point should be assumed.</p>
+            
+             @return Returns if the issuing distribution point check is enabled.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.MaxBaseCrlNumber">
+             The maximum base CRL number. Defaults to <code>null</code>.
+            
+             @return Returns the maximum base CRL number.
+             @see #setMaxBaseCRLNumber(BigInteger)
+        </member>
+        <member name="T:Org.BouncyCastle.X509.SubjectPublicKeyInfoFactory">
+            <summary>
+            A factory to produce Public Key Info Objects.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Create a Subject Public Key Info object for a given public key.
+            </summary>
+            <param name="key">One of ElGammalPublicKeyParameters, DSAPublicKeyParameter, DHPublicKeyParameters, RsaKeyParameters or ECPublicKeyParameters</param>
+            <returns>A subject public key info object.</returns>
+            <exception cref="T:System.Exception">Throw exception if object provided is not one of the above.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCert(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCerts(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCert(System.IO.Stream)">
+            Generates a certificate object and initializes it with the data
+            read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCerts(System.IO.Stream)">
+            Returns a (possibly empty) collection view of the certificates
+            read from the given input stream inStream.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Attribute">
+            Class for carrying the values in an X.509 Attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param at an object representing an attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Create an X.509 Attribute with the type given by the passed in oid and
+             the value represented by an ASN.1 Set containing value.
+            
+             @param oid type of the attribute
+             @param value value object to go into the atribute's value set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+             Create an X.59 Attribute with the type given by the passed in oid and the
+             value represented by an ASN.1 Set containing the objects in value.
+            
+             @param oid type of the attribute
+             @param value vector of values to go in the attribute's value set.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Certificate">
+            <summary>
+            An Object representing an X509 Certificate.
+            Has static methods for loading Certificates encoded in many forms that return X509Certificate Objects.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.IsValid(System.DateTime)">
+            <summary>
+            Return true if the nominated time is within the start and end times nominated on the certificate.
+            </summary>
+            <param name="time">The time to test validity against.</param>
+            <returns>True if certificate is valid for nominated time.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.CheckValidity">
+            <summary>
+            Checks if the current date is within certificate's validity period.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.CheckValidity(System.DateTime)">
+            <summary>
+            Checks if the given date is within certificate's validity period.
+            </summary>
+            <exception cref="T:Org.BouncyCastle.Security.Certificates.CertificateExpiredException">if the certificate is expired by given date</exception>
+            <exception cref="T:Org.BouncyCastle.Security.Certificates.CertificateNotYetValidException">if the certificate is not yet valid on given date</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetTbsCertificate">
+            <summary>
+            Return the Der encoded TbsCertificate data.
+            This is the certificate component less the signature.
+            To Get the whole certificate call the GetEncoded() member.
+            </summary>
+            <returns>A byte array containing the Der encoded Certificate component.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetSignature">
+            <summary>
+            The signature.
+            </summary>
+            <returns>A byte array containg the signature of the certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetSigAlgParams">
+            <summary>
+            Get the signature algorithms parameters. (EG DSA Parameters)
+            </summary>
+            <returns>A byte array containing the Der encoded version of the parameters or null if there are none.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetKeyUsage">
+            <summary>
+            Get a key usage guidlines.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetPublicKey">
+            <summary>
+            Get the public key of the subject of the certificate.
+            </summary>
+            <returns>The public key parameters.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetEncoded">
+            <summary>
+            Return a Der encoded version of this certificate.
+            </summary>
+            <returns>A byte array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Verify the certificate's signature using the nominated public key.
+            </summary>
+            <param name="key">An appropriate public key parameter object, RsaPublicKeyParameters, DsaPublicKeyParameters or ECDsaPublicKeyParameters</param>
+            <returns>True if the signature is valid.</returns>
+            <exception cref="T:System.Exception">If key submitted is not of the above nominated types.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IsValidNow">
+            <summary>
+            Return true if the current time is within the start and end times nominated on the certificate.
+            </summary>
+            <returns>true id certificate is valid for the current time.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.Version">
+            <summary>
+            Return the certificate's version.
+            </summary>
+            <returns>An integer whose value Equals the version of the cerficate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SerialNumber">
+            <summary>
+            Return a <see cref="T:Org.BouncyCastle.Math.BigInteger">BigInteger</see> containing the serial number.
+            </summary>
+            <returns>The Serial number.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IssuerDN">
+            <summary>
+            Get the Issuer Distinguished Name. (Who signed the certificate.)
+            </summary>
+            <returns>And X509Object containing name and value pairs.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SubjectDN">
+            <summary>
+            Get the subject of this certificate.
+            </summary>
+            <returns>An X509Name object containing name and value pairs.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.NotBefore">
+            <summary>
+            The time that this certificate is valid from.
+            </summary>
+            <returns>A DateTime object representing that time in the local time zone.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.NotAfter">
+            <summary>
+            The time that this certificate is valid up to.
+            </summary>
+            <returns>A DateTime object representing that time in the local time zone.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SigAlgName">
+            <summary>
+            A meaningful version of the Signature Algorithm. (EG SHA1WITHRSA)
+            </summary>
+            <returns>A sting representing the signature algorithm.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SigAlgOid">
+            <summary>
+            Get the Signature Algorithms Object ID.
+            </summary>
+            <returns>A string containg a '.' separated object id.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IssuerUniqueID">
+            <summary>
+            Get the issuers UID.
+            </summary>
+            <returns>A DerBitString.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SubjectUniqueID">
+            <summary>
+            Get the subjects UID.
+            </summary>
+            <returns>A DerBitString.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CertificatePair">
+            <remarks>
+            This class contains a cross certificate pair. Cross certificates pairs may
+            contain two cross signed certificates from two CAs. A certificate from the
+            other CA to this CA is contained in the forward certificate, the certificate
+            from this CA to the other CA is contained in the reverse certificate.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificatePair.#ctor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Constructor</summary>
+            <param name="forward">Certificate from the other CA to this CA.</param>
+            <param name="reverse">Certificate from this CA to the other CA.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificatePair.#ctor(Org.BouncyCastle.Asn1.X509.CertificatePair)">
+            <summary>Constructor from a ASN.1 CertificatePair structure.</summary>
+            <param name="pair">The <c>CertificatePair</c> ASN.1 object.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509CertificatePair.Forward">
+            <summary>Returns the certificate from the other CA to this CA.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509CertificatePair.Reverse">
+            <summary>Returns the certificate from this CA to the other CA.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CertificateParser">
+            class for dealing with X509 certificates.
+            <p>
+            At the moment this will deal with "-----BEGIN CERTIFICATE-----" to "-----END CERTIFICATE-----"
+            base 64 encoded certs, as well as the BER binaries of certificates and some classes of PKCS#7
+            objects.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificate(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificates(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificate(System.IO.Stream)">
+            Generates a certificate object and initializes it with the data
+            read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificates(System.IO.Stream)">
+            Returns a (possibly empty) collection view of the certificates
+            read from the given input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertPairParser.ReadCertPair(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertPairParser.ReadCertPairs(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Crl">
+             The following extensions are listed in RFC 2459 as relevant to CRLs
+            
+             Authority Key Identifier
+             Issuer Alternative Name
+             CRL Number
+             Delta CRL Indicator (critical)
+             Issuing Distribution Point (critical)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Crl.ToString">
+             Returns a string representation of this CRL.
+            
+             @return a string representation of this CRL.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Crl.IsRevoked(Org.BouncyCastle.X509.X509Certificate)">
+             Checks whether the given certificate is on this CRL.
+            
+             @param cert the certificate to check for.
+             @return true if the given certificate is on this CRL,
+             false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CrlEntry">
+             The following extensions are listed in RFC 2459 as relevant to CRL Entries
+            
+             ReasonCode Hode Instruction Code Invalidity Date Certificate Issuer
+             (critical)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlEntry.#ctor(Org.BouncyCastle.Asn1.X509.CrlEntry,System.Boolean,Org.BouncyCastle.Asn1.X509.X509Name)">
+             Constructor for CRLEntries of indirect CRLs. If <code>isIndirect</code>
+             is <code>false</code> {@link #getCertificateIssuer()} will always
+             return <code>null</code>, <code>previousCertificateIssuer</code> is
+             ignored. If this <code>isIndirect</code> is specified and this CrlEntry
+             has no certificate issuer CRL entry extension
+             <code>previousCertificateIssuer</code> is returned by
+             {@link #getCertificateIssuer()}.
+            
+             @param c
+                        TbsCertificateList.CrlEntry object.
+             @param isIndirect
+                        <code>true</code> if the corresponding CRL is a indirect
+                        CRL.
+             @param previousCertificateIssuer
+                        Certificate issuer of the previous CrlEntry.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrl(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrls(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrl(System.IO.Stream)">
+            Generates a certificate revocation list (CRL) object and initializes
+            it with the data read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrls(System.IO.Stream)">
+             Returns a (possibly empty) collection view of the CRLs read from
+             the given input stream inStream.
+            
+             The inStream may contain a sequence of DER-encoded CRLs, or
+             a PKCS#7 CRL set.  This is a PKCS#7 SignedData object, with the
+             only significant field being crls.  In particular the signature
+             and the contents are ignored.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509KeyUsage">
+             A holding class for constructing an X509 Key Usage extension.
+            
+             <pre>
+                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
+            
+                KeyUsage ::= BIT STRING {
+                     digitalSignature        (0),
+                     nonRepudiation          (1),
+                     keyEncipherment         (2),
+                     dataEncipherment        (3),
+                     keyAgreement            (4),
+                     keyCertSign             (5),
+                     cRLSign                 (6),
+                     encipherOnly            (7),
+                     decipherOnly            (8) }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509KeyUsage.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (X509KeyUsage.keyEncipherment | X509KeyUsage.dataEncipherment)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509SignatureUtilities.GetDigestAlgName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V1CertificateGenerator">
+            <summary>
+            Class to Generate X509V1 Certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.#ctor">
+            <summary>
+            Default Constructor.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Reset">
+            <summary>
+            Reset the generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>
+            Set the certificate's serial number.
+            </summary>
+            <remarks>Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data.
+            You will be surprised how ugly a serial number collision can get.</remarks>
+            <param name="serialNumber">The serial number.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the issuer distinguished name.
+            The issuer is the entity whose private key is used to sign the certificate.
+            </summary>
+            <param name="issuer">The issuers DN.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetNotBefore(System.DateTime)">
+            <summary>
+            Set the date that this certificate is to be valid from.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetNotAfter(System.DateTime)">
+            <summary>
+            Set the date after which this certificate will no longer be valid.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSubjectDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the subject distinguished name.
+            The subject describes the entity associated with the public key.
+            </summary>
+            <param name="subject"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetPublicKey(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Set the public key that this certificate identifies.
+            </summary>
+            <param name="publicKey"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm that will be used to sign this certificate.
+            This can be either a name or an OID, names are treated as case insensitive.
+            </summary>
+            <param name="signatureAlgorithm">string representation of the algorithm name</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate a new X509Certificate.
+            </summary>
+            <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate a new X509Certificate specifying a SecureRandom instance that you would like to use.
+            </summary>
+            <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
+            <param name="random">The Secure Random you want to use.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V1CertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2AttributeCertificate">
+            <summary>An implementation of a version 2 X.509 Attribute Certificate.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator">
+            <remarks>Class to produce an X.509 Version 2 AttributeCertificate.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Reset">
+            <summary>Reset the generator</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetHolder(Org.BouncyCastle.X509.AttributeCertificateHolder)">
+            <summary>Set the Holder of this Attribute Certificate.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetIssuer(Org.BouncyCastle.X509.AttributeCertificateIssuer)">
+            <summary>Set the issuer.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>Set the serial number for the certificate.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm. This can be either a name or an OID, names
+            are treated as case insensitive.
+            </summary>
+            <param name="signatureAlgorithm">The algorithm name.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddAttribute(Org.BouncyCastle.X509.X509Attribute)">
+            <summary>Add an attribute.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>Add a given extension field for the standard extensions tag.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            <summary>
+            Add a given extension field for the standard extensions tag.
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate an X509 certificate, based on the current issuer and subject.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate an X509 certificate, based on the current issuer and subject,
+            using the supplied source of randomness, if required.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2CrlGenerator">
+            class to produce an X.509 Version 2 CRL.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Reset">
+            reset the generator
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the
+            certificate.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,System.Int32)">
+             Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise
+             or 0 if CrlReason is not to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,System.Int32,System.DateTime)">
+             Add a CRL entry with an Invalidity Date extension as well as a CrlReason extension.
+             Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise
+             or 0 if CrlReason is not to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a CRL entry with extensions.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrl(Org.BouncyCastle.X509.X509Crl)">
+             Add the CRLEntry objects contained in a previous CRL.
+            
+             @param other the X509Crl to source the other entries from.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.SetSignatureAlgorithm(System.String)">
+             Set the signature algorithm. This can be either a name or an oid, names
+             are treated as case insensitive.
+            
+             @param signatureAlgorithm string representation of the algorithm name.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>Generate an X509 CRL, based on the current issuer and subject.</summary>
+            <param name="privateKey">The key used for signing.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Generate an X509 CRL, based on the current issuer and subject.</summary>
+            <param name="privateKey">The key used for signing.</param>
+            <param name="random">A user-defined source of randomness.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V2CrlGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V3CertificateGenerator">
+            <summary>
+            A class to Generate Version 3 X509Certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Reset">
+            <summary>
+            Reset the Generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>
+            Set the certificate's serial number.
+            </summary>
+            <remarks>Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data.
+            You will be surprised how ugly a serial number collision can Get.</remarks>
+            <param name="serialNumber">The serial number.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the distinguished name of the issuer.
+            The issuer is the entity which is signing the certificate.
+            </summary>
+            <param name="issuer">The issuer's DN.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetNotBefore(System.DateTime)">
+            <summary>
+            Set the date that this certificate is to be valid from.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetNotAfter(System.DateTime)">
+            <summary>
+            Set the date after which this certificate will no longer be valid.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSubjectDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the DN of the entity that this certificate is about.
+            </summary>
+            <param name="subject"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetPublicKey(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Set the public key that this certificate identifies.
+            </summary>
+            <param name="publicKey"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm that will be used to sign this certificate.
+            </summary>
+            <param name="signatureAlgorithm"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSubjectUniqueID(System.Boolean[])">
+            <summary>
+            Set the subject unique ID - note: it is very rare that it is correct to do this.
+            </summary>
+            <param name="uniqueID"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetIssuerUniqueID(System.Boolean[])">
+            <summary>
+            Set the issuer unique ID - note: it is very rare that it is correct to do this.
+            </summary>
+            <param name="uniqueID"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add a given extension field for the standard extensions tag (tag 3).
+            </summary>
+            <param name="oid">string containing a dotted decimal Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">The value.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add an extension to this certificate.
+            </summary>
+            <param name="oid">Its Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">The value.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension using a string with a dotted decimal OID.
+            </summary>
+            <param name="oid">string containing a dotted decimal Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">byte[] containing the value of this extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension to this certificate.
+            </summary>
+            <param name="oid">Its Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">byte[] containing the value of this extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.CopyAndAddExtension(System.String,System.Boolean,Org.BouncyCastle.X509.X509Certificate)">
+            <summary>
+            Add a given extension field for the standard extensions tag (tag 3),
+            copying the extension value from another certificate.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.CopyAndAddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.X509.X509Certificate)">
+            add a given extension field for the standard extensions tag (tag 3)
+            copying the extension value from another certificate.
+            @throws CertificateParsingException if the extension cannot be extracted.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate an X509Certificate.
+            </summary>
+            <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate an X509Certificate using your own SecureRandom.
+            </summary>
+            <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
+            <param name="random">You Secure Random instance.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V3CertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/crypto/doc/wp7/crypto.xml b/crypto/doc/wp7/crypto.xml
new file mode 100644
index 000000000..f1cf2f391
--- /dev/null
+++ b/crypto/doc/wp7/crypto.xml
@@ -0,0 +1,19296 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>crypto</name>
+    </assembly>
+    <members>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.BZip2Constants">
+             Base class for both the compress and decompress classes.
+             Holds common arrays, and static data.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CBZip2InputStream">
+             An input stream that decompresses from the BZip2 format (with the file
+             header chars) to be read as any other stream.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+            
+             <b>NB:</b> note this class has been modified to read the leading BZ from the
+             start of the BZIP2 stream to make it compatible with other PGP programs.
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CBZip2OutputStream">
+             An output stream that compresses into the BZip2 format (with the file
+             header chars) into another stream.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+            
+             TODO:    Update to BZip2 1.0.1
+             <b>NB:</b> note this class has been modified to add a leading BZ to the
+             start of the BZIP2 stream to make it compatible with other PGP programs.
+        </member>
+        <member name="M:Org.BouncyCastle.Apache.Bzip2.CBZip2OutputStream.WriteByte(System.Byte)">
+            
+             modified by Oliver Merkel, 010128
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Apache.Bzip2.CRC">
+             A simple class the hold and calculate the CRC for sanity checking
+             of the data.
+            
+             @author <a href="mailto:keiron@aftexsw.com">Keiron Liddle</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Encodable.GetDerEncoded">
+             Return the DER encoding of the object, null if the DER encoding can not be made.
+            
+             @return a DER byte array, null otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1InputStream">
+            a general purpose ASN.1 decoder - note: this class differs from the
+            others in that it returns null after it has read the last object in
+            the stream. If an ASN.1 Null is encountered a Der/BER Null object is
+            returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.#ctor(System.IO.Stream,System.Int32)">
+             Create an ASN1InputStream where no DER object will be longer than limit.
+            
+             @param input stream containing ASN.1 encoded data.
+             @param limit maximum size of a DER encoded object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.#ctor(System.Byte[])">
+             Create an ASN1InputStream based on the input byte array. The length of DER objects in
+             the stream is automatically limited to the length of the input array.
+            
+             @param input array containing ASN.1 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1InputStream.BuildObject(System.Int32,System.Int32,System.Int32)">
+            build an object given its tag and the number of bytes to construct it from.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1Null">
+            A Null object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Object.FromByteArray(System.Byte[])">
+            <summary>Create a base ASN.1 object from a byte array.</summary>
+            <param name="data">The byte array to parse.</param>
+            <returns>The base ASN.1 object represented by the byte array.</returns>
+            <exception cref="T:System.IO.IOException">If there is a problem parsing the data.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Object.FromStream(System.IO.Stream)">
+            <summary>Read a base ASN.1 object from a stream.</summary>
+            <param name="inStr">The stream to parse.</param>
+            <returns>The base ASN.1 object represented by the byte array.</returns>
+            <exception cref="T:System.IO.IOException">If there is a problem parsing the data.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Octet string from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                          be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.GetInstance(System.Object)">
+             return an Octet string from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1OctetString.#ctor(System.Byte[])">
+            @param string the octets making up the octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Sequence.GetInstance(System.Object)">
+             return an Asn1Sequence from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Sequence.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return an ASN1 sequence from a tagged object. There is a special
+             case here, if an object appears to have been explicitly tagged on
+             reading but we were expecting it to be implicitly tagged in the
+             normal course of events it indicates that we lost the surrounding
+             sequence - so we need to add it back (this will happen if the tagged
+             object is a sequence that contains other sequences). If you are
+             dealing with implicitly tagged sequences you really <b>should</b>
+             be using this method.
+            
+             @param obj the tagged object.
+             @param explicitly true if the object is meant to be explicitly tagged,
+                      false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                      be converted.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Asn1Sequence.Item(System.Int32)">
+             return the object at the sequence position indicated by index.
+            
+             @param index the sequence number (starting at zero) of the object
+             @return the object at the sequence position indicated by index.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.GetInstance(System.Object)">
+             return an ASN1Set from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return an ASN1 set from a tagged object. There is a special
+             case here, if an object appears to have been explicitly tagged on
+             reading but we were expecting it to be implicitly tagged in the
+             normal course of events it indicates that we lost the surrounding
+             set - so we need to add it back (this will happen if the tagged
+             object is a sequence that contains other sequences). If you are
+             dealing with implicitly tagged sets you really <b>should</b>
+             be using this method.
+            
+             @param obj the tagged object.
+             @param explicitly true if the object is meant to be explicitly tagged
+                      false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                      be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1Set.LessThanOrEqual(System.Byte[],System.Byte[])">
+            return true if a &lt;= b (arrays are assumed padded with zeros).
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Asn1Set.Item(System.Int32)">
+             return the object at the set position indicated by index.
+            
+             @param index the set number (starting at zero) of the object
+             @return the object at the set position indicated by index.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Asn1TaggedObject">
+            ASN.1 TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if the object is explicitly tagged.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.IsExplicit">
+            return whether or not the object may be explicitly tagged.
+            <p>
+            Note: if the object has been read from an input stream, the only
+            time you can be sure if isExplicit is returning the true state of
+            affairs is if it returns false. An implicitly tagged object may appear
+            to be explicitly tagged, so you need to understand the context under
+            which the reading was done as well, see GetObject below.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.GetObject">
+            return whatever was following the tag.
+            <p>
+            Note: tagged objects are generally context dependent if you're
+            trying to extract a tagged object you should be going via the
+            appropriate GetInstance method.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Asn1TaggedObject.GetObjectParser(System.Int32,System.Boolean)">
+            Return the object held in this tagged object as a parser assuming it has
+            the type of the passed in tag. If the object doesn't have a parser
+            associated with it, the base object is returned.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerApplicationSpecific">
+            Base class for an application specific object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerApplicationSpecific.GetObject">
+             Return the enclosed object assuming explicit tagging.
+            
+             @return  the resulting object
+             @throws IOException if reconstruction fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerApplicationSpecific.GetObject(System.Int32)">
+             Return the enclosed object assuming implicit tagging.
+            
+             @param derTagNo the type tag that should be applied to the object's contents.
+             @return  the resulting object
+             @throws IOException if reconstruction fails.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.BerNull">
+            A BER Null object.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerNull">
+            A Null object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerOctetString.#ctor(System.Byte[])">
+            <param name="str">The octets making up the octet string.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.ToBytes(System.Collections.IEnumerable)">
+            convert a vector of octet strings into a single byte string
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.#ctor(System.Byte[])">
+            <param name="str">The octets making up the octet string.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerOctetString.GetEnumerator">
+            return the DER octets that make up this string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a sequence containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a sequence containing a vector of objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a sequence containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSequence.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a sequence containing a vector of objects.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerSet">
+            A Der encoded set object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor">
+            create an empty set
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param obj - a single object that makes up the set.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerSet.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            @param v - a vector of objects making up the set.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor">
+            create an empty sequence
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            create a set containing one object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerSet.#ctor(Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+            create a set containing a vector of objects.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.BerTaggedObject">
+            BER TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerTaggedObject">
+            DER TaggedObject - in ASN.1 notation this is any object preceded by
+            a [n] where n is some number - these are assumed to follow the construction
+            rules (as with sequences).
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if an explicitly tagged object.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerTaggedObject.#ctor(System.Int32)">
+            create an implicitly tagged object that contains a zero
+            length sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Boolean,System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param explicitly true if an explicitly tagged object.
+            @param tagNo the tag number for this object.
+            @param obj the tagged object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.BerTaggedObject.#ctor(System.Int32)">
+            create an implicitly tagged object that contains a zero
+            length sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CAKeyUpdAnnContent.ToAsn1Object">
+            <pre>
+            CAKeyUpdAnnContent ::= SEQUENCE {
+                                        oldWithNew   CmpCertificate, -- old pub signed with new priv
+                                        newWithOld   CmpCertificate, -- new pub signed with old priv
+                                        newWithNew   CmpCertificate  -- new pub signed with new priv
+             }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertConfirmContent.ToAsn1Object">
+            <pre>
+            CertConfirmContent ::= SEQUENCE OF CertStatus
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertifiedKeyPair.ToAsn1Object">
+            <pre>
+            CertifiedKeyPair ::= SEQUENCE {
+                                             certOrEncCert       CertOrEncCert,
+                                             privateKey      [0] EncryptedValue      OPTIONAL,
+                                             -- see [CRMF] for comment on encoding
+                                             publicationInfo [1] PKIPublicationInfo  OPTIONAL
+                  }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IAsn1Choice">
+            Marker interface for CHOICE objects - if you implement this in a roll-your-own
+            object, any attempt to tag the object implicitly will convert the tag to an
+            explicit one as the encoding rules require.
+            <p>
+            If you use this interface your class should also implement the getInstance
+            pattern which takes a tag object and the tagging mode used. 
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertOrEncCert.ToAsn1Object">
+            <pre>
+            CertOrEncCert ::= CHOICE {
+                                 certificate     [0] CMPCertificate,
+                                 encryptedCert   [1] EncryptedValue
+                      }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertRepMessage.ToAsn1Object">
+            <pre>
+            CertRepMessage ::= SEQUENCE {
+                                     caPubs       [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                        OPTIONAL,
+                                     response         SEQUENCE OF CertResponse
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertResponse.ToAsn1Object">
+            <pre>
+            CertResponse ::= SEQUENCE {
+                                       certReqId           INTEGER,
+                                       -- to match this response with corresponding request (a value
+                                       -- of -1 is to be used if certReqId is not specified in the
+                                       -- corresponding request)
+                                       status              PKIStatusInfo,
+                                       certifiedKeyPair    CertifiedKeyPair    OPTIONAL,
+                                       rspInfo             OCTET STRING        OPTIONAL
+                                       -- analogous to the id-regInfo-utf8Pairs string defined
+                                       -- for regInfo in CertReqMsg [CRMF]
+                        }
+            </pre> 
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CertStatus.ToAsn1Object">
+            <pre>
+            CertStatus ::= SEQUENCE {
+                              certHash    OCTET STRING,
+                              -- the hash of the certificate, using the same hash algorithm
+                              -- as is used to create and verify the certificate signature
+                              certReqId   INTEGER,
+                              -- to match this confirmation with the corresponding req/rep
+                              statusInfo  PKIStatusInfo OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.Challenge.ToAsn1Object">
+             <pre>
+             Challenge ::= SEQUENCE {
+                             owf                 AlgorithmIdentifier  OPTIONAL,
+            
+                             -- MUST be present in the first Challenge; MAY be omitted in
+                             -- any subsequent Challenge in POPODecKeyChallContent (if
+                             -- omitted, then the owf used in the immediately preceding
+                             -- Challenge is to be used).
+            
+                             witness             OCTET STRING,
+                             -- the result of applying the one-way function (owf) to a
+                             -- randomly-generated INTEGER, A.  [Note that a different
+                             -- INTEGER MUST be used for each Challenge.]
+                             challenge           OCTET STRING
+                             -- the encryption (under the public key for which the cert.
+                             -- request is being made) of Rand, where Rand is specified as
+                             --   Rand ::= SEQUENCE {
+                             --      int      INTEGER,
+                             --       - the randomly-generated INTEGER A (above)
+                             --      sender   GeneralName
+                             --       - the sender's name (as included in PKIHeader)
+                             --   }
+                  }
+             </pre>
+             @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CmpCertificate.#ctor(Org.BouncyCastle.Asn1.X509.AttributeCertificate)">
+            Note: the addition of attribute certificates is a BC extension.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CmpCertificate.ToAsn1Object">
+             <pre>
+             CMPCertificate ::= CHOICE {
+                        x509v3PKCert        Certificate
+                        x509v2AttrCert      [1] AttributeCertificate
+              }
+             </pre>
+             Note: the addition of attribute certificates is a BC extension.
+            
+             @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.CrlAnnContent.ToAsn1Object">
+            <pre>
+            CrlAnnContent ::= SEQUENCE OF CertificateList
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.ErrorMsgContent.ToAsn1Object">
+            <pre>
+            ErrorMsgContent ::= SEQUENCE {
+                                   pKIStatusInfo          PKIStatusInfo,
+                                   errorCode              INTEGER           OPTIONAL,
+                                   -- implementation-specific error codes
+                                   errorDetails           PKIFreeText       OPTIONAL
+                                   -- implementation-specific error details
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.GenMsgContent.ToAsn1Object">
+            <pre>
+            GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.GenRepContent.ToAsn1Object">
+            <pre>
+            GenRepContent ::= SEQUENCE OF InfoTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cmp.InfoTypeAndValue">
+             Example InfoTypeAndValue contents include, but are not limited
+             to, the following (un-comment in this ASN.1 module and use as
+             appropriate for a given environment):
+             <pre>
+               id-it-caProtEncCert    OBJECT IDENTIFIER ::= {id-it 1}
+                  CAProtEncCertValue      ::= CMPCertificate
+               id-it-signKeyPairTypes OBJECT IDENTIFIER ::= {id-it 2}
+                 SignKeyPairTypesValue   ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-encKeyPairTypes  OBJECT IDENTIFIER ::= {id-it 3}
+                 EncKeyPairTypesValue    ::= SEQUENCE OF AlgorithmIdentifier
+               id-it-preferredSymmAlg OBJECT IDENTIFIER ::= {id-it 4}
+                  PreferredSymmAlgValue   ::= AlgorithmIdentifier
+               id-it-caKeyUpdateInfo  OBJECT IDENTIFIER ::= {id-it 5}
+                  CAKeyUpdateInfoValue    ::= CAKeyUpdAnnContent
+               id-it-currentCRL       OBJECT IDENTIFIER ::= {id-it 6}
+                  CurrentCRLValue         ::= CertificateList
+               id-it-unsupportedOIDs  OBJECT IDENTIFIER ::= {id-it 7}
+                  UnsupportedOIDsValue    ::= SEQUENCE OF OBJECT IDENTIFIER
+               id-it-keyPairParamReq  OBJECT IDENTIFIER ::= {id-it 10}
+                  KeyPairParamReqValue    ::= OBJECT IDENTIFIER
+               id-it-keyPairParamRep  OBJECT IDENTIFIER ::= {id-it 11}
+                  KeyPairParamRepValue    ::= AlgorithmIdentifer
+               id-it-revPassphrase    OBJECT IDENTIFIER ::= {id-it 12}
+                  RevPassphraseValue      ::= EncryptedValue
+               id-it-implicitConfirm  OBJECT IDENTIFIER ::= {id-it 13}
+                  ImplicitConfirmValue    ::= NULL
+               id-it-confirmWaitTime  OBJECT IDENTIFIER ::= {id-it 14}
+                  ConfirmWaitTimeValue    ::= GeneralizedTime
+               id-it-origPKIMessage   OBJECT IDENTIFIER ::= {id-it 15}
+                  OrigPKIMessageValue     ::= PKIMessages
+               id-it-suppLangTags     OBJECT IDENTIFIER ::= {id-it 16}
+                  SuppLangTagsValue       ::= SEQUENCE OF UTF8String
+            
+             where
+            
+               id-pkix OBJECT IDENTIFIER ::= {
+                  iso(1) identified-organization(3)
+                  dod(6) internet(1) security(5) mechanisms(5) pkix(7)}
+             and
+                  id-it   OBJECT IDENTIFIER ::= {id-pkix 4}
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.InfoTypeAndValue.ToAsn1Object">
+            <pre>
+            InfoTypeAndValue ::= SEQUENCE {
+                                    infoType               OBJECT IDENTIFIER,
+                                    infoValue              ANY DEFINED BY infoType  OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.KeyRecRepContent.ToAsn1Object">
+            <pre>
+            KeyRecRepContent ::= SEQUENCE {
+                                    status                  PKIStatusInfo,
+                                    newSigCert          [0] CMPCertificate OPTIONAL,
+                                    caCerts             [1] SEQUENCE SIZE (1..MAX) OF
+                                                                      CMPCertificate OPTIONAL,
+                                    keyPairHist         [2] SEQUENCE SIZE (1..MAX) OF
+                                                                      CertifiedKeyPair OPTIONAL
+                         }
+            </pre> 
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.OobCertHash.ToAsn1Object">
+            <pre>
+            OobCertHash ::= SEQUENCE {
+                                 hashAlg     [0] AlgorithmIdentifier     OPTIONAL,
+                                 certId      [1] CertId                  OPTIONAL,
+                                 hashVal         BIT STRING
+                                 -- hashVal is calculated over the Der encoding of the
+                                 -- self-signed certificate with the identifier certID.
+                  }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PbmParameter.ToAsn1Object">
+            <pre>
+             PbmParameter ::= SEQUENCE {
+                                   salt                OCTET STRING,
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this string to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   owf                 AlgorithmIdentifier,
+                                   -- AlgId for a One-Way Function (SHA-1 recommended)
+                                   iterationCount      INTEGER,
+                                   -- number of times the OWF is applied
+                                   -- note:  implementations MAY wish to limit acceptable sizes
+                                   -- of this integer to values appropriate for their environment
+                                   -- in order to reduce the risk of denial-of-service attacks
+                                   mac                 AlgorithmIdentifier
+                                   -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11],
+               }   -- or HMAC [RFC2104, RFC2202])
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiBody.#ctor(System.Int32,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            Creates a new PkiBody.
+            @param type one of the TYPE_* constants
+            @param content message content
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiBody.ToAsn1Object">
+            <pre>
+            PkiBody ::= CHOICE {       -- message-specific body elements
+                   ir       [0]  CertReqMessages,        --Initialization Request
+                   ip       [1]  CertRepMessage,         --Initialization Response
+                   cr       [2]  CertReqMessages,        --Certification Request
+                   cp       [3]  CertRepMessage,         --Certification Response
+                   p10cr    [4]  CertificationRequest,   --imported from [PKCS10]
+                   popdecc  [5]  POPODecKeyChallContent, --pop Challenge
+                   popdecr  [6]  POPODecKeyRespContent,  --pop Response
+                   kur      [7]  CertReqMessages,        --Key Update Request
+                   kup      [8]  CertRepMessage,         --Key Update Response
+                   krr      [9]  CertReqMessages,        --Key Recovery Request
+                   krp      [10] KeyRecRepContent,       --Key Recovery Response
+                   rr       [11] RevReqContent,          --Revocation Request
+                   rp       [12] RevRepContent,          --Revocation Response
+                   ccr      [13] CertReqMessages,        --Cross-Cert. Request
+                   ccp      [14] CertRepMessage,         --Cross-Cert. Response
+                   ckuann   [15] CAKeyUpdAnnContent,     --CA Key Update Ann.
+                   cann     [16] CertAnnContent,         --Certificate Ann.
+                   rann     [17] RevAnnContent,          --Revocation Ann.
+                   crlann   [18] CRLAnnContent,          --CRL Announcement
+                   pkiconf  [19] PKIConfirmContent,      --Confirmation
+                   nested   [20] NestedMessageContent,   --Nested Message
+                   genm     [21] GenMsgContent,          --General Message
+                   genp     [22] GenRepContent,          --General Response
+                   error    [23] ErrorMsgContent,        --Error Message
+                   certConf [24] CertConfirmContent,     --Certificate confirm
+                   pollReq  [25] PollReqContent,         --Polling request
+                   pollRep  [26] PollRepContent          --Polling response
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiConfirmContent.ToAsn1Object">
+            <pre>
+            PkiConfirmContent ::= NULL
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cmp.PkiFailureInfo">
+            <pre>
+            PKIFailureInfo ::= BIT STRING {
+            badAlg               (0),
+              -- unrecognized or unsupported Algorithm Identifier
+            badMessageCheck      (1), -- integrity check failed (e.g., signature did not verify)
+            badRequest           (2),
+              -- transaction not permitted or supported
+            badTime              (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+            badCertId            (4), -- no certificate could be found matching the provided criteria
+            badDataFormat        (5),
+              -- the data submitted has the wrong format
+            wrongAuthority       (6), -- the authority indicated in the request is different from the one creating the response token
+            incorrectData        (7), -- the requester's data is incorrect (for notary services)
+            missingTimeStamp     (8), -- when the timestamp is missing but should be there (by policy)
+            badPOP               (9)  -- the proof-of-possession failed
+            timeNotAvailable    (14),
+              -- the TSA's time source is not available
+            unacceptedPolicy    (15),
+              -- the requested TSA policy is not supported by the TSA
+            unacceptedExtension (16),
+              -- the requested extension is not supported by the TSA
+             addInfoNotAvailable (17)
+               -- the additional information requested could not be understood
+               -- or is not available
+             systemFailure       (25)
+               -- the request cannot be handled due to system failure
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IAsn1String">
+            basic interface for Der string objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetPadBits(System.Int32)">
+            return the correct number of pad bits for a bit string defined in
+            a 32 bit constant
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetBytes(System.Int32)">
+            return the correct number of bytes for a bit string defined in
+            a 32 bit constant
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetInstance(System.Object)">
+             return a Bit string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Bit string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBitString.#ctor(System.Byte[],System.Int32)">
+            @param data the octets making up the bit string.
+            @param padBits the number of extra bits at the end of the string.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerBitString.IntValue">
+            @return the value of the bit string as an int (truncating if necessary)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiFailureInfo.#ctor(System.Int32)">
+            Basic constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.ToAsn1Object">
+            <pre>
+            PkiFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.Size">
+             Return the number of string elements present.
+            
+             @return number of elements present.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cmp.PkiFreeText.Item(System.Int32)">
+             Return the UTF8STRING at index.
+            
+             @param index index of the string of interest
+             @return the string at index.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Cmp.PkiHeader.NULL_NAME">
+            Value for a "null" recipient or sender.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiHeader.ToAsn1Object">
+            <pre>
+             PkiHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiHeaderBuilder.Build">
+            <pre>
+             PKIHeader ::= SEQUENCE {
+                       pvno                INTEGER     { cmp1999(1), cmp2000(2) },
+                       sender              GeneralName,
+                       -- identifies the sender
+                       recipient           GeneralName,
+                       -- identifies the intended recipient
+                       messageTime     [0] GeneralizedTime         OPTIONAL,
+                       -- time of production of this message (used when sender
+                       -- believes that the transport will be "suitable"; i.e.,
+                       -- that the time will still be meaningful upon receipt)
+                       protectionAlg   [1] AlgorithmIdentifier     OPTIONAL,
+                       -- algorithm used for calculation of protection bits
+                       senderKID       [2] KeyIdentifier           OPTIONAL,
+                       recipKID        [3] KeyIdentifier           OPTIONAL,
+                       -- to identify specific keys used for protection
+                       transactionID   [4] OCTET STRING            OPTIONAL,
+                       -- identifies the transaction; i.e., this will be the same in
+                       -- corresponding request, response, certConf, and PKIConf
+                       -- messages
+                       senderNonce     [5] OCTET STRING            OPTIONAL,
+                       recipNonce      [6] OCTET STRING            OPTIONAL,
+                       -- nonces used to provide replay protection, senderNonce
+                       -- is inserted by the creator of this message; recipNonce
+                       -- is a nonce previously inserted in a related message by
+                       -- the intended recipient of this message
+                       freeText        [7] PKIFreeText             OPTIONAL,
+                       -- this may be used to indicate context-specific instructions
+                       -- (this field is intended for human consumption)
+                       generalInfo     [8] SEQUENCE SIZE (1..MAX) OF
+                                            InfoTypeAndValue     OPTIONAL
+                       -- this may be used to convey context-specific information
+                       -- (this field not primarily intended for human consumption)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessage.#ctor(Org.BouncyCastle.Asn1.Cmp.PkiHeader,Org.BouncyCastle.Asn1.Cmp.PkiBody,Org.BouncyCastle.Asn1.DerBitString,Org.BouncyCastle.Asn1.Cmp.CmpCertificate[])">
+             Creates a new PkiMessage.
+            
+             @param header message header
+             @param body message body
+             @param protection message protection (may be null)
+             @param extraCerts extra certificates (may be null)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessage.ToAsn1Object">
+            <pre>
+            PkiMessage ::= SEQUENCE {
+                             header           PKIHeader,
+                             body             PKIBody,
+                             protection   [0] PKIProtection OPTIONAL,
+                             extraCerts   [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate
+                                                                                OPTIONAL
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiMessages.ToAsn1Object">
+            <pre>
+            PkiMessages ::= SEQUENCE SIZE (1..MAX) OF PkiMessage
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.#ctor(System.Int32)">
+            @param status
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.#ctor(System.Int32,Org.BouncyCastle.Asn1.Cmp.PkiFreeText)">
+            @param status
+            @param statusString
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PkiStatusInfo.ToAsn1Object">
+             <pre>
+             PkiStatusInfo ::= SEQUENCE {
+                 status        PKIStatus,                (INTEGER)
+                 statusString  PkiFreeText     OPTIONAL,
+                 failInfo      PkiFailureInfo  OPTIONAL  (BIT STRING)
+             }
+            
+             PKIStatus:
+               granted                (0), -- you got exactly what you asked for
+               grantedWithMods        (1), -- you got something like what you asked for
+               rejection              (2), -- you don't get it, more information elsewhere in the message
+               waiting                (3), -- the request body part has not yet been processed, expect to hear more later
+               revocationWarning      (4), -- this message contains a warning that a revocation is imminent
+               revocationNotification (5), -- notification that a revocation has occurred
+               keyUpdateWarning       (6)  -- update already done for the oldCertId specified in CertReqMsg
+            
+             PkiFailureInfo:
+               badAlg           (0), -- unrecognized or unsupported Algorithm Identifier
+               badMessageCheck  (1), -- integrity check failed (e.g., signature did not verify)
+               badRequest       (2), -- transaction not permitted or supported
+               badTime          (3), -- messageTime was not sufficiently close to the system time, as defined by local policy
+               badCertId        (4), -- no certificate could be found matching the provided criteria
+               badDataFormat    (5), -- the data submitted has the wrong format
+               wrongAuthority   (6), -- the authority indicated in the request is different from the one creating the response token
+               incorrectData    (7), -- the requester's data is incorrect (for notary services)
+               missingTimeStamp (8), -- when the timestamp is missing but should be there (by policy)
+               badPOP           (9)  -- the proof-of-possession failed
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PollRepContent.ToAsn1Object">
+            <pre>
+            PollRepContent ::= SEQUENCE OF SEQUENCE {
+                    certReqId              INTEGER,
+                    checkAfter             INTEGER,  -- time in seconds
+                    reason                 PKIFreeText OPTIONAL
+                }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PollReqContent.ToAsn1Object">
+            <pre>
+            PollReqContent ::= SEQUENCE OF SEQUENCE {
+                                   certReqId              INTEGER
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PopoDecKeyChallContent.ToAsn1Object">
+            <pre>
+            PopoDecKeyChallContent ::= SEQUENCE OF Challenge
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.PopoDecKeyRespContent.ToAsn1Object">
+            <pre>
+            PopoDecKeyRespContent ::= SEQUENCE OF INTEGER
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.ProtectedPart.ToAsn1Object">
+            <pre>
+            ProtectedPart ::= SEQUENCE {
+                               header    PKIHeader,
+                               body      PKIBody
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevAnnContent.ToAsn1Object">
+            <pre>
+            RevAnnContent ::= SEQUENCE {
+                  status              PKIStatus,
+                  certId              CertId,
+                  willBeRevokedAt     GeneralizedTime,
+                  badSinceDate        GeneralizedTime,
+                  crlDetails          Extensions  OPTIONAL
+                   -- extra CRL details (e.g., crl number, reason, location, etc.)
+            }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevDetails.ToAsn1Object">
+            <pre>
+            RevDetails ::= SEQUENCE {
+                             certDetails         CertTemplate,
+                              -- allows requester to specify as much as they can about
+                              -- the cert. for which revocation is requested
+                              -- (e.g., for cases in which serialNumber is not available)
+                              crlEntryDetails     Extensions       OPTIONAL
+                              -- requested crlEntryExtensions
+                        }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevRepContent.ToAsn1Object">
+            <pre>
+            RevRepContent ::= SEQUENCE {
+                   status       SEQUENCE SIZE (1..MAX) OF PKIStatusInfo,
+                   -- in same order as was sent in RevReqContent
+                   revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId OPTIONAL,
+                   -- IDs for which revocation was requested
+                   -- (same order as status)
+                   crls     [1] SEQUENCE SIZE (1..MAX) OF CertificateList OPTIONAL
+                   -- the resulting CRLs (there may be more than one)
+              }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cmp.RevReqContent.ToAsn1Object">
+            <pre>
+            RevReqContent ::= SEQUENCE OF RevDetails
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attribute.GetInstance(System.Object)">
+             return an Attribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attribute.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attribute ::= SEQUENCE {
+                attrType OBJECT IDENTIFIER,
+                attrValues SET OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Attributes.ToAsn1Object">
+            <pre>
+            Attributes ::=
+              SET SIZE(1..MAX) OF Attribute -- according to RFC 5652
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AttributeTable.GetAll(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             Return all the attributes matching the OBJECT IDENTIFIER oid. The vector will be
+             empty if there are no attributes of the required type present.
+            
+             @param oid type of attribute required.
+             @return a vector of all the attributes found of type oid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AttributeTable.Add(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Return a new table with the passed in attribute added.
+            
+             @param attrType
+             @param attrValue
+             @return
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Cms.AttributeTable.Item(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            <summary>Return the first attribute matching the given OBJECT IDENTIFIER</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthenticatedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.GetInstance(System.Object)">
+             return an AuthenticatedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthenticatedData.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.AuthenticatedDataParser">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             AuthenticatedData ::= SEQUENCE {
+                   version CMSVersion,
+                   originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                   recipientInfos RecipientInfos,
+                   macAlgorithm MessageAuthenticationCodeAlgorithm,
+                   digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
+                   encapContentInfo EncapsulatedContentInfo,
+                   authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
+                   mac MessageAuthenticationCode,
+                   unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
+            
+             AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
+            
+             MessageAuthenticationCode ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthEnvelopedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.GetInstance(System.Object)">
+             return an AuthEnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.AuthEnvelopedDataParser">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            <pre>
+            AuthEnvelopedData ::= SEQUENCE {
+              version CMSVersion,
+              originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+              recipientInfos RecipientInfos,
+              authEncryptedContentInfo EncryptedContentInfo,
+              authAttrs [1] IMPLICIT AuthAttributes OPTIONAL,
+              mac MessageAuthenticationCode,
+              unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.CompressedData">
+            RFC 3274 - CMS Compressed Data.
+            <pre>
+            CompressedData ::= Sequence {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.CompressedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a CompressedData object from a tagged object.
+            
+             @param ato the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.CompressedData.GetInstance(System.Object)">
+             return a CompressedData object from the given object.
+            
+             @param _obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.CompressedDataParser">
+            RFC 3274 - CMS Compressed Data.
+            <pre>
+            CompressedData ::= SEQUENCE {
+             version CMSVersion,
+             compressionAlgorithm CompressionAlgorithmIdentifier,
+             encapContentInfo EncapsulatedContentInfo
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.ContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.ContentInfoParser">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= SEQUENCE {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an AuthEnvelopedData object from a tagged object.
+            
+             @param obj      the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                             tagged false otherwise.
+             @throws ArgumentException if the object held by the
+                                              tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.GetInstance(System.Object)">
+             return an AuthEnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @throws ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Ecc.MQVuserKeyingMaterial.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            MQVuserKeyingMaterial ::= SEQUENCE {
+              ephemeralPublicKey OriginatorPublicKey,
+              addedukm [0] EXPLICIT UserKeyingMaterial OPTIONAL  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfo.GetInstance(System.Object)">
+             return an EncryptedContentInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EncryptedContentInfo ::= Sequence {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.EncryptedContentInfoParser">
+            <pre>
+            EncryptedContentInfo ::= SEQUENCE {
+                contentType ContentType,
+                contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
+                encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EncryptedData.ToAsn1Object">
+            <pre>
+                  EncryptedData ::= SEQUENCE {
+                                version CMSVersion,
+                                encryptedContentInfo EncryptedContentInfo,
+                                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an EnvelopedData object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.GetInstance(System.Object)">
+             return an EnvelopedData object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.EnvelopedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EnvelopedData ::= Sequence {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.EnvelopedDataParser">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            EnvelopedData ::= SEQUENCE {
+                version CMSVersion,
+                originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
+                recipientInfos RecipientInfos,
+                encryptedContentInfo EncryptedContentInfo,
+                unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KekIdentifier object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.GetInstance(System.Object)">
+             return a KekIdentifier object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KekIdentifier ::= Sequence {
+                keyIdentifier OCTET STRING,
+                date GeneralizedTime OPTIONAL,
+                other OtherKeyAttribute OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KekRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.GetInstance(System.Object)">
+             return a KekRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KekRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KekRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 4
+                kekID KekIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an KeyAgreeRecipientIdentifier object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.GetInstance(System.Object)">
+             return an KeyAgreeRecipientIdentifier object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KeyAgreeRecipientIdentifier ::= CHOICE {
+                issuerAndSerialNumber IssuerAndSerialNumber,
+                rKeyId [0] IMPLICIT RecipientKeyIdentifier
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a KeyAgreeRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.GetInstance(System.Object)">
+             return a KeyAgreeRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyAgreeRecipientInfo.ToAsn1Object">
+                     * Produce an object suitable for an Asn1OutputStream.
+                     * <pre>
+                     * KeyAgreeRecipientInfo ::= Sequence {
+                     *     version CMSVersion,  -- always set to 3
+                     *     originator [0] EXPLICIT OriginatorIdentifierOrKey,
+                     *     ukm [1] EXPLICIT UserKeyingMaterial OPTIONAL,
+                     *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                     *     recipientEncryptedKeys RecipientEncryptedKeys
+                     * }
+            		 *
+            		 * UserKeyingMaterial ::= OCTET STRING
+                     * </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyTransRecipientInfo.GetInstance(System.Object)">
+             return a KeyTransRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.KeyTransRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            KeyTransRecipientInfo ::= Sequence {
+                version CMSVersion,  -- always set to 0 or 2
+                rid RecipientIdentifier,
+                keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.MetaData.ToAsn1Object">
+            <pre>
+            MetaData ::= SEQUENCE {
+              hashProtected        BOOLEAN,
+              fileName             UTF8String OPTIONAL,
+              mediaType            IA5String OPTIONAL,
+              otherMetaData        Attributes OPTIONAL
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorIdentifierOrKey object from a tagged object.
+            
+             @param o the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.GetInstance(System.Object)">
+             return an OriginatorIdentifierOrKey object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorIdentifierOrKey.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             OriginatorIdentifierOrKey ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier,
+                 originatorKey [1] OriginatorPublicKey
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.GetInstance(System.Object)">
+             return an OriginatorInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OriginatorInfo ::= Sequence {
+                certs [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an OriginatorPublicKey object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.GetInstance(System.Object)">
+             return an OriginatorPublicKey object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OriginatorPublicKey.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OriginatorPublicKey ::= Sequence {
+                algorithm AlgorithmIdentifier,
+                publicKey BIT STRING
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherKeyAttribute.GetInstance(System.Object)">
+             return an OtherKeyAttribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherKeyAttribute.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OtherKeyAttribute ::= Sequence {
+                keyAttrId OBJECT IDENTIFIER,
+                keyAttr ANY DEFINED BY keyAttrId OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a OtherRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.GetInstance(System.Object)">
+             return a OtherRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.OtherRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OtherRecipientInfo ::= Sequence {
+               oriType OBJECT IDENTIFIER,
+               oriValue ANY DEFINED BY oriType }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a PasswordRecipientInfo object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.GetInstance(System.Object)">
+             return a PasswordRecipientInfo object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.PasswordRecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            PasswordRecipientInfo ::= Sequence {
+              version CMSVersion,   -- Always set to 0
+              keyDerivationAlgorithm [0] KeyDerivationAlgorithmIdentifier
+                                        OPTIONAL,
+             keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
+             encryptedKey EncryptedKey }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an RecipientEncryptedKey object from a tagged object.
+            
+             @param obj the tagged object holding the object we want.
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.GetInstance(System.Object)">
+             return a RecipientEncryptedKey object from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientEncryptedKey.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RecipientEncryptedKey ::= SEQUENCE {
+                rid KeyAgreeRecipientIdentifier,
+                encryptedKey EncryptedKey
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientIdentifier.GetInstance(System.Object)">
+             return a RecipientIdentifier object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             RecipientIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RecipientInfo ::= CHOICE {
+                ktri KeyTransRecipientInfo,
+                kari [1] KeyAgreeRecipientInfo,
+                kekri [2] KekRecipientInfo,
+                pwri [3] PasswordRecipientInfo,
+                ori [4] OtherRecipientInfo }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a RecipientKeyIdentifier object from a tagged object.
+            
+             @param _ato the tagged object holding the object we want.
+             @param _explicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the object held by the
+                      tagged object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.GetInstance(System.Object)">
+             return a RecipientKeyIdentifier object from the given object.
+            
+             @param _obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.RecipientKeyIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             RecipientKeyIdentifier ::= Sequence {
+                 subjectKeyIdentifier SubjectKeyIdentifier,
+                 date GeneralizedTime OPTIONAL,
+                 other OtherKeyAttribute OPTIONAL
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.SignedData">
+            a signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SignedData ::= Sequence {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Cms.SignedDataParser">
+            <pre>
+            SignedData ::= SEQUENCE {
+                version CMSVersion,
+                digestAlgorithms DigestAlgorithmIdentifiers,
+                encapContentInfo EncapsulatedContentInfo,
+                certificates [0] IMPLICIT CertificateSet OPTIONAL,
+                crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                signerInfos SignerInfos
+              }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerIdentifier.GetInstance(System.Object)">
+             return a SignerIdentifier object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerIdentifier.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             SignerIdentifier ::= CHOICE {
+                 issuerAndSerialNumber IssuerAndSerialNumber,
+                 subjectKeyIdentifier [0] SubjectKeyIdentifier
+             }
+            
+             SubjectKeyIdentifier ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.SignerInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              SignerInfo ::= Sequence {
+                  version Version,
+                  SignerIdentifier sid,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Time.#ctor(System.DateTime)">
+            creates a time object from a given date - if the date is between 1950
+            and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime
+            is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.Time.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampAndCrl.ToAsn1Object">
+            <pre>
+            TimeStampAndCRL ::= SEQUENCE {
+                timeStamp   TimeStampToken,          -- according to RFC 3161
+                crl         CertificateList OPTIONAL -- according to RFC 5280
+             }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampedData.ToAsn1Object">
+            <pre>
+            TimeStampedData ::= SEQUENCE {
+              version              INTEGER { v1(1) },
+              dataUri              IA5String OPTIONAL,
+              metaData             MetaData OPTIONAL,
+              content              OCTET STRING OPTIONAL,
+              temporalEvidence     Evidence
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Cms.TimeStampTokenEvidence.ToAsn1Object">
+            <pre>
+            TimeStampTokenEvidence ::=
+               SEQUENCE SIZE(1..MAX) OF TimeStampAndCrl
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.AttributeTypeAndValue.ToAsn1Object">
+            <pre>
+            AttributeTypeAndValue ::= SEQUENCE {
+                      type         OBJECT IDENTIFIER,
+                      value        ANY DEFINED BY type }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertId.ToAsn1Object">
+            <pre>
+            CertId ::= SEQUENCE {
+                            issuer           GeneralName,
+                            serialNumber     INTEGER }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMessages.ToAsn1Object">
+            <pre>
+            CertReqMessages ::= SEQUENCE SIZE (1..MAX) OF CertReqMsg
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMsg.#ctor(Org.BouncyCastle.Asn1.Crmf.CertRequest,Org.BouncyCastle.Asn1.Crmf.ProofOfPossession,Org.BouncyCastle.Asn1.Crmf.AttributeTypeAndValue[])">
+            Creates a new CertReqMsg.
+            @param certReq CertRequest
+            @param popo may be null
+            @param regInfo may be null
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertReqMsg.ToAsn1Object">
+            <pre>
+            CertReqMsg ::= SEQUENCE {
+                               certReq   CertRequest,
+                               pop       ProofOfPossession  OPTIONAL,
+                               -- content depends upon key type
+                               regInfo   SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertRequest.ToAsn1Object">
+            <pre>
+            CertRequest ::= SEQUENCE {
+                                 certReqId     INTEGER,          -- ID for matching request and reply
+                                 certTemplate  CertTemplate,  -- Selected fields of cert to be issued
+                                 controls      Controls OPTIONAL }   -- Attributes affecting issuance
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplate.ToAsn1Object">
+            <pre>
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetVersion(System.Int32)">
+            Sets the X.509 version. Note: for X509v3, use 2 here. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetIssuerUID(Org.BouncyCastle.Asn1.DerBitString)">
+            Sets the issuer unique ID (deprecated in X.509v3) 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.SetSubjectUID(Org.BouncyCastle.Asn1.DerBitString)">
+            Sets the subject unique ID (deprecated in X.509v3) 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.CertTemplateBuilder.Build">
+            <pre>
+             CertTemplate ::= SEQUENCE {
+                 version      [0] Version               OPTIONAL,
+                 serialNumber [1] INTEGER               OPTIONAL,
+                 signingAlg   [2] AlgorithmIdentifier   OPTIONAL,
+                 issuer       [3] Name                  OPTIONAL,
+                 validity     [4] OptionalValidity      OPTIONAL,
+                 subject      [5] Name                  OPTIONAL,
+                 publicKey    [6] SubjectPublicKeyInfo  OPTIONAL,
+                 issuerUID    [7] UniqueIdentifier      OPTIONAL,
+                 subjectUID   [8] UniqueIdentifier      OPTIONAL,
+                 extensions   [9] Extensions            OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.Controls.ToAsn1Object">
+            <pre>
+            Controls  ::= SEQUENCE SIZE(1..MAX) OF AttributeTypeAndValue
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncKeyWithID.ToAsn1Object">
+            <pre>
+            EncKeyWithID ::= SEQUENCE {
+                 privateKey           PrivateKeyInfo,
+                 identifier CHOICE {
+                    string               UTF8String,
+                    generalName          GeneralName
+                } OPTIONAL
+            }
+            </pre>
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncryptedKey.ToAsn1Object">
+            <pre>
+               EncryptedKey ::= CHOICE {
+                   encryptedValue        EncryptedValue, -- deprecated
+                   envelopedData     [0] EnvelopedData }
+                   -- The encrypted private key MUST be placed in the envelopedData
+                   -- encryptedContentInfo encryptedContent OCTET STRING.
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.EncryptedValue.ToAsn1Object">
+            <pre>
+            EncryptedValue ::= SEQUENCE {
+                                intendedAlg   [0] AlgorithmIdentifier  OPTIONAL,
+                                -- the intended algorithm for which the value will be used
+                                symmAlg       [1] AlgorithmIdentifier  OPTIONAL,
+                                -- the symmetric algorithm used to encrypt the value
+                                encSymmKey    [2] BIT STRING           OPTIONAL,
+                                -- the (encrypted) symmetric key used to encrypt the value
+                                keyAlg        [3] AlgorithmIdentifier  OPTIONAL,
+                                -- algorithm used to encrypt the symmetric key
+                                valueHint     [4] OCTET STRING         OPTIONAL,
+                                -- a brief description or identifier of the encValue content
+                                -- (may be meaningful only to the sending entity, and used only
+                                -- if EncryptedValue might be re-examined by the sending entity
+                                -- in the future)
+                                encValue       BIT STRING }
+                                -- the encrypted value itself
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.OptionalValidity.ToAsn1Object">
+            <pre>
+            OptionalValidity ::= SEQUENCE {
+                                   notBefore  [0] Time OPTIONAL,
+                                   notAfter   [1] Time OPTIONAL } --at least one MUST be present
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PkiArchiveOptions.ToAsn1Object">
+            <pre>
+             PkiArchiveOptions ::= CHOICE {
+                 encryptedPrivKey     [0] EncryptedKey,
+                 -- the actual value of the private key
+                 keyGenParameters     [1] KeyGenParameters,
+                 -- parameters which allow the private key to be re-generated
+                 archiveRemGenPrivKey [2] BOOLEAN }
+                 -- set to TRUE if sender wishes receiver to archive the private
+                 -- key of a key pair that the receiver generates in response to
+                 -- this request; set to FALSE if no archival is desired.
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PkiPublicationInfo.ToAsn1Object">
+            <pre>
+            PkiPublicationInfo ::= SEQUENCE {
+                             action     INTEGER {
+                                            dontPublish (0),
+                                            pleasePublish (1) },
+                             pubInfos  SEQUENCE SIZE (1..MAX) OF SinglePubInfo OPTIONAL }
+            -- pubInfos MUST NOT be present if action is "dontPublish"
+            -- (if action is "pleasePublish" and pubInfos is omitted,
+            -- "dontCare" is assumed)
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Crmf.PKMacValue">
+            Password-based MAC value for use with POPOSigningKeyInput.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.#ctor(Org.BouncyCastle.Asn1.Cmp.PbmParameter,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new PKMACValue.
+            @param params parameters for password-based MAC
+            @param value MAC of the DER-encoded SubjectPublicKeyInfo
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.#ctor(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new PKMACValue.
+            @param aid CMPObjectIdentifiers.passwordBasedMAC, with PBMParameter
+            @param value MAC of the DER-encoded SubjectPublicKeyInfo
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PKMacValue.ToAsn1Object">
+            <pre>
+            PKMACValue ::= SEQUENCE {
+                 algId  AlgorithmIdentifier,
+                 -- algorithm value shall be PasswordBasedMac 1.2.840.113533.7.66.13
+                 -- parameter value is PBMParameter
+                 value  BIT STRING }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoPrivKey.ToAsn1Object">
+            <pre>
+            PopoPrivKey ::= CHOICE {
+                   thisMessage       [0] BIT STRING,         -- Deprecated
+                    -- possession is proven in this message (which contains the private
+                    -- key itself (encrypted for the CA))
+                   subsequentMessage [1] SubsequentMessage,
+                    -- possession will be proven in a subsequent message
+                   dhMAC             [2] BIT STRING,         -- Deprecated
+                   agreeMAC          [3] PKMACValue,
+                   encryptedKey      [4] EnvelopedData }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKey.#ctor(Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput,Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,Org.BouncyCastle.Asn1.DerBitString)">
+            Creates a new Proof of Possession object for a signing key.
+            @param poposkIn the PopoSigningKeyInput structure, or null if the
+                CertTemplate includes both subject and publicKey values.
+            @param aid the AlgorithmIdentifier used to sign the proof of possession.
+            @param signature a signature over the DER-encoded value of poposkIn,
+                or the DER-encoded value of certReq if poposkIn is null.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKey.ToAsn1Object">
+            <pre>
+            PopoSigningKey ::= SEQUENCE {
+                                 poposkInput           [0] PopoSigningKeyInput OPTIONAL,
+                                 algorithmIdentifier   AlgorithmIdentifier,
+                                 signature             BIT STRING }
+             -- The signature (using "algorithmIdentifier") is on the
+             -- DER-encoded value of poposkInput.  NOTE: If the CertReqMsg
+             -- certReq CertTemplate contains the subject and publicKey values,
+             -- then poposkInput MUST be omitted and the signature MUST be
+             -- computed on the DER-encoded value of CertReqMsg certReq.  If
+             -- the CertReqMsg certReq CertTemplate does not contain the public
+             -- key and subject values, then poposkInput MUST be present and
+             -- MUST be signed.  This strategy ensures that the public key is
+             -- not present in both the poposkInput and CertReqMsg certReq
+             -- CertTemplate fields.
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Creates a new PopoSigningKeyInput with sender name as authInfo. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.#ctor(Org.BouncyCastle.Asn1.Crmf.PKMacValue,Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Creates a new PopoSigningKeyInput using password-based MAC. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.ToAsn1Object">
+            <pre>
+            PopoSigningKeyInput ::= SEQUENCE {
+                   authInfo             CHOICE {
+                                            sender              [0] GeneralName,
+                                            -- used only if an authenticated identity has been
+                                            -- established for the sender (e.g., a DN from a
+                                            -- previously-issued and currently-valid certificate
+                                            publicKeyMac        PKMacValue },
+                                            -- used if no authenticated GeneralName currently exists for
+                                            -- the sender; publicKeyMac contains a password-based MAC
+                                            -- on the DER-encoded value of publicKey
+                   publicKey           SubjectPublicKeyInfo }  -- from CertTemplate
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.Sender">
+            Returns the sender field, or null if authInfo is publicKeyMac 
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Crmf.PopoSigningKeyInput.PublicKeyMac">
+            Returns the publicKeyMac field, or null if authInfo is sender 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor">
+            Creates a ProofOfPossession with type raVerified. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor(Org.BouncyCastle.Asn1.Crmf.PopoSigningKey)">
+            Creates a ProofOfPossession for a signing key. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.#ctor(System.Int32,Org.BouncyCastle.Asn1.Crmf.PopoPrivKey)">
+            Creates a ProofOfPossession for key encipherment or agreement.
+            @param type one of TYPE_KEY_ENCIPHERMENT or TYPE_KEY_AGREEMENT
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.ProofOfPossession.ToAsn1Object">
+            <pre>
+            ProofOfPossession ::= CHOICE {
+                                      raVerified        [0] NULL,
+                                      -- used if the RA has already verified that the requester is in
+                                      -- possession of the private key
+                                      signature         [1] PopoSigningKey,
+                                      keyEncipherment   [2] PopoPrivKey,
+                                      keyAgreement      [3] PopoPrivKey }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Crmf.SinglePubInfo.ToAsn1Object">
+            <pre>
+            SinglePubInfo ::= SEQUENCE {
+                   pubMethod    INTEGER {
+                      dontCare    (0),
+                      x500        (1),
+                      web         (2),
+                      ldap        (3) },
+                  pubLocation  GeneralName OPTIONAL }
+            </pre>
+            @return a basic ASN.1 object representation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerInteger.GetInstance(System.Object)">
+             return an integer from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerInteger.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Integer from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param isExplicit true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerInteger.PositiveValue">
+            in some cases positive values Get crammed into a space,
+            that's not quite big enough...
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves">
+            table of the available named parameters for GOST 3410-2001.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the ECDomainParameters object for the given OID, null if it
+             isn't present.
+            
+             @param oid an object identifier representing a named parameters, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.CryptoPro.ECGost3410NamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.Gost28147Parameters.ToAsn1Object">
+             <pre>
+             Gost28147-89-Parameters ::=
+                           SEQUENCE {
+                                   iv                   Gost28147-89-IV,
+                                   encryptionParamSet   OBJECT IDENTIFIER
+                            }
+            
+               Gost28147-89-IV ::= OCTET STRING (SIZE (8))
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters">
+            table of the available named parameters for GOST 3410-94.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the GOST3410ParamSetParameters object for the given OID, null if it
+             isn't present.
+            
+             @param oid an object identifier representing a named parameters, if present.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.CryptoPro.Gost3410NamedParameters.Names">
+            returns an enumeration containing the name strings for parameters
+            contained in this structure.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerBmpString">
+            Der BMPString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.GetInstance(System.Object)">
+             return a BMP string from the given object.
+            
+             @param obj the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a BMP string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                          be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBmpString.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(System.Object)">
+             return a bool from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(System.Boolean)">
+            return a DerBoolean from the passed in bool.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerBoolean.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Boolean from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerEnumerated.GetInstance(System.Object)">
+             return an integer from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerEnumerated.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Enumerated from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerExternal">
+            Class representing the DER-type External
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerExternal.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.DerInteger,Org.BouncyCastle.Asn1.Asn1Object,Org.BouncyCastle.Asn1.DerTaggedObject)">
+            Creates a new instance of DerExternal
+            See X.690 for more informations about the meaning of these parameters
+            @param directReference The direct reference or <code>null</code> if not set.
+            @param indirectReference The indirect reference or <code>null</code> if not set.
+            @param dataValueDescriptor The data value descriptor or <code>null</code> if not set.
+            @param externalData The external data in its encoded form.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerExternal.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.DerInteger,Org.BouncyCastle.Asn1.Asn1Object,System.Int32,Org.BouncyCastle.Asn1.Asn1Object)">
+            Creates a new instance of DerExternal.
+            See X.690 for more informations about the meaning of these parameters
+            @param directReference The direct reference or <code>null</code> if not set.
+            @param indirectReference The indirect reference or <code>null</code> if not set.
+            @param dataValueDescriptor The data value descriptor or <code>null</code> if not set.
+            @param encoding The encoding to be used for the external data
+            @param externalData The external data
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerExternal.Encoding">
+            The encoding of the content. Valid values are
+            <ul>
+            <li><code>0</code> single-ASN1-type</li>
+            <li><code>1</code> OCTET STRING</li>
+            <li><code>2</code> BIT STRING</li>
+            </ul>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerGeneralizedTime">
+            Generalized time object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetInstance(System.Object)">
+             return a generalized time from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Generalized Time object from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.#ctor(System.String)">
+             The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z
+             for local time, or Z+-HHMM on the end, for difference between local
+             time and UTC time. The fractional second amount f must consist of at
+             least one number with trailing zeroes removed.
+            
+             @param time the time string.
+             @exception ArgumentException if string is an illegal format.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.#ctor(System.DateTime)">
+            base constructor from a local time object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerGeneralizedTime.GetTime">
+            return the time - always in the form of
+             YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm).
+            <p>
+            Normally in a certificate we would expect "Z" rather than "GMT",
+            however adding the "GMT" means we can just use:
+            <pre>
+                dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
+            </pre>
+            To read in the time and Get a date which is compatible with our local
+            time zone.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerGeneralizedTime.TimeString">
+            Return the time.
+            @return The time string as it appeared in the encoded object.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerIA5String">
+            Der IA5String object - this is an ascii string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.GetInstance(System.Object)">
+             return a IA5 string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an IA5 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.String)">
+            basic constructor - without validation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in an IA5String.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerIA5String.IsIA5String(System.String)">
+             return true if the passed in String can be represented without
+             loss as an IA5String, false otherwise.
+            
+             @return true if in printable set, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerNumericString">
+            Der NumericString object - this is an ascii string of characters {0,1,2,3,4,5,6,7,8,9, }.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.GetInstance(System.Object)">
+             return a Numeric string from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an Numeric string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.String)">
+            basic constructor -  without validation..
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in a NumericString.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerNumericString.IsNumericString(System.String)">
+             Return true if the string can be represented as a NumericString ('0'..'9', ' ')
+            
+             @param str string to validate.
+             @return true if numeric, fale otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.GetInstance(System.Object)">
+             return an Oid from the passed in object
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an object Identifier from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerObjectIdentifier.On(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            Return  true if this oid is an extension of the passed in branch, stem.
+            @param stem the arc or branch that is a possible parent.
+            @return  true if the branch is on the passed in stem, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerPrintableString">
+            Der PrintableString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.GetInstance(System.Object)">
+             return a printable string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Printable string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.String)">
+            basic constructor - this does not validate the string
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.#ctor(System.String,System.Boolean)">
+             Constructor with optional validation.
+            
+             @param string the base string to wrap.
+             @param validate whether or not to check the string.
+             @throws ArgumentException if validate is true and the string
+             contains characters that should not be in a PrintableString.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerPrintableString.IsPrintableString(System.String)">
+             return true if the passed in String can be represented without
+             loss as a PrintableString, false otherwise.
+            
+             @return true if in printable set, false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerT61String">
+            Der T61String (also the teletex string) - 8-bit characters
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.GetInstance(System.Object)">
+             return a T61 string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an T61 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.#ctor(System.Byte[])">
+            basic constructor - with bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerT61String.#ctor(System.String)">
+            basic constructor - with string.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUniversalString">
+            Der UniversalString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.GetInstance(System.Object)">
+             return a Universal string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Universal string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUniversalString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUnknownTag">
+            We insert one of these when we find a tag we don't recognise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUnknownTag.#ctor(System.Int32,System.Byte[])">
+            @param tag the tag value.
+            @param data the contents octets.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUtcTime">
+            UTC time object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.GetInstance(System.Object)">
+             return an UTC Time from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an UTC Time from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.#ctor(System.String)">
+            The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were
+            never encoded. When you're creating one of these objects from scratch, that's
+            what you want to use, otherwise we'll try to deal with whatever Gets read from
+            the input stream... (this is why the input format is different from the GetTime()
+            method output).
+            <p>
+            @param time the time string.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.#ctor(System.DateTime)">
+            base constructor from a DateTime object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.ToDateTime">
+             return the time as a date based on whatever a 2 digit year will return. For
+             standardised processing use ToAdjustedDateTime().
+            
+             @return the resulting date
+             @exception ParseException if the date string cannot be parsed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtcTime.ToAdjustedDateTime">
+             return the time as an adjusted date
+             in the range of 1950 - 2049.
+            
+             @return a date in the range of 1950 to 2049.
+             @exception ParseException if the date string cannot be parsed.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerUtcTime.TimeString">
+            return the time - always in the form of
+             YYMMDDhhmmssGMT(+hh:mm|-hh:mm).
+            <p>
+            Normally in a certificate we would expect "Z" rather than "GMT",
+            however adding the "GMT" means we can just use:
+            <pre>
+                dateF = new SimpleDateFormat("yyMMddHHmmssz");
+            </pre>
+            To read in the time and Get a date which is compatible with our local
+            time zone.</p>
+            <p>
+            <b>Note:</b> In some cases, due to the local date processing, this
+            may lead to unexpected results. If you want to stick the normal
+            convention of 1950 to 2049 use the GetAdjustedTime() method.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.DerUtcTime.AdjustedTimeString">
+            <summary>
+            Return a time string as an adjusted date with a 4 digit year.
+            This goes in the range of 1950 - 2049.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerUtf8String">
+            Der UTF8String object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.GetInstance(System.Object)">
+             return an UTF8 string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return an UTF8 string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerUtf8String.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.DerVisibleString">
+            Der VisibleString object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.GetInstance(System.Object)">
+             return a Visible string from the passed in object.
+            
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             return a Visible string from a tagged object.
+            
+             @param obj the tagged object holding the object we want
+             @param explicitly true if the object is meant to be explicitly
+                          tagged false otherwise.
+             @exception ArgumentException if the tagged object cannot
+                           be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.#ctor(System.Byte[])">
+            basic constructor - byte encoded string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.DerVisibleString.#ctor(System.String)">
+            basic constructor
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CertificateValues">
+            <remarks>
+            RFC 3126: 4.3.1 Certificate Values Attribute Definition
+            <code>
+            CertificateValues ::= SEQUENCE OF Certificate
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeIndication.ToAsn1Object">
+            <pre>
+            CommitmentTypeIndication ::= SEQUENCE {
+                 commitmentTypeId   CommitmentTypeIdentifier,
+                 commitmentTypeQualifier   SEQUENCE SIZE (1..MAX) OF
+                         CommitmentTypeQualifier OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier">
+             Commitment type qualifiers, used in the Commitment-Type-Indication attribute (RFC3126).
+            
+             <pre>
+               CommitmentTypeQualifier ::= SEQUENCE {
+                   commitmentTypeIdentifier  CommitmentTypeIdentifier,
+                   qualifier          ANY DEFINED BY commitmentTypeIdentifier OPTIONAL }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param commitmentTypeIdentifier a <code>CommitmentTypeIdentifier</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param commitmentTypeIdentifier a <code>CommitmentTypeIdentifier</code> value
+             @param qualifier the qualifier, defined by the above field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>CommitmentTypeQualifier</code> instance.
+            
+             @param as <code>CommitmentTypeQualifier</code> structure
+             encoded as an Asn1Sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.CommitmentTypeQualifier.ToAsn1Object">
+             Returns a DER-encodable representation of this instance.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CompleteCertificateRefs">
+            <remarks>
+            RFC 3126: 4.2.1 Complete Certificate Refs Attribute Definition
+            <code>
+            CompleteCertificateRefs ::= SEQUENCE OF OtherCertID
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CompleteRevocationRefs">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlIdentifier">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlIdentifier ::= SEQUENCE 
+            {
+            	crlissuer		Name,
+            	crlIssuedTime	UTCTime,
+            	crlNumber		INTEGER OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlListID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CRLListID ::= SEQUENCE 
+            {
+            	crls	SEQUENCE OF CrlValidatedID
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlOcspRef">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlOcspRef ::= SEQUENCE {
+            	crlids		[0] CRLListID		OPTIONAL,
+            	ocspids		[1] OcspListID		OPTIONAL,
+            	otherRev	[2] OtherRevRefs	OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.CrlValidatedID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            CrlValidatedID ::= SEQUENCE {
+            	crlHash			OtherHash,
+            	crlIdentifier	CrlIdentifier OPTIONAL}
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspIdentifier">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspIdentifier ::= SEQUENCE {
+            	ocspResponderID		ResponderID,
+            		-- As in OCSP response data
+            	producedAt			GeneralizedTime
+            		-- As in OCSP response data
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspListID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspListID ::=  SEQUENCE {
+            	ocspResponses	SEQUENCE OF OcspResponsesID
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OcspResponsesID">
+            <remarks>
+            RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+            <code>
+            OcspResponsesID ::= SEQUENCE {
+            	ocspIdentifier	OcspIdentifier,
+            	ocspRepHash		OtherHash OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherCertID">
+            <remarks>
+            <code>
+            OtherCertID ::= SEQUENCE {
+            	otherCertHash	OtherHash,
+            	issuerSerial	IssuerSerial OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherHash">
+            <remarks>
+            <code>
+            OtherHash ::= CHOICE {
+            	sha1Hash	OtherHashValue, -- This contains a SHA-1 hash
+            	otherHash	OtherHashAlgAndValue
+            }
+            
+            OtherHashValue ::= OCTET STRING
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherHashAlgAndValue">
+            <summary>
+            Summary description for OtherHashAlgAndValue.
+            </summary>
+            <remarks>
+            <code>
+            OtherHashAlgAndValue ::= SEQUENCE {
+            	hashAlgorithm	AlgorithmIdentifier,
+            	hashValue		OtherHashValue
+            }
+            
+            OtherHashValue ::= OCTET STRING
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherRevRefs">
+             <remarks>
+             RFC 3126: 4.2.2 Complete Revocation Refs Attribute Definition
+             <code>
+             OtherRevRefs ::= SEQUENCE 
+             {
+            		otherRevRefType      OtherRevRefType,
+            		otherRevRefs         ANY DEFINED BY otherRevRefType
+             }
+            
+             OtherRevRefType ::= OBJECT IDENTIFIER
+             </code>
+             </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherRevVals">
+             <remarks>
+             RFC 3126: 4.3.2 Revocation Values Attribute Definition
+             <code>
+             OtherRevVals ::= SEQUENCE 
+             {
+            		otherRevValType      OtherRevValType,
+            		otherRevVals         ANY DEFINED BY otherRevValType
+             }
+            
+             OtherRevValType ::= OBJECT IDENTIFIER
+             </code>
+             </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.OtherSigningCertificate">
+            <remarks>
+            <code>
+            OtherSigningCertificate ::= SEQUENCE {
+            	certs		SEQUENCE OF OtherCertID,
+            	policies	SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.RevocationValues">
+            <remarks>
+            RFC 5126: 6.3.4.  revocation-values Attribute Definition
+            <code>
+            RevocationValues ::=  SEQUENCE {
+            	crlVals			[0] SEQUENCE OF CertificateList     OPTIONAL,
+            	ocspVals		[1] SEQUENCE OF BasicOCSPResponse   OPTIONAL,
+            	otherRevVals	[2] OtherRevVals OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignaturePolicyId">
+            <remarks>
+            <code>
+            SignaturePolicyId ::= SEQUENCE {
+            	sigPolicyIdentifier		SigPolicyId,
+            	sigPolicyHash			SigPolicyHash,
+            	sigPolicyQualifiers		SEQUENCE SIZE (1..MAX) OF SigPolicyQualifierInfo OPTIONAL
+            }
+            
+            SigPolicyId ::= OBJECT IDENTIFIER
+            
+            SigPolicyHash ::= OtherHashAlgAndValue
+            </code>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignaturePolicyIdentifier">
+            <remarks>
+            <code>
+            SignaturePolicyIdentifier ::= CHOICE {
+            	SignaturePolicyId		SignaturePolicyId,
+            	SignaturePolicyImplied	SignaturePolicyImplied
+            }
+            
+            SignaturePolicyImplied ::= NULL
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.SignerAttribute.ToAsn1Object">
+            
+             <pre>
+              SignerAttribute ::= SEQUENCE OF CHOICE {
+                  claimedAttributes   [0] ClaimedAttributes,
+                  certifiedAttributes [1] CertifiedAttributes }
+            
+              ClaimedAttributes ::= SEQUENCE OF Attribute
+              CertifiedAttributes ::= AttributeCertificate -- as defined in RFC 3281: see clause 4.1.
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SignerLocation">
+             Signer-Location attribute (RFC3126).
+            
+             <pre>
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Esf.SignerLocation.ToAsn1Object">
+             <pre>
+               SignerLocation ::= SEQUENCE {
+                   countryName        [0] DirectoryString OPTIONAL,
+                   localityName       [1] DirectoryString OPTIONAL,
+                   postalAddress      [2] PostalAddress OPTIONAL }
+            
+               PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
+            
+               DirectoryString ::= CHOICE {
+                     teletexString           TeletexString (SIZE (1..MAX)),
+                     printableString         PrintableString (SIZE (1..MAX)),
+                     universalString         UniversalString (SIZE (1..MAX)),
+                     utf8String              UTF8String (SIZE (1.. MAX)),
+                     bmpString               BMPString (SIZE (1..MAX)) }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Esf.SigPolicyQualifierInfo">
+            <remarks>
+            <code>
+            SigPolicyQualifierInfo ::= SEQUENCE {
+            	sigPolicyQualifierId  SigPolicyQualifierId,
+            	sigQualifier          ANY DEFINED BY sigPolicyQualifierId
+            }
+            
+            SigPolicyQualifierId ::= OBJECT IDENTIFIER
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentHints.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentHints.ToAsn1Object">
+            <pre>
+            ContentHints ::= SEQUENCE {
+              contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,
+              contentType ContentType }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+            Create from OCTET STRING whose octets represent the identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.#ctor(System.Byte[])">
+            Create from byte array representing the identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.ContentIdentifier.ToAsn1Object">
+            The definition of ContentIdentifier is
+            <pre>
+            ContentIdentifier ::=  OCTET STRING
+            </pre>
+            id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 7 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertID.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertID.ToAsn1Object">
+            <pre>
+            EssCertID ::= SEQUENCE {
+                certHash Hash,
+                issuerSerial IssuerSerial OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.EssCertIDv2.ToAsn1Object">
+             <pre>
+             EssCertIDv2 ::=  SEQUENCE {
+                 hashAlgorithm     AlgorithmIdentifier
+                          DEFAULT {algorithm id-sha256},
+                 certHash          Hash,
+                 issuerSerial      IssuerSerial OPTIONAL
+             }
+            
+             Hash ::= OCTET STRING
+            
+             IssuerSerial ::= SEQUENCE {
+                 issuer         GeneralNames,
+                 serialNumber   CertificateSerialNumber
+             }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherCertID.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherCertID.ToAsn1Object">
+             <pre>
+             OtherCertID ::= SEQUENCE {
+                 otherCertHash    OtherHash,
+                 issuerSerial     IssuerSerial OPTIONAL }
+            
+             OtherHash ::= CHOICE {
+                 sha1Hash     OCTET STRING,
+                 otherHash    OtherHashAlgAndValue }
+            
+             OtherHashAlgAndValue ::= SEQUENCE {
+                 hashAlgorithm    AlgorithmIdentifier,
+                 hashValue        OCTET STRING }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherSigningCertificate.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructors
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.OtherSigningCertificate.ToAsn1Object">
+            The definition of OtherSigningCertificate is
+            <pre>
+            OtherSigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF OtherCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-ets-otherSigCert OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 19 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificate.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            constructors
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificate.ToAsn1Object">
+            The definition of SigningCertificate is
+            <pre>
+            SigningCertificate ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertID,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1)
+             member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+             smime(16) id-aa(2) 12 }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ess.SigningCertificateV2.ToAsn1Object">
+            The definition of SigningCertificateV2 is
+            <pre>
+            SigningCertificateV2 ::=  SEQUENCE {
+                 certs        SEQUENCE OF EssCertIDv2,
+                 policies     SEQUENCE OF PolicyInformation OPTIONAL
+            }
+            </pre>
+            id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1)
+               member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
+               smime(16) id-aa(2) 47 }
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.CscaMasterList">
+             The CscaMasterList object. This object can be wrapped in a
+             CMSSignedData to be published in LDAP.
+            
+             <pre>
+             CscaMasterList ::= SEQUENCE {
+               version                CscaMasterListVersion,
+               certList               SET OF Certificate }
+               
+             CscaMasterListVersion :: INTEGER {v0(0)}
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.DataGroupHash">
+             The DataGroupHash object.
+             <pre>
+             DataGroupHash  ::=  SEQUENCE {
+                  dataGroupNumber         DataGroupNumber,
+                  dataGroupHashValue     OCTET STRING }
+            
+             DataGroupNumber ::= INTEGER {
+                     dataGroup1    (1),
+                     dataGroup1    (2),
+                     dataGroup1    (3),
+                     dataGroup1    (4),
+                     dataGroup1    (5),
+                     dataGroup1    (6),
+                     dataGroup1    (7),
+                     dataGroup1    (8),
+                     dataGroup1    (9),
+                     dataGroup1    (10),
+                     dataGroup1    (11),
+                     dataGroup1    (12),
+                     dataGroup1    (13),
+                     dataGroup1    (14),
+                     dataGroup1    (15),
+                     dataGroup1    (16) }
+            
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Icao.LdsSecurityObject">
+             The LDSSecurityObject object (V1.8).
+             <pre>
+             LDSSecurityObject ::= SEQUENCE {
+               version                LDSSecurityObjectVersion,
+               hashAlgorithm          DigestAlgorithmIdentifier,
+               dataGroupHashValues    SEQUENCE SIZE (2..ub-DataGroups) OF DataHashGroup,
+               ldsVersionInfo         LDSVersionInfo OPTIONAL
+                 -- if present, version MUST be v1 }
+            
+             DigestAlgorithmIdentifier ::= AlgorithmIdentifier,
+            
+             LDSSecurityObjectVersion :: INTEGER {V0(0)}
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Icao.LdsVersionInfo.ToAsn1Object">
+            <pre>
+            LDSVersionInfo ::= SEQUENCE {
+               ldsVersion PRINTABLE STRING
+               unicodeVersion PRINTABLE STRING
+             }
+            </pre>
+            @return
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttCPAccredited">
+            The id-isismtt-cp-accredited OID indicates that the certificate is a
+            qualified certificate according to Directive 1999/93/EC of the European
+            Parliament and of the Council of 13 December 1999 on a Community
+            Framework for Electronic Signatures, which additionally conforms the
+            special requirements of the SigG and has been issued by an accredited CA.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATDateOfCertGen">
+             Certificate extensionDate of certificate generation
+             
+             <pre>
+            		DateOfCertGenSyntax ::= GeneralizedTime
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATProcuration">
+            Attribute to indicate that the certificate holder may sign in the name of
+            a third person. May also be used as extension in a certificate.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATAdmission">
+            Attribute to indicate admissions to certain professions. May be used as
+            attribute in attribute certificate or as extension in a certificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATMonetaryLimit">
+            Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST
+            be used in new certificates in place of the extension/attribute
+            MonetaryLimit since January 1, 2004. For the sake of backward
+            compatibility with certificates already in use, SigG conforming
+            components MUST support MonetaryLimit (as well as QcEuLimitValue).
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATDeclarationOfMajority">
+            A declaration of majority. May be used as attribute in attribute
+            certificate or as extension in a certificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATIccsn">
+             
+             Serial number of the smart card containing the corresponding private key
+             
+             <pre>
+            		ICCSNSyntax ::= OCTET STRING (SIZE(8..20))
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATPKReference">
+             
+             Reference for a file of a smartcard that stores the public key of this
+             certificate and that is used as �security anchor�.
+             
+             <pre>
+            		PKReferenceSyntax ::= OCTET STRING (SIZE(20))
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRestriction">
+             Some other restriction regarding the usage of this certificate. May be
+             used as attribute in attribute certificate or as extension in a
+             certificate.
+             
+             <pre>
+            		RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             </pre>
+             
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRetrieveIfAllowed">
+             
+             (Single)Request extension: Clients may include this extension in a
+             (single) Request to request the responder to send the certificate in the
+             response message along with the status information. Besides the LDAP
+             service, this extension provides another mechanism for the distribution
+             of certificates, which MAY optionally be provided by certificate
+             repositories.
+             
+             <pre>
+            		RetrieveIfAllowed ::= BOOLEAN
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATRequestedCertificate">
+            SingleOCSPResponse extension: The certificate requested by the client by
+            inserting the RetrieveIfAllowed extension in the request, will be
+            returned in this extension.
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATNamingAuthorities">
+            Base ObjectIdentifier for naming authorities
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATCertInDirSince">
+             SingleOCSPResponse extension: Date, when certificate has been published
+             in the directory and status information has become available. Currently,
+             accrediting authorities enforce that SigG-conforming OCSP servers include
+             this extension in the responses.
+             
+             <pre>
+            		CertInDirSince ::= GeneralizedTime
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATCertHash">
+             Hash of a certificate in OCSP.
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATNameAtBirth">
+             <pre>
+            		NameAtBirth ::= DirectoryString(SIZE(1..64)
+             </pre>
+             
+             Used in
+             {@link Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes SubjectDirectoryAttributes}
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATAdditionalInformation">
+            Some other information of non-restrictive nature regarding the usage of
+            this certificate. May be used as attribute in atribute certificate or as
+            extension in a certificate.
+            
+            <pre>
+                          AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            </pre>
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.IsisMttObjectIdentifiers.IdIsisMttATLiabilityLimitationFlag">
+             Indicates that an attribute certificate exists, which limits the
+             usability of this public key certificate. Whenever verifying a signature
+             with the help of this certificate, the content of the corresponding
+             attribute certificate should be concerned. This extension MUST be
+             included in a PKC, if a corresponding attribute certificate (having the
+             PKC as base certificate) contains some attribute that restricts the
+             usability of the PKC too. Attribute certificates with restricting content
+             MUST always be included in the signed document.
+             
+             <pre>
+            		LiabilityLimitationFlagSyntax ::= BOOLEAN
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash">
+            ISIS-MTT PROFILE: The responder may include this extension in a response to
+            send the hash of the requested certificate to the responder. This hash is
+            cryptographically bound to the certificate and serves as evidence that the
+            certificate is known to the responder (i.e. it has been issued and is present
+            in the directory). Hence, this extension is a means to provide a positive
+            statement of availability as described in T8.[8]. As explained in T13.[1],
+            clients may rely on this information to be able to validate signatures after
+            the expiry of the corresponding certificate. Hence, clients MUST support this
+            extension. If a positive statement of availability is to be delivered, this
+            extension syntax and OID MUST be used.
+            <p/>
+            <p/>
+            <pre>
+                CertHash ::= SEQUENCE {
+                  hashAlgorithm AlgorithmIdentifier,
+                  certificateHash OCTET STRING
+                }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type CertHash:
+             <p/>
+             <pre>
+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.#ctor(Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,System.Byte[])">
+             Constructor from a given details.
+            
+             @param hashAlgorithm   The hash algorithm identifier.
+             @param certificateHash The hash of the whole DER encoding of the certificate.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.CertHash.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 CertHash ::= SEQUENCE {
+                   hashAlgorithm AlgorithmIdentifier,
+                   certificateHash OCTET STRING
+                 }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate">
+            ISIS-MTT-Optional: The certificate requested by the client by inserting the
+            RetrieveIfAllowed extension in the request, will be returned in this
+            extension.
+            <p/>
+            ISIS-MTT-SigG: The signature act allows publishing certificates only then,
+            when the certificate owner gives his isExplicit permission. Accordingly, there
+            may be �nondownloadable� certificates, about which the responder must provide
+            status information, but MUST NOT include them in the response. Clients may
+            get therefore the following three kind of answers on a single request
+            including the RetrieveIfAllowed extension:
+            <ul>
+            <li> a) the responder supports the extension and is allowed to publish the
+            certificate: RequestedCertificate returned including the requested
+            certificate</li>
+            <li>b) the responder supports the extension but is NOT allowed to publish
+            the certificate: RequestedCertificate returned including an empty OCTET
+            STRING</li>
+            <li>c) the responder does not support the extension: RequestedCertificate is
+            not included in the response</li>
+            </ul>
+            Clients requesting RetrieveIfAllowed MUST be able to handle these cases. If
+            any of the OCTET STRING options is used, it MUST contain the DER encoding of
+            the requested certificate.
+            <p/>
+            <pre>
+                       RequestedCertificate ::= CHOICE {
+                         Certificate Certificate,
+                         publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                         attributeCertificate [1] EXPLICIT OCTET STRING
+                       }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure)">
+             Constructor from a given details.
+             <p/>
+             Only one parameter can be given. All other must be <code>null</code>.
+            
+             @param certificate Given as Certificate
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.Ocsp.RequestedCertificate.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                        RequestedCertificate ::= CHOICE {
+                          Certificate Certificate,
+                          publicKeyCertificate [0] EXPLICIT OCTET STRING,
+                          attributeCertificate [1] EXPLICIT OCTET STRING
+                        }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax">
+            Some other information of non-restrictive nature regarding the usage of this
+            certificate.
+            
+            <pre>
+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param information The describtion of the information.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdditionalInformationSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+               AdditionalInformationSyntax ::= DirectoryString (SIZE(1..2048))
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions">
+             An Admissions structure.
+             <p/>
+             <pre>
+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             <p/>
+             </pre>
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                        Admissions ::= SEQUENCE
+                        {
+                          admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                          namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                          professionInfos SEQUENCE OF ProfessionInfo
+                        }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority,Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo[])">
+             Constructor from a given details.
+             <p/>
+             Parameter <code>professionInfos</code> is mandatory.
+            
+             @param admissionAuthority The admission authority.
+             @param namingAuthority    The naming authority.
+             @param professionInfos    The profession infos.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   Admissions ::= SEQUENCE
+                   {
+                     admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                     namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                     professionInfos SEQUENCE OF ProfessionInfo
+                   }
+             <p/>
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax">
+             Attribute to indicate admissions to certain professions.
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+             <p/>
+             <p/>
+             ISIS-MTT PROFILE: The relatively complex structure of AdmissionSyntax
+             supports the following concepts and requirements:
+             <ul>
+             <li> External institutions (e.g. professional associations, chambers, unions,
+             administrative bodies, companies, etc.), which are responsible for granting
+             and verifying professional admissions, are indicated by means of the data
+             field admissionAuthority. An admission authority is indicated by a
+             GeneralName object. Here an X.501 directory name (distinguished name) can be
+             indicated in the field directoryName, a URL address can be indicated in the
+             field uniformResourceIdentifier, and an object identifier can be indicated in
+             the field registeredId.</li>
+             <li> The names of authorities which are responsible for the administration of
+             title registers are indicated in the data field namingAuthority. The name of
+             the authority can be identified by an object identifier in the field
+             namingAuthorityId, by means of a text string in the field
+             namingAuthorityText, by means of a URL address in the field
+             namingAuthorityUrl, or by a combination of them. For example, the text string
+             can contain the name of the authority, the country and the name of the title
+             register. The URL-option refers to a web page which contains lists with
+             �officially� registered professions (text and possibly OID) as well as
+             further information on these professions. Object identifiers for the
+             component namingAuthorityId are grouped under the OID-branch
+             id-isis-at-namingAuthorities and must be applied for.</li>
+             <li>See http://www.teletrust.de/anwend.asp?Id=30200&amp;Sprache=E_&amp;HomePG=0
+             for an application form and http://www.teletrust.de/links.asp?id=30220,11
+             for an overview of registered naming authorities.</li>
+             <li> By means of the data type ProfessionInfo certain professions,
+             specializations, disciplines, fields of activity, etc. are identified. A
+             profession is represented by one or more text strings, resp. profession OIDs
+             in the fields professionItems and professionOIDs and by a registration number
+             in the field registrationNumber. An indication in text form must always be
+             present, whereas the other indications are optional. The component
+             addProfessionInfo may contain additional applicationspecific information in
+             DER-encoded form.</li>
+             </ul>
+             <p/>
+             By means of different namingAuthority-OIDs or profession OIDs hierarchies of
+             professions, specializations, disciplines, fields of activity, etc. can be
+             expressed. The issuing admission authority should always be indicated (field
+             admissionAuthority), whenever a registration number is presented. Still,
+             information on admissions can be given without indicating an admission or a
+             naming authority by the exclusive use of the component professionItems. In
+             this case the certification authority is responsible for the verification of
+             the admission information.
+             <p/>
+             <p/>
+             <p/>
+             This attribute is single-valued. Still, several admissions can be captured in
+             the sequence structure of the component contentsOfAdmissions of
+             AdmissionSyntax or in the component professionInfos of Admissions. The
+             component admissionAuthority of AdmissionSyntax serves as default value for
+             the component admissionAuthority of Admissions. Within the latter component
+             the default value can be overwritten, in case that another authority is
+             responsible. The component namingAuthority of Admissions serves as a default
+             value for the component namingAuthority of ProfessionInfo. Within the latter
+             component the default value can be overwritten, in case that another naming
+             authority needs to be recorded.
+             <p/>
+             The length of the string objects is limited to 128 characters. It is
+             recommended to indicate a namingAuthorityURL in all issued attribute
+             certificates. If a namingAuthorityURL is indicated, the field professionItems
+             of ProfessionInfo should contain only registered titles. If the field
+             professionOIDs exists, it has to contain the OIDs of the professions listed
+             in professionItems in the same order. In general, the field professionInfos
+             should contain only one entry, unless the admissions that are to be listed
+             are logically connected (e.g. they have been issued under the same admission
+             number).
+            
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.Admissions
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo
+             @see Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from given details.
+            
+             @param admissionAuthority   The admission authority.
+             @param contentsOfAdmissions The admissions.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 AdmissionSyntax ::= SEQUENCE
+                 {
+                   admissionAuthority GeneralName OPTIONAL,
+                   contentsOfAdmissions SEQUENCE OF Admissions
+                 }
+             <p/>
+                 Admissions ::= SEQUENCE
+                 {
+                   admissionAuthority [0] EXPLICIT GeneralName OPTIONAL
+                   namingAuthority [1] EXPLICIT NamingAuthority OPTIONAL
+                   professionInfos SEQUENCE OF ProfessionInfo
+                 }
+             <p/>
+                 NamingAuthority ::= SEQUENCE
+                 {
+                   namingAuthorityId OBJECT IDENTIFIER OPTIONAL,
+                   namingAuthorityUrl IA5String OPTIONAL,
+                   namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                 }
+             <p/>
+                 ProfessionInfo ::= SEQUENCE
+                 {
+                   namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                   professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                   professionOIDs SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                   registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                   addProfessionInfo OCTET STRING OPTIONAL
+                 }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.GetContentsOfAdmissions">
+            @return Returns the contentsOfAdmissions.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax.AdmissionAuthority">
+            @return Returns the admissionAuthority if present, null otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority">
+            A declaration of majority.
+            <p/>
+            <pre>
+                      DeclarationOfMajoritySyntax ::= CHOICE
+                      {
+                        notYoungerThan [0] IMPLICIT INTEGER,
+                        fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                        {
+                          fullAge BOOLEAN DEFAULT TRUE,
+                          country PrintableString (SIZE(2))
+                        }
+                        dateOfBirth [2] IMPLICIT GeneralizedTime
+                      }
+            </pre>
+            <p/>
+            fullAgeAtCountry indicates the majority of the owner with respect to the laws
+            of a specific country.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                       DeclarationOfMajoritySyntax ::= CHOICE
+                       {
+                         notYoungerThan [0] IMPLICIT INTEGER,
+                         fullAgeAtCountry [1] IMPLICIT SEQUENCE
+                         {
+                           fullAge BOOLEAN DEFAULT TRUE,
+                           country PrintableString (SIZE(2))
+                         }
+                         dateOfBirth [2] IMPLICIT GeneralizedTime
+                       }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.DeclarationOfMajority.NotYoungerThan">
+            @return notYoungerThan if that's what we are, -1 otherwise
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit">
+            Monetary limit for transactions. The QcEuMonetaryLimit QC statement MUST be
+            used in new certificates in place of the extension/attribute MonetaryLimit
+            since January 1, 2004. For the sake of backward compatibility with
+            certificates already in use, components SHOULD support MonetaryLimit (as well
+            as QcEuLimitValue).
+            <p/>
+            Indicates a monetary limit within which the certificate holder is authorized
+            to act. (This value DOES NOT express a limit on the liability of the
+            certification authority).
+            <p/>
+            <pre>
+               MonetaryLimitSyntax ::= SEQUENCE
+               {
+                 currency PrintableString (SIZE(3)),
+                 amount INTEGER,
+                 exponent INTEGER
+               }
+            </pre>
+            <p/>
+            currency must be the ISO code.
+            <p/>
+            value = amount�10*exponent
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit.#ctor(System.String,System.Int32,System.Int32)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             value = amount�10^exponent
+            
+             @param currency The currency. Must be the ISO code.
+             @param amount   The amount
+             @param exponent The exponent
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.MonetaryLimit.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                MonetaryLimitSyntax ::= SEQUENCE
+                {
+                  currency PrintableString (SIZE(3)),
+                  amount INTEGER,
+                  exponent INTEGER
+                }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority">
+            Names of authorities which are responsible for the administration of title
+            registers.
+            
+            <pre>
+                        NamingAuthority ::= SEQUENCE 
+                        {
+                          namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                          namingAuthorityUrl IA5String OPTIONAL,
+                          namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                        }
+            </pre>
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.IdIsisMttATNamingAuthoritiesRechtWirtschaftSteuern">
+            Profession OIDs should always be defined under the OID branch of the
+            responsible naming authority. At the time of this writing, the work group
+            �Recht, Wirtschaft, Steuern� (�Law, Economy, Taxes�) is registered as the
+            first naming authority under the OID id-isismtt-at-namingAuthorities.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             <p/>
+             <pre>
+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String,Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from given details.
+             <p/>
+             All parameters can be combined.
+            
+             @param namingAuthorityID   ObjectIdentifier for naming authority.
+             @param namingAuthorityUrl  URL for naming authority.
+             @param namingAuthorityText Textual representation of naming authority.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                         NamingAuthority ::= SEQUENCE
+                         {
+                           namingAuthorityID OBJECT IDENTIFIER OPTIONAL,
+                           namingAuthorityUrl IA5String OPTIONAL,
+                           namingAuthorityText DirectoryString(SIZE(1..128)) OPTIONAL
+                         }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityID">
+            @return Returns the namingAuthorityID.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityText">
+            @return Returns the namingAuthorityText.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority.NamingAuthorityUrl">
+            @return Returns the namingAuthorityUrl.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax">
+            Attribute to indicate that the certificate holder may sign in the name of a
+            third person.
+            <p>
+            ISIS-MTT PROFILE: The corresponding ProcurationSyntax contains either the
+            name of the person who is represented (subcomponent thirdPerson) or a
+            reference to his/her base certificate (in the component signingFor,
+            subcomponent certRef), furthermore the optional components country and
+            typeSubstitution to indicate the country whose laws apply, and respectively
+            the type of procuration (e.g. manager, procuration, custody).
+            </p>
+            <p>
+            ISIS-MTT PROFILE: The GeneralName MUST be of type directoryName and MAY only
+            contain: - RFC3039 attributes, except pseudonym (countryName, commonName,
+            surname, givenName, serialNumber, organizationName, organizationalUnitName,
+            stateOrProvincename, localityName, postalAddress) and - SubjectDirectoryName
+            attributes (title, dateOfBirth, placeOfBirth, gender, countryOfCitizenship,
+            countryOfResidence and NameAtBirth).
+            </p>
+            <pre>
+                          ProcurationSyntax ::= SEQUENCE {
+                            country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                            typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                            signingFor [3] EXPLICIT SigningFor 
+                          }
+                          
+                          SigningFor ::= CHOICE 
+                          { 
+                            thirdPerson GeneralName,
+                            certRef IssuerSerial 
+                          }
+            </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type ProcurationSyntax:
+             <p/>
+             <pre>
+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             <p/>
+                           SigningFor ::= CHOICE
+                           {
+                             thirdPerson GeneralName,
+                             certRef IssuerSerial
+                           }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(System.String,Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.X509.IssuerSerial)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             Either <code>generalName</code> or <code>certRef</code> MUST be
+             <code>null</code>.
+            
+             @param country            The country code whose laws apply.
+             @param typeOfSubstitution The type of procuration.
+             @param certRef            Reference to certificate of the person who is represented.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.#ctor(System.String,Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Constructor from a given details.
+             <p/>
+             <p/>
+             Either <code>generalName</code> or <code>certRef</code> MUST be
+             <code>null</code>.
+            
+             @param country            The country code whose laws apply.
+             @param typeOfSubstitution The type of procuration.
+             @param thirdPerson        The GeneralName of the person who is represented.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProcurationSyntax.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                           ProcurationSyntax ::= SEQUENCE {
+                             country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
+                             typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
+                             signingFor [3] EXPLICIT SigningFor
+                           }
+             <p/>
+                           SigningFor ::= CHOICE
+                           {
+                             thirdPerson GeneralName,
+                             certRef IssuerSerial
+                           }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo">
+            Professions, specializations, disciplines, fields of activity, etc.
+            
+            <pre>
+                          ProfessionInfo ::= SEQUENCE 
+                          {
+                            namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                            professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                            professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                            registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                            addProfessionInfo OCTET STRING OPTIONAL 
+                          }
+            </pre>
+            
+            @see Org.BouncyCastle.Asn1.IsisMtt.X509.AdmissionSyntax
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsanwltin">
+            Rechtsanw�ltin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsanwalt">
+            Rechtsanwalt
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Rechtsbeistand">
+            Rechtsbeistand
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerberaterin">
+            Steuerberaterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerberater">
+            Steuerberater
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerbevollmchtigte">
+            Steuerbevollm�chtigte
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Steuerbevollmchtigter">
+            Steuerbevollm�chtigter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarin">
+            Notarin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notar">
+            Notar
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarvertreterin">
+            Notarvertreterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notarvertreter">
+            Notarvertreter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notariatsverwalterin">
+            Notariatsverwalterin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Notariatsverwalter">
+            Notariatsverwalter
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Wirtschaftsprferin">
+            Wirtschaftspr�ferin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Wirtschaftsprfer">
+            Wirtschaftspr�fer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.VereidigteBuchprferin">
+            Vereidigte Buchpr�ferin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.VereidigterBuchprfer">
+            Vereidigter Buchpr�fer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Patentanwltin">
+            Patentanw�ltin
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.Patentanwalt">
+            Patentanwalt
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             <p/>
+             <pre>
+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.#ctor(Org.BouncyCastle.Asn1.IsisMtt.X509.NamingAuthority,Org.BouncyCastle.Asn1.X500.DirectoryString[],Org.BouncyCastle.Asn1.DerObjectIdentifier[],System.String,Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor from given details.
+             <p/>
+             <code>professionItems</code> is mandatory, all other parameters are
+             optional.
+            
+             @param namingAuthority    The naming authority.
+             @param professionItems    Directory strings of the profession.
+             @param professionOids     DERObjectIdentfier objects for the
+                                       profession.
+             @param registrationNumber Registration number.
+             @param addProfessionInfo  Additional infos in encoded form.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                           ProfessionInfo ::= SEQUENCE
+                           {
+                             namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
+                             professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
+                             professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
+                             registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
+                             addProfessionInfo OCTET STRING OPTIONAL
+                           }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.GetProfessionItems">
+            @return Returns the professionItems.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.GetProfessionOids">
+            @return Returns the professionOids.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.AddProfessionInfo">
+            @return Returns the addProfessionInfo.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.NamingAuthority">
+            @return Returns the namingAuthority.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.IsisMtt.X509.ProfessionInfo.RegistrationNumber">
+            @return Returns the registrationNumber.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction">
+            Some other restriction regarding the usage of this certificate.
+            <p/>
+            <pre>
+             RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from DirectoryString.
+             <p/>
+             The DirectoryString is of type RestrictionSyntax:
+             <p/>
+             <pre>
+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             </pre>
+            
+             @param restriction A IAsn1String.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param restriction The description of the restriction.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.IsisMtt.X509.Restriction.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                  RestrictionSyntax ::= DirectoryString (SIZE(1..1024))
+             <p/>
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.Cast5CbcParameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            cast5CBCParameters ::= Sequence {
+                                      iv         OCTET STRING DEFAULT 0,
+                                             -- Initialization vector
+                                      keyLength  Integer
+                                             -- Key length, in bits
+                                 }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.IdeaCbcPar.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            IDEA-CBCPar ::= Sequence {
+                                 iv    OCTET STRING OPTIONAL -- exactly 8 octets
+                             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Misc.NetscapeCertType">
+            The NetscapeCertType object.
+            <pre>
+               NetscapeCertType ::= BIT STRING {
+                    SSLClient               (0),
+                    SSLServer               (1),
+                    S/MIME                  (2),
+                    Object Signing          (3),
+                    Reserved                (4),
+                    SSL CA                  (5),
+                    S/MIME CA               (6),
+                    Object Signing CA       (7) }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Misc.NetscapeCertType.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (X509NetscapeCertType.sslCA | X509NetscapeCertType.smimeCA)
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Mozilla.PublicKeyAndChallenge">
+             This is designed to parse
+             the PublicKeyAndChallenge created by the KEYGEN tag included by
+             Mozilla based browsers.
+              <pre>
+              PublicKeyAndChallenge ::= SEQUENCE {
+                spki SubjectPublicKeyInfo,
+                challenge IA5STRING
+              }
+            
+              </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Nist.NistNamedCurves">
+            Utility class for fetching curves using their NIST names as published in FIPS-PUB 186-2
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Nist.NistNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Ntt.NttObjectIdentifiers">
+            <summary>From RFC 3657</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.BasicOcspResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            BasicOcspResponse       ::= Sequence {
+                 tbsResponseData      ResponseData,
+                 signatureAlgorithm   AlgorithmIdentifier,
+                 signature            BIT STRING,
+                 certs                [0] EXPLICIT Sequence OF Certificate OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CertID          ::=     Sequence {
+                hashAlgorithm       AlgorithmIdentifier,
+                issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
+                issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
+                serialNumber        CertificateSerialNumber }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertStatus.#ctor">
+            create a CertStatus object with a tag of zero.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CertStatus.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             CertStatus ::= CHOICE {
+                             good        [0]     IMPLICIT Null,
+                             revoked     [1]     IMPLICIT RevokedInfo,
+                             unknown     [2]     IMPLICIT UnknownInfo }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.CrlID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CrlID ::= Sequence {
+                crlUrl               [0]     EXPLICIT IA5String OPTIONAL,
+                crlNum               [1]     EXPLICIT Integer OPTIONAL,
+                crlTime              [2]     EXPLICIT GeneralizedTime OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspRequest.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OcspRequest     ::=     Sequence {
+                tbsRequest                  TBSRequest,
+                optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            OcspResponse ::= Sequence {
+                responseStatus         OcspResponseStatus,
+                responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.OcspResponseStatus.#ctor(System.Int32)">
+            The OcspResponseStatus enumeration.
+            <pre>
+            OcspResponseStatus ::= Enumerated {
+                successful            (0),  --Response has valid confirmations
+                malformedRequest      (1),  --Illegal confirmation request
+                internalError         (2),  --Internal error in issuer
+                tryLater              (3),  --Try again later
+                                            --(4) is not used
+                sigRequired           (5),  --Must sign the request
+                unauthorized          (6)   --Request unauthorized
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.Request.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Request         ::=     Sequence {
+                reqCert                     CertID,
+                singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponderID.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponderID ::= CHOICE {
+                 byName          [1] Name,
+                 byKey           [2] KeyHash }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponseBytes.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponseBytes ::=       Sequence {
+                responseType   OBJECT IDENTIFIER,
+                response       OCTET STRING }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ResponseData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ResponseData ::= Sequence {
+                version              [0] EXPLICIT Version DEFAULT v1,
+                responderID              ResponderID,
+                producedAt               GeneralizedTime,
+                responses                Sequence OF SingleResponse,
+                responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.RevokedInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            RevokedInfo ::= Sequence {
+                 revocationTime              GeneralizedTime,
+                 revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.ServiceLocator.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ServiceLocator ::= Sequence {
+                issuer    Name,
+                locator   AuthorityInfoAccessSyntax OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.Signature.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Signature       ::=     Sequence {
+                signatureAlgorithm      AlgorithmIdentifier,
+                signature               BIT STRING,
+                certs               [0] EXPLICIT Sequence OF Certificate OPTIONAL}
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.SingleResponse.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             SingleResponse ::= Sequence {
+                     certID                       CertID,
+                     certStatus                   CertStatus,
+                     thisUpdate                   GeneralizedTime,
+                     nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
+                     singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Ocsp.TbsRequest.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            TBSRequest      ::=     Sequence {
+                version             [0]     EXPLICIT Version DEFAULT v1,
+                requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
+                requestList                 Sequence OF Request,
+                requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.OidTokenizer">
+            class for breaking up an Oid into it's component tokens, ala
+            java.util.StringTokenizer. We need this class as some of the
+            lightweight Java environment don't support classes like
+            StringTokenizer.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.AttributePkcs.GetInstance(System.Object)">
+             return an Attribute object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.AttributePkcs.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.CertificationRequest">
+            Pkcs10 Certfication request object.
+            <pre>
+            CertificationRequest ::= Sequence {
+              certificationRequestInfo  CertificationRequestInfo,
+              signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+              signature                 BIT STRING
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.CertificationRequestInfo">
+             Pkcs10 CertificationRequestInfo object.
+             <pre>
+              CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.ContentInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            ContentInfo ::= Sequence {
+                     contentType ContentType,
+                     content
+                     [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.EncryptedData">
+             The EncryptedData object.
+             <pre>
+                  EncryptedData ::= Sequence {
+                       version Version,
+                       encryptedContentInfo EncryptedContentInfo
+                  }
+            
+            
+                  EncryptedContentInfo ::= Sequence {
+                      contentType ContentType,
+                      contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier,
+                      encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
+                }
+            
+                EncryptedContent ::= OCTET STRING
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.EncryptedPrivateKeyInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+             EncryptedPrivateKeyInfo ::= Sequence {
+                  encryptionAlgorithm AlgorithmIdentifier {{KeyEncryptionAlgorithms}},
+                  encryptedData EncryptedData
+             }
+            
+             EncryptedData ::= OCTET STRING
+            
+             KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
+                      ... -- For local profiles
+             }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+                 AlgorithmIdentifier ::= Sequence {
+                                       algorithm OBJECT IDENTIFIER,
+                                       parameters ANY DEFINED BY algorithm OPTIONAL }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.MacData.ToAsn1Object">
+            <pre>
+            MacData ::= SEQUENCE {
+                mac      DigestInfo,
+                macSalt  OCTET STRING,
+                iterations INTEGER DEFAULT 1
+                -- Note: The default is for historic reasons and its use is deprecated. A
+                -- higher value, like 1024 is recommended.
+            </pre>
+            @return the basic DERObject construction.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.Pfx">
+            the infamous Pfx from Pkcs12
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.PrivateKeyInfo.ToAsn1Object">
+             write out an RSA private key with its associated information
+             as described in Pkcs8.
+             <pre>
+                  PrivateKeyInfo ::= Sequence {
+                                          version Version,
+                                          privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
+                                          privateKey PrivateKey,
+                                          attributes [0] IMPLICIT Attributes OPTIONAL
+                                      }
+                  Version ::= Integer {v1(0)} (v1,...)
+            
+                  PrivateKey ::= OCTET STRING
+            
+                  Attributes ::= Set OF Attr
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaesOaepParameters.#ctor">
+            The default version
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaesOaepParameters.ToAsn1Object">
+             <pre>
+              RSAES-OAEP-params ::= SEQUENCE {
+                 hashAlgorithm      [0] OAEP-PSSDigestAlgorithms     DEFAULT sha1,
+                 maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                 pSourceAlgorithm   [2] PKCS1PSourceAlgorithms  DEFAULT pSpecifiedEmpty
+               }
+            
+               OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-sha1 PARAMETERS NULL   }|
+                 { OID id-sha256 PARAMETERS NULL }|
+                 { OID id-sha384 PARAMETERS NULL }|
+                 { OID id-sha512 PARAMETERS NULL },
+                 ...  -- Allows for future expansion --
+               }
+               PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+               }
+               PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                 { OID id-pSpecified PARAMETERS OCTET STRING },
+                 ...  -- Allows for future expansion --
+              }
+             </pre>
+             @return the asn1 primitive representing the parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsaPrivateKeyStructure.ToAsn1Object">
+             This outputs the key in Pkcs1v2 format.
+             <pre>
+                  RsaPrivateKey ::= Sequence {
+                                      version Version,
+                                      modulus Integer, -- n
+                                      publicExponent Integer, -- e
+                                      privateExponent Integer, -- d
+                                      prime1 Integer, -- p
+                                      prime2 Integer, -- q
+                                      exponent1 Integer, -- d mod (p-1)
+                                      exponent2 Integer, -- d mod (q-1)
+                                      coefficient Integer -- (inverse of q) mod p
+                                  }
+            
+                  Version ::= Integer
+             </pre>
+             <p>This routine is written to output Pkcs1 version 0, private keys.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsassaPssParameters.#ctor">
+            The default version
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.RsassaPssParameters.ToAsn1Object">
+             <pre>
+             RSASSA-PSS-params ::= SEQUENCE {
+               hashAlgorithm      [0] OAEP-PSSDigestAlgorithms  DEFAULT sha1,
+                maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
+                saltLength         [2] INTEGER  DEFAULT 20,
+                trailerField       [3] TrailerField  DEFAULT trailerFieldBC
+              }
+            
+             OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
+                { OID id-sha1 PARAMETERS NULL   }|
+                { OID id-sha256 PARAMETERS NULL }|
+                { OID id-sha384 PARAMETERS NULL }|
+                { OID id-sha512 PARAMETERS NULL },
+                ...  -- Allows for future expansion --
+             }
+            
+             PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
+               { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
+                ...  -- Allows for future expansion --
+             }
+            
+             TrailerField ::= INTEGER { trailerFieldBC(1) }
+             </pre>
+             @return the asn1 primitive representing the parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.SignedData">
+            a Pkcs#7 signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.SignedData.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             SignedData ::= Sequence {
+                 version Version,
+                 digestAlgorithms DigestAlgorithmIdentifiers,
+                 contentInfo ContentInfo,
+                 certificates
+                     [0] IMPLICIT ExtendedCertificatesAndCertificates
+                              OPTIONAL,
+                 crls
+                     [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+                 signerInfos SignerInfos }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Pkcs.SignerInfo">
+            a Pkcs#7 signer info object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Pkcs.SignerInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              SignerInfo ::= Sequence {
+                  version Version,
+                  issuerAndSerialNumber IssuerAndSerialNumber,
+                  digestAlgorithm DigestAlgorithmIdentifier,
+                  authenticatedAttributes [0] IMPLICIT Attributes OPTIONAL,
+                  digestEncryptionAlgorithm DigestEncryptionAlgorithmIdentifier,
+                  encryptedDigest EncryptedDigest,
+                  unauthenticatedAttributes [1] IMPLICIT Attributes OPTIONAL
+              }
+            
+              EncryptedDigest ::= OCTET STRING
+            
+              DigestAlgorithmIdentifier ::= AlgorithmIdentifier
+            
+              DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Sec.ECPrivateKeyStructure">
+            the elliptic curve private key object from SEC 1
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.ECPrivateKeyStructure.ToAsn1Object">
+            ECPrivateKey ::= SEQUENCE {
+                version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
+                privateKey OCTET STRING,
+                parameters [0] Parameters OPTIONAL,
+                publicKey [1] BIT STRING OPTIONAL }
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.Sec.SecNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Sec.SecObjectIdentifiers.EllipticCurve">
+            EllipticCurve OBJECT IDENTIFIER ::= {
+                  iso(1) identified-organization(3) certicom(132) curve(0)
+            }
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities">
+            Handler class for dealing with S/MIME Capabilities
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.PreferSignedData">
+            general preferences
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.DesCbc">
+            encryption algorithms preferences
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.GetInstance(System.Object)">
+             return an Attr object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.GetCapabilitiesForOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            returns an ArrayList with 0 or more objects of all the capabilities
+            matching the passed in capability Oid. If the Oid passed is null the
+            entire set is returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapabilities.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SMIMECapabilities ::= Sequence OF SMIMECapability
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeX509.GetInstance(System.Object)">
+             return an Attr object from the given object.
+            
+             @param o the object we want converted.
+             @exception ArgumentException if the object cannot be converted.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeX509.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Attr ::= Sequence {
+                attrType OBJECT IDENTIFIER,
+                attrValues Set OF AttributeValue
+            }
+            </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapability.PreferSignedData">
+            general preferences
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.Smime.SmimeCapability.DesCbc">
+            encryption algorithms preferences
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeCapability.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SMIMECapability ::= Sequence {
+                capabilityID OBJECT IDENTIFIER,
+                parameters ANY DEFINED BY capabilityID OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeCapabilityVector">
+            Handler for creating a vector S/MIME Capabilities
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.Smime.SmimeEncryptionKeyPreferenceAttribute">
+            The SmimeEncryptionKeyPreference object.
+            <pre>
+            SmimeEncryptionKeyPreference ::= CHOICE {
+                issuerAndSerialNumber   [0] IssuerAndSerialNumber,
+                receipentKeyId          [1] RecipientKeyIdentifier,
+                subjectAltKeyIdentifier [2] SubjectKeyIdentifier
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Smime.SmimeEncryptionKeyPreferenceAttribute.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+            @param sKeyId the subjectKeyIdentifier value (normally the X.509 one)
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves">
+            elliptic curves defined in "ECC Brainpool Standard Curves and Curve Generation"
+            http://www.ecc-brainpool.org/download/draft_pkix_additional_ecc_dp.txt
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.TeleTrust.TeleTrusTNamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.Accuracy.ToAsn1Object">
+            <pre>
+            Accuracy ::= SEQUENCE {
+                        seconds        INTEGER              OPTIONAL,
+                        millis     [0] INTEGER  (1..999)    OPTIONAL,
+                        micros     [1] INTEGER  (1..999)    OPTIONAL
+                        }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.MessageImprint.GetInstance(System.Object)">
+            @param o
+            @return a MessageImprint object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.MessageImprint.ToAsn1Object">
+            <pre>
+               MessageImprint ::= SEQUENCE  {
+                  hashAlgorithm                AlgorithmIdentifier,
+                  hashedMessage                OCTET STRING  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TimeStampReq.ToAsn1Object">
+            <pre>
+            TimeStampReq ::= SEQUENCE  {
+             version                      INTEGER  { v1(1) },
+             messageImprint               MessageImprint,
+               --a hash algorithm OID and the hash value of the data to be
+               --time-stamped
+             reqPolicy             TSAPolicyId              OPTIONAL,
+             nonce                 INTEGER                  OPTIONAL,
+             certReq               BOOLEAN                  DEFAULT FALSE,
+             extensions            [0] IMPLICIT Extensions  OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TimeStampResp.ToAsn1Object">
+            <pre>
+            TimeStampResp ::= SEQUENCE  {
+              status                  PkiStatusInfo,
+              timeStampToken          TimeStampToken     OPTIONAL  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Tsp.TstInfo.ToAsn1Object">
+             <pre>
+            
+                 TstInfo ::= SEQUENCE  {
+                    version                      INTEGER  { v1(1) },
+                    policy                       TSAPolicyId,
+                    messageImprint               MessageImprint,
+                      -- MUST have the same value as the similar field in
+                      -- TimeStampReq
+                    serialNumber                 INTEGER,
+                     -- Time-Stamping users MUST be ready to accommodate integers
+                     -- up to 160 bits.
+                    genTime                      GeneralizedTime,
+                    accuracy                     Accuracy                 OPTIONAL,
+                    ordering                     BOOLEAN             DEFAULT FALSE,
+                    nonce                        INTEGER                  OPTIONAL,
+                      -- MUST be present if the similar field was present
+                      -- in TimeStampReq.  In that case it MUST have the same value.
+                    tsa                          [0] GeneralName          OPTIONAL,
+                    extensions                   [1] IMPLICIT Extensions   OPTIONAL  }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.AsString(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Object,System.Text.StringBuilder)">
+             dump a Der object as a formatted string with indentation
+            
+             @param obj the Asn1Object to be dumped out.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.DumpAsString(Org.BouncyCastle.Asn1.Asn1Encodable)">
+             dump out a DER object as a formatted string, in non-verbose mode
+            
+             @param obj the Asn1Encodable to be dumped out.
+             @return  the resulting string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.Utilities.Asn1Dump.DumpAsString(Org.BouncyCastle.Asn1.Asn1Encodable,System.Boolean)">
+             Dump out the object as a string
+            
+             @param obj the Asn1Encodable to be dumped out.
+             @param verbose  if true, dump out the contents of octet and bit strings.
+             @return  the resulting string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X500.DirectoryString.ToAsn1Object">
+            <pre>
+             DirectoryString ::= CHOICE {
+               teletexString               TeletexString (SIZE (1..MAX)),
+               printableString             PrintableString (SIZE (1..MAX)),
+               universalString             UniversalString (SIZE (1..MAX)),
+               utf8String                  UTF8String (SIZE (1..MAX)),
+               bmpString                   BMPString (SIZE (1..MAX))  }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AccessDescription">
+            The AccessDescription object.
+            <pre>
+            AccessDescription  ::=  SEQUENCE {
+                  accessMethod          OBJECT IDENTIFIER,
+                  accessLocation        GeneralName  }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AccessDescription.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            create an AccessDescription with the oid and location provided.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.AccessDescription.AccessMethod">
+            
+             @return the access method.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.AccessDescription.AccessLocation">
+            
+             @return the access location
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertIssuer.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames)">
+            <summary>
+            Don't use this one if you are trying to be RFC 3281 compliant.
+            Use it for v1 attribute certificates only.
+            </summary>
+            <param name="names">Our GeneralNames structure</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertIssuer.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttCertIssuer ::= CHOICE {
+                  v1Form   GeneralNames,  -- MUST NOT be used in this
+                                          -- profile
+                  v2Form   [0] V2Form     -- v2 only
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttCertValidityPeriod.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttCertValidityPeriod  ::= Sequence {
+                  notBeforeTime  GeneralizedTime,
+                  notAfterTime   GeneralizedTime
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificate.GetInstance(System.Object)">
+            @param obj
+            @return
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificate.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             AttributeCertificate ::= Sequence {
+                  acinfo               AttributeCertificateInfo,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING
+             }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AttributeCertificateInfo.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <pre>
+              AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+              }
+            
+              AttCertVersion ::= Integer { v2(1) }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AuthorityInformationAccess">
+             The AuthorityInformationAccess object.
+             <pre>
+             id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
+            
+             AuthorityInfoAccessSyntax  ::=
+                  Sequence SIZE (1..MAX) OF AccessDescription
+             AccessDescription  ::=  Sequence {
+                   accessMethod          OBJECT IDENTIFIER,
+                   accessLocation        GeneralName  }
+            
+             id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
+             id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
+             id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityInformationAccess.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            create an AuthorityInformationAccess with the oid and location provided.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier">
+             The AuthorityKeyIdentifier object.
+             <pre>
+             id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 35 }
+            
+               AuthorityKeyIdentifier ::= Sequence {
+                  keyIdentifier             [0] IMPLICIT KeyIdentifier           OPTIONAL,
+                  authorityCertIssuer       [1] IMPLICIT GeneralNames            OPTIONAL,
+                  authorityCertSerialNumber [2] IMPLICIT CertificateSerialNumber OPTIONAL  }
+            
+               KeyIdentifier ::= OCTET STRING
+             </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+                     *
+                     * Calulates the keyidentifier using a SHA1 hash over the BIT STRING
+                     * from SubjectPublicKeyInfo as defined in RFC2459.
+                     *
+                     * Example of making a AuthorityKeyIdentifier:
+                     * <pre>
+            	     *   SubjectPublicKeyInfo apki = new SubjectPublicKeyInfo((ASN1Sequence)new ASN1InputStream(
+            		 *       publicKey.getEncoded()).readObject());
+                     *   AuthorityKeyIdentifier aki = new AuthorityKeyIdentifier(apki);
+                     * </pre>
+                     *
+                     *
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo,Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with the GeneralNames tag and
+            the serial number provided as well.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with the GeneralNames tag and
+            the serial number provided.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(System.Byte[])">
+            create an AuthorityKeyIdentifier with a precomputed key identifier
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.#ctor(System.Byte[],Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Math.BigInteger)">
+            create an AuthorityKeyIdentifier with a precomupted key identifier
+            and the GeneralNames tag and the serial number provided as well.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.AuthorityKeyIdentifier.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.BasicConstraints.#ctor(System.Int32)">
+             create a cA=true object for the given path length constraint.
+            
+             @param pathLenConstraint
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.BasicConstraints.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            BasicConstraints := Sequence {
+               cA                  Boolean DEFAULT FALSE,
+               pathLenConstraint   Integer (0..MAX) OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertificateList">
+             PKIX RFC-2459
+            
+             The X.509 v2 CRL syntax is as follows.  For signature calculation,
+             the data that is to be signed is ASN.1 Der encoded.
+            
+             <pre>
+             CertificateList  ::=  Sequence  {
+                  tbsCertList          TbsCertList,
+                  signatureAlgorithm   AlgorithmIdentifier,
+                  signatureValue       BIT STRING  }
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertificatePair">
+             This class helps to support crossCerfificatePairs in a LDAP directory
+             according RFC 2587
+            
+             <pre>
+                 crossCertificatePairATTRIBUTE::={
+                   WITH SYNTAX   CertificatePair
+                   EQUALITY MATCHING RULE certificatePairExactMatch
+                   ID joint-iso-ccitt(2) ds(5) attributeType(4) crossCertificatePair(40)}
+             </pre>
+            
+             <blockquote> The forward elements of the crossCertificatePair attribute of a
+             CA's directory entry shall be used to store all, except self-issued
+             certificates issued to this CA. Optionally, the reverse elements of the
+             crossCertificatePair attribute, of a CA's directory entry may contain a
+             subset of certificates issued by this CA to other CAs. When both the forward
+             and the reverse elements are present in a single attribute value, issuer name
+             in one certificate shall match the subject name in the other and vice versa,
+             and the subject public key in one certificate shall be capable of verifying
+             the digital signature on the other certificate and vice versa.
+            
+             When a reverse element is present, the forward element value and the reverse
+             element value need not be stored in the same attribute value; in other words,
+             they can be stored in either a single attribute value or two attribute
+             values. </blockquote>
+            
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type CertificatePair:
+             <p/>
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure,Org.BouncyCastle.Asn1.X509.X509CertificateStructure)">
+             Constructor from a given details.
+            
+             @param forward Certificates issued to this CA.
+             @param reverse Certificates issued by this CA to other CAs.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CertificatePair.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   CertificatePair ::= SEQUENCE {
+                     forward		[0]	Certificate OPTIONAL,
+                     reverse		[1]	Certificate OPTIONAL,
+                     -- at least one of the pair shall be present -- }
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.CertificatePair.Forward">
+            @return Returns the forward.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.CertificatePair.Reverse">
+            @return Returns the reverse.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CertPolicyID">
+             CertPolicyId, used in the CertificatePolicies and PolicyMappings
+             X509V3 Extensions.
+            
+             <pre>
+                 CertPolicyId ::= OBJECT IDENTIFIER
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CrlDistPoint.GetDistributionPoints">
+             Return the distribution points making up the sequence.
+            
+             @return DistributionPoint[]
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.CrlDistPoint.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            CrlDistPoint ::= Sequence SIZE {1..MAX} OF DistributionPoint
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CrlNumber">
+            The CRLNumber object.
+            <pre>
+            CRLNumber::= Integer(0..MAX)
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.CrlReason">
+            The CRLReason enumeration.
+            <pre>
+            CRLReason ::= Enumerated {
+             unspecified             (0),
+             keyCompromise           (1),
+             cACompromise            (2),
+             affiliationChanged      (3),
+             superseded              (4),
+             cessationOfOperation    (5),
+             certificateHold         (6),
+             removeFromCRL           (8),
+             privilegeWithdrawn      (9),
+             aACompromise           (10)
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DigestInfo">
+            The DigestInfo object.
+            <pre>
+            DigestInfo::=Sequence{
+                     digestAlgorithm  AlgorithmIdentifier,
+                     digest OCTET STRING }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DisplayText">
+             <code>DisplayText</code> class, used in
+             <code>CertificatePolicies</code> X509 V3 extensions (in policy qualifiers).
+            
+             <p>It stores a string in a chosen encoding.
+             <pre>
+             DisplayText ::= CHOICE {
+                  ia5String        IA5String      (SIZE (1..200)),
+                  visibleString    VisibleString  (SIZE (1..200)),
+                  bmpString        BMPString      (SIZE (1..200)),
+                  utf8String       UTF8String     (SIZE (1..200)) }
+             </pre></p>
+             @see PolicyQualifierInfo
+             @see PolicyInformation
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeIA5String">
+             Constant corresponding to ia5String encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeBmpString">
+             Constant corresponding to bmpString encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeUtf8String">
+             Constant corresponding to utf8String encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.ContentTypeVisibleString">
+             Constant corresponding to visibleString encoding.
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.DisplayText.DisplayTextMaximumSize">
+             Describe constant <code>DisplayTextMaximumSize</code> here.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(System.Int32,System.String)">
+             Creates a new <code>DisplayText</code> instance.
+            
+             @param type the desired encoding type for the text.
+             @param text the text to store. Strings longer than 200
+             characters are truncated.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(System.String)">
+             Creates a new <code>DisplayText</code> instance.
+            
+             @param text the text to encapsulate. Strings longer than 200
+             characters are truncated.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.#ctor(Org.BouncyCastle.Asn1.IAsn1String)">
+             Creates a new <code>DisplayText</code> instance.
+             <p>Useful when reading back a <code>DisplayText</code> class
+             from it's Asn1Encodable form.</p>
+            
+             @param contents an <code>Asn1Encodable</code> instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.DisplayText.GetString">
+             Returns the stored <code>string</code> object.
+            
+             @return the stored text as a <code>string</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DistributionPoint">
+            The DistributionPoint object.
+            <pre>
+            DistributionPoint ::= Sequence {
+                 distributionPoint [0] DistributionPointName OPTIONAL,
+                 reasons           [1] ReasonFlags OPTIONAL,
+                 cRLIssuer         [2] GeneralNames OPTIONAL
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.DistributionPointName">
+            The DistributionPointName object.
+            <pre>
+            DistributionPointName ::= CHOICE {
+                fullName                 [0] GeneralNames,
+                nameRelativeToCRLIssuer  [1] RDN
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage">
+            The extendedKeyUsage object.
+            <pre>
+                 extendedKeyUsage ::= Sequence SIZE (1..MAX) OF KeyPurposeId
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ExtendedKeyUsage.GetAllUsages">
+            Returns all extended key usages.
+            The returned ArrayList contains DerObjectIdentifier instances.
+            @return An ArrayList with all key purposes.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.GeneralName">
+             The GeneralName object.
+             <pre>
+             GeneralName ::= CHOICE {
+                  otherName                       [0]     OtherName,
+                  rfc822Name                      [1]     IA5String,
+                  dNSName                         [2]     IA5String,
+                  x400Address                     [3]     ORAddress,
+                  directoryName                   [4]     Name,
+                  ediPartyName                    [5]     EDIPartyName,
+                  uniformResourceIdentifier       [6]     IA5String,
+                  iPAddress                       [7]     OCTET STRING,
+                  registeredID                    [8]     OBJECT IDENTIFIER}
+            
+             OtherName ::= Sequence {
+                  type-id    OBJECT IDENTIFIER,
+                  value      [0] EXPLICIT ANY DEFINED BY type-id }
+            
+             EDIPartyName ::= Sequence {
+                  nameAssigner            [0]     DirectoryString OPTIONAL,
+                  partyName               [1]     DirectoryString }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralName.#ctor(Org.BouncyCastle.Asn1.Asn1Object,System.Int32)">
+             When the subjectAltName extension contains an Internet mail address,
+             the address MUST be included as an rfc822Name. The format of an
+             rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822].
+            
+             When the subjectAltName extension contains a domain name service
+             label, the domain name MUST be stored in the dNSName (an IA5String).
+             The name MUST be in the "preferred name syntax," as specified by RFC
+             1034 [RFC 1034].
+            
+             When the subjectAltName extension contains a URI, the name MUST be
+             stored in the uniformResourceIdentifier (an IA5String). The name MUST
+             be a non-relative URL, and MUST follow the URL syntax and encoding
+             rules specified in [RFC 1738].  The name must include both a scheme
+             (e.g., "http" or "ftp") and a scheme-specific-part.  The scheme-
+             specific-part must include a fully qualified domain name or IP
+             address as the host.
+            
+             When the subjectAltName extension contains a iPAddress, the address
+             MUST be stored in the octet string in "network byte order," as
+             specified in RFC 791 [RFC 791]. The least significant bit (LSB) of
+             each octet is the LSB of the corresponding byte in the network
+             address. For IP Version 4, as specified in RFC 791, the octet string
+             MUST contain exactly four octets.  For IP Version 6, as specified in
+             RFC 1883, the octet string MUST contain exactly sixteen octets [RFC
+             1883].
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralName.#ctor(System.Int32,System.String)">
+             Create a GeneralName for the given tag from the passed in string.
+             <p>
+             This constructor can handle:
+             <ul>
+             <li>rfc822Name</li>
+             <li>iPAddress</li>
+             <li>directoryName</li>
+             <li>dNSName</li>
+             <li>uniformResourceIdentifier</li>
+             <li>registeredID</li>
+             </ul>
+             For x400Address, otherName and ediPartyName there is no common string
+             format defined.
+             </p><p>
+             Note: A directory name can be encoded in different ways into a byte
+             representation. Be aware of this if the byte representation is used for
+             comparing results.
+             </p>
+            
+             @param tag tag number
+             @param name string representation of name
+             @throws ArgumentException if the string encoding is not correct or
+                         not supported.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralNames.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName)">
+            <summary>Construct a GeneralNames object containing one GeneralName.</summary>
+            <param name="name">The name to be contained.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralNames.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            GeneralNames ::= Sequence SIZE {1..MAX} OF GeneralName
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.GeneralSubtree">
+             Class for containing a restriction object subtrees in NameConstraints. See
+             RFC 3280.
+            
+             <pre>
+            
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.NameConstraints
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralSubtree.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             Constructor from a given details.
+            
+             According RFC 3280, the minimum and maximum fields are not used with any
+             name forms, thus minimum MUST be zero, and maximum MUST be absent.
+             <p>
+             If minimum is <code>null</code>, zero is assumed, if
+             maximum is <code>null</code>, maximum is absent.</p>
+            
+             @param baseName
+                        A restriction.
+             @param minimum
+                        Minimum
+            
+             @param maximum
+                        Maximum
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.GeneralSubtree.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+            
+             Returns:
+            
+             <pre>
+                   GeneralSubtree ::= SEQUENCE
+                   {
+                     baseName                    GeneralName,
+                     minimum         [0]     BaseDistance DEFAULT 0,
+                     maximum         [1]     BaseDistance OPTIONAL
+                   }
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Holder">
+            The Holder object.
+            <p>
+            For an v2 attribute certificate this is:
+            
+            <pre>
+                       Holder ::= SEQUENCE {
+                             baseCertificateID   [0] IssuerSerial OPTIONAL,
+                                      -- the issuer and serial number of
+                                      -- the holder's Public Key Certificate
+                             entityName          [1] GeneralNames OPTIONAL,
+                                      -- the name of the claimant or role
+                             objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                                      -- used to directly authenticate the holder,
+                                      -- for example, an executable
+                       }
+            </pre>
+            </p>
+            <p>
+            For an v1 attribute certificate this is:
+            
+            <pre>
+                    subject CHOICE {
+                     baseCertificateID [0] IssuerSerial,
+                     -- associated with a Public Key Certificate
+                     subjectName [1] GeneralNames },
+                     -- associated with a name
+            </pre>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.Asn1TaggedObject)">
+            Constructor for a holder for an v1 attribute certificate.
+            
+            @param tagObj The ASN.1 tagged holder object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor for a holder for an v2 attribute certificate. *
+            
+            @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.IssuerSerial,System.Int32)">
+            Constructs a holder from a IssuerSerial.
+            @param baseCertificateID The IssuerSerial.
+            @param version The version of the attribute certificate. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames)">
+            Constructs a holder with an entityName for v2 attribute certificates or
+            with a subjectName for v1 attribute certificates.
+            
+            @param entityName The entity or subject name.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,System.Int32)">
+            Constructs a holder with an entityName for v2 attribute certificates or
+            with a subjectName for v1 attribute certificates.
+            
+            @param entityName The entity or subject name.
+            @param version The version of the attribute certificate. 
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.#ctor(Org.BouncyCastle.Asn1.X509.ObjectDigestInfo)">
+            Constructs a holder from an object digest info.
+            
+            @param objectDigestInfo The object digest info object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Holder.ToAsn1Object">
+            The Holder object.
+            <pre>
+             Holder ::= Sequence {
+                   baseCertificateID   [0] IssuerSerial OPTIONAL,
+                            -- the issuer and serial number of
+                            -- the holder's Public Key Certificate
+                   entityName          [1] GeneralNames OPTIONAL,
+                            -- the name of the claimant or role
+                   objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+                            -- used to directly authenticate the holder,
+                            -- for example, an executable
+             }
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Holder.Version">
+            Returns 1 for v2 attribute certificates or 0 for v1 attribute
+            certificates. 
+            @return The version of the attribute certificate.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Holder.EntityName">
+            Returns the entityName for an v2 attribute certificate or the subjectName
+            for an v1 attribute certificate.
+            
+            @return The entityname or subjectname.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax">
+            Implementation of <code>IetfAttrSyntax</code> as specified by RFC3281.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IetfAttrSyntax.ToAsn1Object">
+            
+             <pre>
+            
+              IetfAttrSyntax ::= Sequence {
+                policyAuthority [0] GeneralNames OPTIONAL,
+                values Sequence OF CHOICE {
+                  octets OCTET STRING,
+                  oid OBJECT IDENTIFIER,
+                  string UTF8String
+                }
+              }
+            
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuerSerial.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             IssuerSerial  ::=  Sequence {
+                  issuer         GeneralNames,
+                  serial         CertificateSerialNumber,
+                  issuerUid      UniqueIdentifier OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint">
+            <pre>
+            IssuingDistributionPoint ::= SEQUENCE { 
+              distributionPoint          [0] DistributionPointName OPTIONAL, 
+              onlyContainsUserCerts      [1] BOOLEAN DEFAULT FALSE, 
+              onlyContainsCACerts        [2] BOOLEAN DEFAULT FALSE, 
+              onlySomeReasons            [3] ReasonFlags OPTIONAL, 
+              indirectCRL                [4] BOOLEAN DEFAULT FALSE,
+              onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.#ctor(Org.BouncyCastle.Asn1.X509.DistributionPointName,System.Boolean,System.Boolean,Org.BouncyCastle.Asn1.X509.ReasonFlags,System.Boolean,System.Boolean)">
+            Constructor from given details.
+            
+            @param distributionPoint
+                       May contain an URI as pointer to most current CRL.
+            @param onlyContainsUserCerts Covers revocation information for end certificates.
+            @param onlyContainsCACerts Covers revocation information for CA certificates.
+            
+            @param onlySomeReasons
+                       Which revocation reasons does this point cover.
+            @param indirectCRL
+                       If <code>true</code> then the CRL contains revocation
+                       information about certificates ssued by other CAs.
+            @param onlyContainsAttributeCerts Covers revocation information for attribute certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from Asn1Sequence
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.DistributionPoint">
+            @return Returns the distributionPoint.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.IssuingDistributionPoint.OnlySomeReasons">
+            @return Returns the onlySomeReasons.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.KeyPurposeID">
+            The KeyPurposeID object.
+            <pre>
+                KeyPurposeID ::= OBJECT IDENTIFIER
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.KeyUsage">
+             The KeyUsage object.
+             <pre>
+                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
+            
+                KeyUsage ::= BIT STRING {
+                     digitalSignature        (0),
+                     nonRepudiation          (1),
+                     keyEncipherment         (2),
+                     dataEncipherment        (3),
+                     keyAgreement            (4),
+                     keyCertSign             (5),
+                     cRLSign                 (6),
+                     encipherOnly            (7),
+                     decipherOnly            (8) }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.KeyUsage.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NameConstraints.#ctor(System.Collections.IList,System.Collections.IList)">
+             Constructor from a given details.
+            
+             <p>permitted and excluded are Vectors of GeneralSubtree objects.</p>
+            
+             @param permitted Permitted subtrees
+             @param excluded Excluded subtrees
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.NoticeReference">
+             <code>NoticeReference</code> class, used in
+             <code>CertificatePolicies</code> X509 V3 extensions
+             (in policy qualifiers).
+            
+             <pre>
+              NoticeReference ::= Sequence {
+                  organization     DisplayText,
+                  noticeNumbers    Sequence OF Integer }
+            
+             </pre>
+            
+             @see PolicyQualifierInfo
+             @see PolicyInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.String,System.Collections.IList)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param orgName a <code>string</code> value
+             @param numbers a <code>ArrayList</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param orgName a <code>string</code> value
+             @param numbers an <code>Asn1Sequence</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(System.Int32,System.String,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+            
+             @param displayTextType an <code>int</code> value
+             @param orgName a <code>string</code> value
+             @param numbers an <code>Asn1Sequence</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>NoticeReference</code> instance.
+             <p>Useful for reconstructing a <code>NoticeReference</code>
+             instance from its encodable/encoded form.</p>
+            
+             @param as an <code>Asn1Sequence</code> value obtained from either
+             calling @{link ToAsn1Object()} for a <code>NoticeReference</code>
+             instance or from parsing it from a Der-encoded stream.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.NoticeReference.ToAsn1Object">
+             Describe <code>ToAsn1Object</code> method here.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo">
+            ObjectDigestInfo ASN.1 structure used in v2 attribute certificates.
+            
+            <pre>
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            </pre>
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.PublicKey">
+            The public key is hashed.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.PublicKeyCert">
+            The public key certificate is hashed.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.OtherObjectDigest">
+            An other object is hashed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.#ctor(System.Int32,System.String,Org.BouncyCastle.Asn1.X509.AlgorithmIdentifier,System.Byte[])">
+            Constructor from given details.
+            <p>
+            If <code>digestedObjectType</code> is not {@link #publicKeyCert} or
+            {@link #publicKey} <code>otherObjectTypeID</code> must be given,
+            otherwise it is ignored.</p>
+            
+            @param digestedObjectType The digest object type.
+            @param otherObjectTypeID The object type ID for
+                       <code>otherObjectDigest</code>.
+            @param digestAlgorithm The algorithm identifier for the hash.
+            @param objectDigest The hash value.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ObjectDigestInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            <pre>
+             
+               ObjectDigestInfo ::= SEQUENCE {
+                    digestedObjectType  ENUMERATED {
+                            publicKey            (0),
+                            publicKeyCert        (1),
+                            otherObjectTypes     (2) },
+                                    -- otherObjectTypes MUST NOT
+                                    -- be used in this profile
+                    otherObjectTypeID   OBJECT IDENTIFIER OPTIONAL,
+                    digestAlgorithm     AlgorithmIdentifier,
+                    objectDigest        BIT STRING
+               }
+              
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyMappings">
+             PolicyMappings V3 extension, described in RFC3280.
+             <pre>
+                PolicyMappings ::= Sequence SIZE (1..MAX) OF Sequence {
+                  issuerDomainPolicy      CertPolicyId,
+                  subjectDomainPolicy     CertPolicyId }
+             </pre>
+            
+             @see <a href="http://www.faqs.org/rfc/rfc3280.txt">RFC 3280, section 4.2.1.6</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyMappings.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>PolicyMappings</code> instance.
+            
+             @param seq an <code>Asn1Sequence</code> constructed as specified
+             in RFC 3280
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyMappings.#ctor(System.Collections.IDictionary)">
+             Creates a new <code>PolicyMappings</code> instance.
+            
+             @param mappings a <code>HashMap</code> value that maps
+             <code>string</code> oids
+             to other <code>string</code> oids.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyQualifierID">
+             PolicyQualifierId, used in the CertificatePolicies
+             X509V3 extension.
+            
+             <pre>
+                id-qt          OBJECT IDENTIFIER ::=  { id-pkix 2 }
+                id-qt-cps      OBJECT IDENTIFIER ::=  { id-qt 1 }
+                id-qt-unotice  OBJECT IDENTIFIER ::=  { id-qt 2 }
+              PolicyQualifierId ::=
+                   OBJECT IDENTIFIER ( id-qt-cps | id-qt-unotice )
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo">
+             Policy qualifiers, used in the X509V3 CertificatePolicies
+             extension.
+            
+             <pre>
+               PolicyQualifierInfo ::= Sequence {
+                   policyQualifierId  PolicyQualifierId,
+                   qualifier          ANY DEFINED BY policyQualifierId }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(Org.BouncyCastle.Asn1.DerObjectIdentifier,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Creates a new <code>PolicyQualifierInfo</code> instance.
+            
+             @param policyQualifierId a <code>PolicyQualifierId</code> value
+             @param qualifier the qualifier, defined by the above field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(System.String)">
+             Creates a new <code>PolicyQualifierInfo</code> containing a
+             cPSuri qualifier.
+            
+             @param cps the CPS (certification practice statement) uri as a
+             <code>string</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>PolicyQualifierInfo</code> instance.
+            
+             @param as <code>PolicyQualifierInfo</code> X509 structure
+             encoded as an Asn1Sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.PolicyQualifierInfo.ToAsn1Object">
+             Returns a Der-encodable representation of this instance.
+            
+             @return a <code>Asn1Object</code> value
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.PrivateKeyUsagePeriod">
+            <remarks>
+            <pre>
+            PrivateKeyUsagePeriod ::= SEQUENCE
+            {
+            notBefore       [0]     GeneralizedTime OPTIONAL,
+            notAfter        [1]     GeneralizedTime OPTIONAL }
+            </pre>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.BiometricData">
+            The BiometricData object.
+            <pre>
+            BiometricData  ::=  SEQUENCE {
+                  typeOfBiometricData  TypeOfBiometricData,
+                  hashAlgorithm        AlgorithmIdentifier,
+                  biometricDataHash    OCTET STRING,
+                  sourceDataUri        IA5String OPTIONAL  }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.Iso4217CurrencyCode">
+            The Iso4217CurrencyCode object.
+            <pre>
+            Iso4217CurrencyCode  ::=  CHOICE {
+                  alphabetic              PrintableString (SIZE 3), --Recommended
+                  numeric              INTEGER (1..999) }
+            -- Alphabetic or numeric currency code as defined in ISO 4217
+            -- It is recommended that the Alphabetic form is used
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.MonetaryValue">
+            The MonetaryValue object.
+            <pre>
+            MonetaryValue  ::=  SEQUENCE {
+                  currency              Iso4217CurrencyCode,
+                  amount               INTEGER,
+                  exponent             INTEGER }
+            -- value = amount * 10^exponent
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.QCStatement">
+            The QCStatement object.
+            <pre>
+            QCStatement ::= SEQUENCE {
+              statementId        OBJECT IDENTIFIER,
+              statementInfo      ANY DEFINED BY statementId OPTIONAL}
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.SemanticsInformation">
+             The SemanticsInformation object.
+             <pre>
+                   SemanticsInformation ::= SEQUENCE {
+                     semanticsIdentifier        OBJECT IDENTIFIER   OPTIONAL,
+                     nameRegistrationAuthorities NameRegistrationAuthorities
+                                                                     OPTIONAL }
+                     (WITH COMPONENTS {..., semanticsIdentifier PRESENT}|
+                      WITH COMPONENTS {..., nameRegistrationAuthorities PRESENT})
+            
+                 NameRegistrationAuthorities ::=  SEQUENCE SIZE (1..MAX) OF
+                     GeneralName
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Qualified.TypeOfBiometricData">
+             The TypeOfBiometricData object.
+             <pre>
+             TypeOfBiometricData ::= CHOICE {
+               predefinedBiometricType   PredefinedBiometricType,
+               biometricDataOid          OBJECT IDENTIFIER }
+            
+             PredefinedBiometricType ::= INTEGER {
+               picture(0),handwritten-signature(1)}
+               (picture|handwritten-signature)
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.ReasonFlags">
+            The ReasonFlags object.
+            <pre>
+            ReasonFlags ::= BIT STRING {
+               unused(0),
+               keyCompromise(1),
+               cACompromise(2),
+               affiliationChanged(3),
+               superseded(4),
+               cessationOfOperation(5),
+               certficateHold(6)
+            }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.ReasonFlags.#ctor(System.Int32)">
+            @param reasons - the bitwise OR of the Key Reason flags giving the
+            allowed uses for the key.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.RoleSyntax">
+             Implementation of the RoleSyntax object as specified by the RFC3281.
+            
+             <pre>
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetInstance(System.Object)">
+            RoleSyntax factory method.
+            @param obj the object used to construct an instance of <code>
+            RoleSyntax</code>. It must be an instance of <code>RoleSyntax
+            </code> or <code>Asn1Sequence</code>.
+            @return the instance of <code>RoleSyntax</code> built from the
+            supplied object.
+            @throws java.lang.ArgumentException if the object passed
+            to the factory is not an instance of <code>RoleSyntax</code> or
+            <code>Asn1Sequence</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralNames,Org.BouncyCastle.Asn1.X509.GeneralName)">
+            Constructor.
+            @param roleAuthority the role authority of this RoleSyntax.
+            @param roleName    the role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.X509.GeneralName)">
+            Constructor. Invoking this constructor is the same as invoking
+            <code>new RoleSyntax(null, roleName)</code>.
+            @param roleName    the role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(System.String)">
+            Utility constructor. Takes a <code>string</code> argument representing
+            the role name, builds a <code>GeneralName</code> to hold the role name
+            and calls the constructor that takes a <code>GeneralName</code>.
+            @param roleName
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor that builds an instance of <code>RoleSyntax</code> by
+            extracting the encoded elements from the <code>Asn1Sequence</code>
+            object supplied.
+            @param seq    an instance of <code>Asn1Sequence</code> that holds
+            the encoded elements used to build this <code>RoleSyntax</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetRoleNameAsString">
+            Gets the role name as a <code>java.lang.string</code> object.
+            @return    the role name of this RoleSyntax represented as a
+            <code>string</code> object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.GetRoleAuthorityAsString">
+            Gets the role authority as a <code>string[]</code> object.
+            @return the role authority of this RoleSyntax represented as a
+            <code>string[]</code> array.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RoleSyntax.ToAsn1Object">
+             Implementation of the method <code>ToAsn1Object</code> as
+             required by the superclass <code>ASN1Encodable</code>.
+            
+             <pre>
+             RoleSyntax ::= SEQUENCE {
+                             roleAuthority  [0] GeneralNames OPTIONAL,
+                             roleName       [1] GeneralName
+                       }
+             </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.RoleSyntax.RoleAuthority">
+            Gets the role authority of this RoleSyntax.
+            @return    an instance of <code>GeneralNames</code> holding the
+            role authority of this RoleSyntax.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.RoleSyntax.RoleName">
+            Gets the role name of this RoleSyntax.
+            @return    an instance of <code>GeneralName</code> holding the
+            role name of this RoleSyntax.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.RsaPublicKeyStructure.ToAsn1Object">
+            This outputs the key in Pkcs1v2 format.
+            <pre>
+                 RSAPublicKey ::= Sequence {
+                                     modulus Integer, -- n
+                                     publicExponent Integer, -- e
+                                 }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym">
+            Structure for a name or pseudonym.
+            
+            <pre>
+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString 
+                    },
+                	   pseudonym DirectoryString 
+                  }
+            </pre>
+            
+            @see org.bouncycastle.asn1.x509.sigi.PersonalData
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString)">
+            Constructor from DERString.
+            <p/>
+            The sequence is of type NameOrPseudonym:
+            <p/>
+            <pre>
+                  NameOrPseudonym ::= CHOICE {
+                	   surAndGivenName SEQUENCE {
+                	     surName DirectoryString,
+                	     givenName SEQUENCE OF DirectoryString
+                    },
+                	   pseudonym DirectoryString
+                  }
+            </pre>
+            @param pseudonym pseudonym value to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type NameOrPseudonym:
+             <p/>
+             <pre>
+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(System.String)">
+             Constructor from a given details.
+            
+             @param pseudonym The pseudonym.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.#ctor(Org.BouncyCastle.Asn1.X500.DirectoryString,Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from a given details.
+            
+             @param surname   The surname.
+             @param givenName A sequence of directory strings making up the givenName
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                   NameOrPseudonym ::= CHOICE {
+                 	   surAndGivenName SEQUENCE {
+                 	     surName DirectoryString,
+                 	     givenName SEQUENCE OF DirectoryString
+                     },
+                 	   pseudonym DirectoryString
+                   }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.PersonalData">
+             Contains personal data for the otherName field in the subjectAltNames
+             extension.
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.sigi.NameOrPseudonym
+             @see org.bouncycastle.asn1.x509.sigi.SigIObjectIdentifiers
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+             <p/>
+             The sequence is of type NameOrPseudonym:
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @param seq The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.#ctor(Org.BouncyCastle.Asn1.X509.SigI.NameOrPseudonym,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Asn1.DerGeneralizedTime,Org.BouncyCastle.Asn1.X500.DirectoryString,System.String,Org.BouncyCastle.Asn1.X500.DirectoryString)">
+             Constructor from a given details.
+            
+             @param nameOrPseudonym  Name or pseudonym.
+             @param nameDistinguisher Name distinguisher.
+             @param dateOfBirth      Date of birth.
+             @param placeOfBirth     Place of birth.
+             @param gender           Gender.
+             @param postalAddress    Postal Address.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SigI.PersonalData.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+             <p/>
+             Returns:
+             <p/>
+             <pre>
+                 PersonalData ::= SEQUENCE {
+                   nameOrPseudonym NameOrPseudonym,
+                   nameDistinguisher [0] INTEGER OPTIONAL,
+                   dateOfBirth [1] GeneralizedTime OPTIONAL,
+                   placeOfBirth [2] DirectoryString OPTIONAL,
+                   gender [3] PrintableString OPTIONAL,
+                   postalAddress [4] DirectoryString OPTIONAL
+                   }
+             </pre>
+            
+             @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers">
+            Object Identifiers of SigI specifciation (German Signature Law
+            Interoperability specification).
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIKP">
+            Key purpose IDs for German SigI (Signature Interoperability
+            Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigICP">
+            Certificate policy IDs for German SigI (Signature Interoperability
+            Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigION">
+            Other Name IDs for German SigI (Signature Interoperability Specification)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIKPDirectoryService">
+            To be used for for the generation of directory service certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigIONPersonalData">
+            ID for PersonalData
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.SigI.SigIObjectIdentifiers.IdSigICPSigConform">
+            Certificate is conform to german signature law.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes">
+             This extension may contain further X.500 attributes of the subject. See also
+             RFC 3039.
+            
+             <pre>
+                 SubjectDirectoryAttributes ::= Attributes
+                 Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                 Attribute ::= SEQUENCE
+                 {
+                   type AttributeType
+                   values SET OF AttributeValue
+                 }
+            
+                 AttributeType ::= OBJECT IDENTIFIER
+                 AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @see org.bouncycastle.asn1.x509.X509Name for AttributeType ObjectIdentifiers.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+            
+             The sequence is of type SubjectDirectoryAttributes:
+            
+             <pre>
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @param seq
+                        The ASN.1 sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.#ctor(System.Collections.IList)">
+             Constructor from an ArrayList of attributes.
+            
+             The ArrayList consists of attributes of type {@link Attribute Attribute}
+            
+             @param attributes The attributes.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.ToAsn1Object">
+             Produce an object suitable for an Asn1OutputStream.
+            
+             Returns:
+            
+             <pre>
+                  SubjectDirectoryAttributes ::= Attributes
+                  Attributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
+                  Attribute ::= SEQUENCE
+                  {
+                    type AttributeType
+                    values SET OF AttributeValue
+                  }
+            
+                  AttributeType ::= OBJECT IDENTIFIER
+                  AttributeValue ::= ANY DEFINED BY AttributeType
+             </pre>
+            
+             @return a DERObject
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.SubjectDirectoryAttributes.Attributes">
+            @return Returns the attributes.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier">
+            The SubjectKeyIdentifier object.
+            <pre>
+            SubjectKeyIdentifier::= OCTET STRING
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.#ctor(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+             Calculates the keyIdentifier using a SHA1 hash over the BIT STRING
+             from SubjectPublicKeyInfo as defined in RFC3280.
+            
+             @param spki the subject public key info.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.CreateSha1KeyIdentifier(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Return a RFC 3280 type 1 key identifier. As in:
+            <pre>
+            (1) The keyIdentifier is composed of the 160-bit SHA-1 hash of the
+            value of the BIT STRING subjectPublicKey (excluding the tag,
+            length, and number of unused bits).
+            </pre>
+            @param keyInfo the key info object containing the subjectPublicKey field.
+            @return the key identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectKeyIdentifier.CreateTruncatedSha1KeyIdentifier(Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo)">
+            Return a RFC 3280 type 2 key identifier. As in:
+            <pre>
+            (2) The keyIdentifier is composed of a four bit type field with
+            the value 0100 followed by the least significant 60 bits of the
+            SHA-1 hash of the value of the BIT STRING subjectPublicKey.
+            </pre>
+            @param keyInfo the key info object containing the subjectPublicKey field.
+            @return the key identifier.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo">
+            The object that contains the public key stored in a certficate.
+            <p>
+            The GetEncoded() method in the public keys in the JCE produces a DER
+            encoded one of these.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.GetPublicKey">
+             for when the public key is an encoded object - if the bitstring
+             can't be decoded this routine raises an IOException.
+            
+             @exception IOException - if the bit string doesn't represent a Der
+             encoded object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            SubjectPublicKeyInfo ::= Sequence {
+                                     algorithm AlgorithmIdentifier,
+                                     publicKey BIT STRING }
+            </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.SubjectPublicKeyInfo.PublicKeyData">
+            for when the public key is raw bits...
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Target">
+            Target structure used in target information extension for attribute
+            certificates from RFC 3281.
+            
+            <pre>
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            </pre>
+            
+            <p>
+            The targetCert field is currently not supported and must not be used
+            according to RFC 3281.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.GetInstance(System.Object)">
+            Creates an instance of a Target from the given object.
+            <p>
+            <code>obj</code> can be a Target or a {@link Asn1TaggedObject}</p>
+            
+            @param obj The object.
+            @return A Target instance.
+            @throws ArgumentException if the given object cannot be
+                        interpreted as Target.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.#ctor(Org.BouncyCastle.Asn1.Asn1TaggedObject)">
+            Constructor from Asn1TaggedObject.
+            
+            @param tagObj The tagged object.
+            @throws ArgumentException if the encoding is wrong.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.#ctor(Org.BouncyCastle.Asn1.X509.Target.Choice,Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Constructor from given details.
+             <p>
+             Exactly one of the parameters must be not <code>null</code>.</p>
+            
+             @param type the choice type to apply to the name.
+             @param name the general name.
+             @throws ArgumentException if type is invalid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Target.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                Target  ::= CHOICE {
+                  targetName          [0] GeneralName,
+                  targetGroup         [1] GeneralName,
+                  targetCert          [2] TargetCert
+                }
+            </pre>
+            
+            @return an Asn1Object
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Target.TargetGroup">
+            @return Returns the targetGroup.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.Target.TargetName">
+            @return Returns the targetName.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TargetInformation">
+            Target information extension for attributes certificates according to RFC
+            3281.
+            
+            <pre>
+                      SEQUENCE OF Targets
+            </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.GetInstance(System.Object)">
+            Creates an instance of a TargetInformation from the given object.
+            <p>
+            <code>obj</code> can be a TargetInformation or a {@link Asn1Sequence}</p>
+            
+            @param obj The object.
+            @return A TargetInformation instance.
+            @throws ArgumentException if the given object cannot be interpreted as TargetInformation.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from a Asn1Sequence.
+            
+            @param seq The Asn1Sequence.
+            @throws ArgumentException if the sequence does not contain
+                        correctly encoded Targets elements.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.GetTargetsObjects">
+            Returns the targets in this target information extension.
+            <p>
+            The ArrayList is cloned before it is returned.</p>
+            
+            @return Returns the targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.X509.Targets)">
+            Constructs a target information from a single targets element. 
+            According to RFC 3281 only one targets element must be produced.
+            
+            @param targets A Targets instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.#ctor(Org.BouncyCastle.Asn1.X509.Target[])">
+             According to RFC 3281 only one targets element must be produced. If
+             multiple targets are given they must be merged in
+             into one targets element.
+            
+             @param targets An array with {@link Targets}.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.TargetInformation.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                     SEQUENCE OF Targets
+            </pre>
+            
+            <p>
+            According to RFC 3281 only one targets element must be produced. If
+            multiple targets are given in the constructor they are merged into one
+            targets element. If this was produced from a
+            {@link Org.BouncyCastle.Asn1.Asn1Sequence} the encoding is kept.</p>
+            
+            @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.Targets">
+            Targets structure used in target information extension for attribute
+            certificates from RFC 3281.
+            
+            <pre>
+                       Targets ::= SEQUENCE OF Target
+                      
+                       Target  ::= CHOICE {
+                         targetName          [0] GeneralName,
+                         targetGroup         [1] GeneralName,
+                         targetCert          [2] TargetCert
+                       }
+                      
+                       TargetCert  ::= SEQUENCE {
+                         targetCertificate    IssuerSerial,
+                         targetName           GeneralName OPTIONAL,
+                         certDigestInfo       ObjectDigestInfo OPTIONAL
+                       }
+            </pre>
+            
+            @see org.bouncycastle.asn1.x509.Target
+            @see org.bouncycastle.asn1.x509.TargetInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.GetInstance(System.Object)">
+            Creates an instance of a Targets from the given object.
+            <p>
+            <code>obj</code> can be a Targets or a {@link Asn1Sequence}</p>
+            
+            @param obj The object.
+            @return A Targets instance.
+            @throws ArgumentException if the given object cannot be interpreted as Target.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+            Constructor from Asn1Sequence.
+            
+            @param targets The ASN.1 SEQUENCE.
+            @throws ArgumentException if the contents of the sequence are
+                        invalid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.#ctor(Org.BouncyCastle.Asn1.X509.Target[])">
+            Constructor from given targets.
+            <p>
+            The ArrayList is copied.</p>
+            
+            @param targets An <code>ArrayList</code> of {@link Target}s.
+            @see Target
+            @throws ArgumentException if the ArrayList contains not only Targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.GetTargets">
+            Returns the targets in an <code>ArrayList</code>.
+            <p>
+            The ArrayList is cloned before it is returned.</p>
+            
+            @return Returns the targets.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Targets.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            
+            Returns:
+            
+            <pre>
+                       Targets ::= SEQUENCE OF Target
+            </pre>
+            
+            @return an Asn1Object
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TbsCertificateStructure">
+            The TbsCertificate object.
+            <pre>
+            TbsCertificate ::= Sequence {
+                 version          [ 0 ]  Version DEFAULT v1(0),
+                 serialNumber            CertificateSerialNumber,
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 validity                Validity,
+                 subject                 Name,
+                 subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                 issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                 extensions        [ 3 ] Extensions OPTIONAL
+                 }
+            </pre>
+            <p>
+            Note: issuerUniqueID and subjectUniqueID are both deprecated by the IETF. This class
+            will parse them, but you really shouldn't be creating new ones.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.TbsCertificateList">
+            PKIX RFC-2459 - TbsCertList object.
+            <pre>
+            TbsCertList  ::=  Sequence  {
+                 version                 Version OPTIONAL,
+                                              -- if present, shall be v2
+                 signature               AlgorithmIdentifier,
+                 issuer                  Name,
+                 thisUpdate              Time,
+                 nextUpdate              Time OPTIONAL,
+                 revokedCertificates     Sequence OF Sequence  {
+                      userCertificate         CertificateSerialNumber,
+                      revocationDate          Time,
+                      crlEntryExtensions      Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }  OPTIONAL,
+                 crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                    -- if present, shall be v2
+                                           }
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.#ctor(System.DateTime)">
+            creates a time object from a given date - if the date is between 1950
+            and 2049 a UTCTime object is Generated, otherwise a GeneralizedTime
+            is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.ToDateTime">
+            <summary>
+            Return our time as DateTime.
+            </summary>
+            <returns>A date time.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.Time.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Time ::= CHOICE {
+                        utcTime        UTCTime,
+                        generalTime    GeneralizedTime }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.UserNotice">
+             <code>UserNotice</code> class, used in
+             <code>CertificatePolicies</code> X509 extensions (in policy
+             qualifiers).
+             <pre>
+             UserNotice ::= Sequence {
+                  noticeRef        NoticeReference OPTIONAL,
+                  explicitText     DisplayText OPTIONAL}
+            
+             </pre>
+            
+             @see PolicyQualifierId
+             @see PolicyInformation
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.X509.NoticeReference,Org.BouncyCastle.Asn1.X509.DisplayText)">
+             Creates a new <code>UserNotice</code> instance.
+            
+             @param noticeRef a <code>NoticeReference</code> value
+             @param explicitText a <code>DisplayText</code> value
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.X509.NoticeReference,System.String)">
+             Creates a new <code>UserNotice</code> instance.
+            
+             @param noticeRef a <code>NoticeReference</code> value
+             @param str the explicitText field as a string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.UserNotice.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Creates a new <code>UserNotice</code> instance.
+             <p>Useful from reconstructing a <code>UserNotice</code> instance
+             from its encodable/encoded form.
+            
+             @param as an <code>ASN1Sequence</code> value obtained from either
+             calling @{link toASN1Object()} for a <code>UserNotice</code>
+             instance or from parsing it from a DER-encoded stream.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V1TbsCertificateGenerator">
+             Generator for Version 1 TbsCertificateStructures.
+             <pre>
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  }
+             </pre>
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V2AttributeCertificateInfoGenerator">
+             Generator for Version 2 AttributeCertificateInfo
+             <pre>
+             AttributeCertificateInfo ::= Sequence {
+                   version              AttCertVersion -- version is v2,
+                   holder               Holder,
+                   issuer               AttCertIssuer,
+                   signature            AlgorithmIdentifier,
+                   serialNumber         CertificateSerialNumber,
+                   attrCertValidityPeriod   AttCertValidityPeriod,
+                   attributes           Sequence OF Attr,
+                   issuerUniqueID       UniqueIdentifier OPTIONAL,
+                   extensions           Extensions OPTIONAL
+             }
+             </pre>
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.V2AttributeCertificateInfoGenerator.AddAttribute(Org.BouncyCastle.Asn1.X509.AttributeX509)">
+            @param attribute
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.V2Form.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             V2Form ::= Sequence {
+                  issuerName            GeneralNames  OPTIONAL,
+                  baseCertificateID     [0] IssuerSerial  OPTIONAL,
+                  objectDigestInfo      [1] ObjectDigestInfo  OPTIONAL
+                    -- issuerName MUST be present in this profile
+                    -- baseCertificateID and objectDigestInfo MUST NOT
+                    -- be present in this profile
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V2TbsCertListGenerator">
+             Generator for Version 2 TbsCertList structures.
+             <pre>
+              TbsCertList  ::=  Sequence  {
+                   version                 Version OPTIONAL,
+                                                -- if present, shall be v2
+                   signature               AlgorithmIdentifier,
+                   issuer                  Name,
+                   thisUpdate              Time,
+                   nextUpdate              Time OPTIONAL,
+                   revokedCertificates     Sequence OF Sequence  {
+                        userCertificate         CertificateSerialNumber,
+                        revocationDate          Time,
+                        crlEntryExtensions      Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }  OPTIONAL,
+                   crlExtensions           [0]  EXPLICIT Extensions OPTIONAL
+                                                      -- if present, shall be v2
+                                             }
+             </pre>
+            
+             <b>Note: This class may be subject to change</b>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.V3TbsCertificateGenerator">
+             Generator for Version 3 TbsCertificateStructures.
+             <pre>
+             TbsCertificate ::= Sequence {
+                  version          [ 0 ]  Version DEFAULT v1(0),
+                  serialNumber            CertificateSerialNumber,
+                  signature               AlgorithmIdentifier,
+                  issuer                  Name,
+                  validity                Validity,
+                  subject                 Name,
+                  subjectPublicKeyInfo    SubjectPublicKeyInfo,
+                  issuerUniqueID    [ 1 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  subjectUniqueID   [ 2 ] IMPLICIT UniqueIdentifier OPTIONAL,
+                  extensions        [ 3 ] Extensions OPTIONAL
+                  }
+             </pre>
+            
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509CertificateStructure">
+            an X509Certificate structure.
+            <pre>
+             Certificate ::= Sequence {
+                 tbsCertificate          TbsCertificate,
+                 signatureAlgorithm      AlgorithmIdentifier,
+                 signature               BIT STRING
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509DefaultEntryConverter">
+            The default converter for X509 DN entries when going from their
+            string value to ASN.1 strings.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter">
+                 * It turns out that the number of standard ways the fields in a DN should be
+                 * encoded into their ASN.1 counterparts is rapidly approaching the
+                 * number of machines on the internet. By default the X509Name class
+                 * will produce UTF8Strings in line with the current recommendations (RFC 3280).
+                 * <p>
+                 * An example of an encoder look like below:
+                 * <pre>
+                 * public class X509DirEntryConverter
+                 *     : X509NameEntryConverter
+                 * {
+                 *     public Asn1Object GetConvertedValue(
+                 *         DerObjectIdentifier  oid,
+                 *         string               value)
+                 *     {
+                 *         if (str.Length() != 0 &amp;&amp; str.charAt(0) == '#')
+                 *         {
+                 *             return ConvertHexEncoded(str, 1);
+                 *         }
+                 *         if (oid.Equals(EmailAddress))
+                 *         {
+                 *             return new DerIA5String(str);
+                 *         }
+                 *         else if (CanBePrintable(str))
+                 *         {
+                 *             return new DerPrintableString(str);
+                 *         }
+                 *         else if (CanBeUTF8(str))
+                 *         {
+                 *             return new DerUtf8String(str);
+                 *         }
+                 *         else
+                 *         {
+                 *             return new DerBmpString(str);
+                 *         }
+                 *     }
+                 * }
+            	 * </pre>
+            	 * </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.ConvertHexEncoded(System.String,System.Int32)">
+             Convert an inline encoded hex string rendition of an ASN.1
+             object back into its corresponding ASN.1 object.
+            
+             @param str the hex encoded object
+             @param off the index at which the encoding starts
+             @return the decoded object
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.CanBePrintable(System.String)">
+            return true if the passed in string can be represented without
+            loss as a PrintableString, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509NameEntryConverter.GetConvertedValue(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String)">
+             Convert the passed in string value into the appropriate ASN.1
+             encoded object.
+            
+             @param oid the oid associated with the value in the DN.
+             @param value the value of the particular DN component.
+             @return the ASN.1 equivalent for the value.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509DefaultEntryConverter.GetConvertedValue(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.String)">
+             Apply default conversion for the given value depending on the oid
+             and the character range of the value.
+            
+             @param oid the object identifier for the DN entry
+             @param value the value associated with it
+             @return the ASN.1 equivalent for the string value.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509Extension">
+            an object for the elements in the X.509 V3 extension block.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extension.ConvertValueToObject(Org.BouncyCastle.Asn1.X509.X509Extension)">
+            <sumary>Convert the value of the passed in extension to an object.</sumary>
+            <param name="ext">The extension to parse.</param>
+            <returns>The object the value string contains.</returns>
+            <exception cref="T:System.ArgumentException">If conversion is not possible.</exception>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectDirectoryAttributes">
+            Subject Directory Attributes
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectKeyIdentifier">
+            Subject Key Identifier
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.KeyUsage">
+            Key Usage
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PrivateKeyUsagePeriod">
+            Private Key Usage Period
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectAlternativeName">
+            Subject Alternative Name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.IssuerAlternativeName">
+            Issuer Alternative Name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.BasicConstraints">
+            Basic Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CrlNumber">
+            CRL Number
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.ReasonCode">
+            Reason code
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InstructionCode">
+            Hold Instruction Code
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InvalidityDate">
+            Invalidity Date
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.DeltaCrlIndicator">
+            Delta CRL indicator
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.IssuingDistributionPoint">
+            Issuing Distribution Point
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CertificateIssuer">
+            Certificate Issuer
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.NameConstraints">
+            Name Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CrlDistributionPoints">
+            CRL Distribution Points
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.CertificatePolicies">
+            Certificate Policies
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PolicyMappings">
+            Policy Mappings
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuthorityKeyIdentifier">
+            Authority Key Identifier
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.PolicyConstraints">
+            Policy Constraints
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.ExtendedKeyUsage">
+            Extended Key Usage
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.FreshestCrl">
+            Freshest CRL
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.InhibitAnyPolicy">
+            Inhibit Any Policy
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuthorityInfoAccess">
+            Authority Info Access
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.SubjectInfoAccess">
+            Subject Info Access
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.LogoType">
+            Logo Type
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.BiometricInfo">
+            BiometricInfo
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.QCStatements">
+            QCStatements
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.AuditIdentity">
+            Audit identity extension in attribute certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.NoRevAvail">
+            NoRevAvail extension in attribute certificates.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Extensions.TargetInformation">
+            TargetInformation extension in attribute certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence.
+            
+             the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString)
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IDictionary)">
+            constructor from a table of extensions.
+            <p>
+            it's is assumed the table contains Oid/string pairs.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IList,System.Collections.IDictionary)">
+            Constructor from a table of extensions with ordering.
+            <p>
+            It's is assumed the table contains Oid/string pairs.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.#ctor(System.Collections.IList,System.Collections.IList)">
+             Constructor from two vectors
+            
+             @param objectIDs an ArrayList of the object identifiers.
+             @param values an ArrayList of the extension values.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.GetExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the extension represented by the object identifier
+             passed in.
+            
+             @return the extension if it's present, null otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Extensions.ToAsn1Object">
+             <pre>
+                 Extensions        ::=   SEQUENCE SIZE (1..MAX) OF Extension
+            
+                 Extension         ::=   SEQUENCE {
+                    extnId            EXTENSION.&amp;id ({ExtensionSet}),
+                    critical          BOOLEAN DEFAULT FALSE,
+                    extnValue         OCTET STRING }
+             </pre>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509Extensions.ExtensionOids">
+            return an Enumeration of the extension field's object ids.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator">
+            <remarks>Generator for X.509 extensions</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.Reset">
+            <summary>Reset the generator</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add an extension with the given oid and the passed in value to be included
+            in the OCTET STRING associated with the extension.
+            </summary>
+            <param name="oid">OID for the extension.</param>
+            <param name="critical">True if critical, false otherwise.</param>
+            <param name="extValue">The ASN.1 object to be included in the extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension with the given oid and the passed in byte array to be wrapped
+            in the OCTET STRING associated with the extension.
+            </summary>
+            <param name="oid">OID for the extension.</param>
+            <param name="critical">True if critical, false otherwise.</param>
+            <param name="extValue">The byte array to be wrapped.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.Generate">
+            <summary>Generate an X509Extensions object based on the current state of the generator.</summary>
+            <returns>An <c>X509Extensions</c> object</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509ExtensionsGenerator.IsEmpty">
+            <summary>Return true if there are no extension present in this generator.</summary>
+            <returns>True if empty, false otherwise</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509Name">
+             <pre>
+                 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
+            
+                 RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
+            
+                 AttributeTypeAndValue ::= SEQUENCE {
+                                               type  OBJECT IDENTIFIER,
+                                               value ANY }
+             </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.C">
+            country code - StringType(SIZE(2))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.O">
+            organization - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.OU">
+            organizational unit name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.T">
+            Title
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CN">
+            common name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Street">
+            street - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.SerialNumber">
+            device serial number name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.L">
+            locality name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.ST">
+            state, or province name - StringType(SIZE(1..64))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Surname">
+            Naming attributes of type X520name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.BusinessCategory">
+            businessCategory - DirectoryString(SIZE(1..128)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PostalCode">
+            postalCode - DirectoryString(SIZE(1..40)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DnQualifier">
+            dnQualifier - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Pseudonym">
+            RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DateOfBirth">
+            RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PlaceOfBirth">
+            RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Gender">
+            RFC 3039 DateOfBirth - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CountryOfCitizenship">
+            RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166
+            codes only
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.CountryOfResidence">
+            RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166
+            codes only
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.NameAtBirth">
+            ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.PostalAddress">
+            RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF
+            DirectoryString(SIZE(1..30))
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DmdName">
+            RFC 2256 dmdName
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.TelephoneNumber">
+            id-at-telephoneNumber
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.Name">
+            id-at-name
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.EmailAddress">
+            Email address (RSA PKCS#9 extension) - IA5String.
+            <p>Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here.</p>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.UnstructuredName">
+            more from PKCS#9
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.E">
+            email address in Verisign certificates
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.UID">
+            LDAP User id.
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DefaultSymbols">
+            default look up table translating OID values into their common symbols following
+            the convention in RFC 2253 with a few extras
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.RFC2253Symbols">
+            look up table translating OID values into their common symbols following the convention in RFC 2253
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.RFC1779Symbols">
+             look up table translating OID values into their common symbols following the convention in RFC 1779
+            
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X509.X509Name.DefaultLookup">
+            look up table translating common symbols into their OIDS.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetInstance(Org.BouncyCastle.Asn1.Asn1TaggedObject,System.Boolean)">
+             Return a X509Name based on the passed in tagged object.
+            
+             @param obj tag object holding name.
+             @param explicitly true if explicitly tagged false otherwise.
+             @return the X509Name
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Constructor from Asn1Sequence
+            
+             the principal will be a list of constructed sets, each containing an (OID, string) pair.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IDictionary)">
+            Constructor from a table of attributes with ordering.
+            <p>
+            it's is assumed the table contains OID/string pairs, and the contents
+            of the table are copied into an internal table as part of the
+            construction process. The ordering ArrayList should contain the OIDs
+            in the order they are meant to be encoded or printed in ToString.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IDictionary,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Constructor from a table of attributes with ordering.
+            <p>
+            it's is assumed the table contains OID/string pairs, and the contents
+            of the table are copied into an internal table as part of the
+            construction process. The ordering ArrayList should contain the OIDs
+            in the order they are meant to be encoded or printed in ToString.</p>
+            <p>
+            The passed in converter will be used to convert the strings into their
+            ASN.1 counterparts.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IList)">
+            Takes two vectors one of the oids and the other of the values.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Collections.IList,System.Collections.IList,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes two vectors one of the oids and the other of the values.
+            <p>
+            The passed in converter will be used to convert the strings into their
+            ASN.1 counterparts.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes with each
+            string value being converted to its associated ASN.1 type using the passed
+            in converter.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. If reverse
+            is true, create the encoded version of the sequence starting from the
+            last element in the string.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes with each
+            string value being converted to its associated ASN.1 type using the passed
+            in converter. If reverse is true the ASN.1 sequence representing the DN will
+            be built by starting at the end of the string, rather than the start.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.Collections.IDictionary,System.String)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. lookUp
+            should provide a table of lookups, indexed by lowercase only strings and
+            yielding a DerObjectIdentifier, other than that OID. and numeric oids
+            will be processed automatically.
+            <br/>
+            If reverse is true, create the encoded version of the sequence
+            starting from the last element in the string.
+            @param reverse true if we should start scanning from the end (RFC 2553).
+            @param lookUp table of names and their oids.
+            @param dirName the X.500 string to be parsed.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.#ctor(System.Boolean,System.Collections.IDictionary,System.String,Org.BouncyCastle.Asn1.X509.X509NameEntryConverter)">
+            Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or
+            some such, converting it into an ordered set of name attributes. lookUp
+            should provide a table of lookups, indexed by lowercase only strings and
+            yielding a DerObjectIdentifier, other than that OID. and numeric oids
+            will be processed automatically. The passed in converter is used to convert the
+            string values to the right of each equals sign to their ASN.1 counterparts.
+            <br/>
+            @param reverse true if we should start scanning from the end, false otherwise.
+            @param lookUp table of names and oids.
+            @param dirName the string dirName
+            @param converter the converter to convert string values into their ASN.1 equivalents
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetOidList">
+            return an IList of the oids in the name, in the order they were found.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetValueList">
+            return an IList of the values found in the name, in the order they
+            were found.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.GetValueList(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return an IList of the values found in the name, in the order they
+            were found, with the DN label corresponding to passed in oid.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.Equivalent(Org.BouncyCastle.Asn1.X509.X509Name,System.Boolean)">
+            <param name="other">The X509Name object to test equivalency against.</param>
+            <param name="inOrder">If true, the order of elements must be the same,
+            as well as the values associated with each element.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.Equivalent(Org.BouncyCastle.Asn1.X509.X509Name)">
+            test for equivalence - note: case is ignored.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X509.X509Name.ToString(System.Boolean,System.Collections.IDictionary)">
+             convert the structure to a string - if reverse is true the
+             oids and values are listed out starting with the last element
+             in the sequence (ala RFC 2253), otherwise the string will begin
+             with the first element of the structure. If no string definition
+             for the oid is found in oidSymbols the string value of the oid is
+             added. Two standard symbol tables are provided DefaultSymbols, and
+             RFC2253Symbols as part of this class.
+            
+             @param reverse if true start at the end of the sequence and work back.
+             @param oidSymbols look up table strings for oids.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X509.X509Name.DefaultReverse">
+            determines whether or not strings should be processed and printed
+            from back to front.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X509.X509NameTokenizer">
+            class for breaking up an X500 Name into it's component tokens, ala
+            java.util.StringTokenizer. We need this class as some of the
+            lightweight Java environment don't support classes like
+            StringTokenizer.
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.KeySpecificInfo">
+            ASN.1 def for Diffie-Hellman key exchange KeySpecificInfo structure. See
+            RFC 2631, or X9.42, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.KeySpecificInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             KeySpecificInfo ::= Sequence {
+                 algorithm OBJECT IDENTIFIER,
+                 counter OCTET STRING SIZE (4..4)
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.OtherInfo">
+            ANS.1 def for Diffie-Hellman key exchange OtherInfo structure. See
+            RFC 2631, or X9.42, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.OtherInfo.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             OtherInfo ::= Sequence {
+                 keyInfo KeySpecificInfo,
+                 partyAInfo [0] OCTET STRING OPTIONAL,
+                 suppPubInfo [2] OCTET STRING
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X962NamedCurves">
+            table of the current named curves defined in X.962 EC-DSA.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetByOid(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+             return the X9ECParameters object for the named curve represented by
+             the passed in object identifier. Null if the curve isn't present.
+            
+             @param oid an object identifier representing a named curve, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetOid(System.String)">
+             return the object identifier signified by the passed in name. Null
+             if there is no object identifier associated with name.
+            
+             @return the object identifier associated with name, if present.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962NamedCurves.GetName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            return the named curve name represented by the given object identifier.
+        </member>
+        <member name="P:Org.BouncyCastle.Asn1.X9.X962NamedCurves.Names">
+            returns an enumeration containing the name strings for curves
+            contained in this structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X962Parameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+            Parameters ::= CHOICE {
+               ecParameters ECParameters,
+               namedCurve   CURVES.&amp;id({CurveNames}),
+               implicitlyCA Null
+            }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9Curve">
+            ASN.1 def for Elliptic-Curve Curve structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9Curve.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             Curve ::= Sequence {
+                 a               FieldElement,
+                 b               FieldElement,
+                 seed            BIT STRING      OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9ECParameters">
+            ASN.1 def for Elliptic-Curve ECParameters structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9ECParameters.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             ECParameters ::= Sequence {
+                 version         Integer { ecpVer1(1) } (ecpVer1),
+                 fieldID         FieldID {{FieldTypes}},
+                 curve           X9Curve,
+                 base            X9ECPoint,
+                 order           Integer,
+                 cofactor        Integer OPTIONAL
+             }
+            </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9ECPoint">
+            class for describing an ECPoint as a Der object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9ECPoint.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             ECPoint ::= OCTET STRING
+            </pre>
+            <p>
+            Octet string produced using ECPoint.GetEncoded().</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9FieldElement">
+            Class for processing an ECFieldElement as a DER object.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldElement.ToAsn1Object">
+            Produce an object suitable for an Asn1OutputStream.
+            <pre>
+             FieldElement ::= OCTET STRING
+            </pre>
+            <p>
+            <ol>
+            <li> if <i>q</i> is an odd prime then the field element is
+            processed as an Integer and converted to an octet string
+            according to x 9.62 4.3.1.</li>
+            <li> if <i>q</i> is 2<sup>m</sup> then the bit string
+            contained in the field element is converted into an octet
+            string with the same ordering padded at the front if necessary.
+            </li>
+            </ol>
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Asn1.X9.X9FieldID">
+            ASN.1 def for Elliptic-Curve Field ID structure. See
+            X9.62, for further details.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.#ctor(Org.BouncyCastle.Math.BigInteger)">
+            Constructor for elliptic curves over prime fields
+            <code>F<sub>2</sub></code>.
+            @param primeP The prime <code>p</code> defining the prime field.
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
+            Constructor for elliptic curves over binary fields
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>..
+        </member>
+        <member name="M:Org.BouncyCastle.Asn1.X9.X9FieldID.ToAsn1Object">
+            Produce a Der encoding of the following structure.
+            <pre>
+             FieldID ::= Sequence {
+                 fieldType       FIELD-ID.&amp;id({IOSet}),
+                 parameters      FIELD-ID.&amp;Type({IOSet}{&#64;fieldType})
+             }
+            </pre>
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.AnsiX942">
+            X9.42
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.IdDsaWithSha1">
+            id-dsa-with-sha1 OBJECT IDENTIFIER ::=  { iso(1) member-body(2)
+                  us(840) x9-57 (10040) x9cm(4) 3 }
+        </member>
+        <member name="F:Org.BouncyCastle.Asn1.X9.X9ObjectIdentifiers.X9x63Scheme">
+            X9.63
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ArmoredInputStream">
+            reader for Base64 armored objects - read the headers and then start returning
+            bytes when the data is reached. An IOException is thrown if the CRC check
+            fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.Decode(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32[])">
+             decode the base 64 encoded input data.
+            
+             @return the offset the data starts in out.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.#ctor(System.IO.Stream)">
+             Create a stream for reading a PGP armoured message, parsing up to a header
+             and then reading the data that follows.
+            
+             @param input
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.#ctor(System.IO.Stream,System.Boolean)">
+             Create an armoured input stream which will assume the data starts
+             straight away, or parse for headers first depending on the value of
+             hasHeaders.
+            
+             @param input
+             @param hasHeaders true if headers are to be looked for, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.IsClearText">
+            @return true if we are inside the clear text section of a PGP
+            signed message.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.IsEndOfStream">
+            @return true if the stream is actually at end of file.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.GetArmorHeaderLine">
+            Return the armor header line (if there is one)
+            @return the armor header line, null if none present.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredInputStream.GetArmorHeaders">
+            Return the armor headers (the lines after the armor header line),
+            @return an array of armor headers, null if there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ArmoredOutputStream">
+            Basic output stream.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.Encode(System.IO.Stream,System.Int32[],System.Int32)">
+            encode the input data producing a base 64 encoded byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.SetHeader(System.String,System.String)">
+             Set an additional header entry.
+            
+             @param name the name of the header entry.
+             @param v the value of the header entry.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.ResetHeaders">
+            Reset the headers to only contain a Version string.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.BeginClearText(Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            Start a clear text signed message.
+            @param hashAlgorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ArmoredOutputStream.Dispose(System.Boolean)">
+            <b>Note</b>: Dispose does nor Dispose the underlying stream. So it is possible to write
+            multiple objects using armoring to a single stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Attr.ImageAttrib">
+            <remarks>Basic type for a image attribute packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacket">
+            Basic type for a user attribute sub-packet.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.UserAttributeSubpacket.GetData">
+            return the generic data making up the packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgInputStream">
+            <remarks>Reader for PGP objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgInputStream.NextPacketTag">
+            <summary>Returns the next packet tag in the stream.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgInputStream.PartialInputStream">
+            <summary>
+            A stream that overlays our input stream, allowing the user to only read a segment of it.
+            NB: dataLength will be negative if the segment length is in the upper range above 2**31.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgObject">
+            <remarks>Base class for a PGP object.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.BcpgOutputStream">
+            <remarks>Basic output stream.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream)">
+            <summary>Create a stream representing a general packet.</summary>
+            <param name="outStr">Output stream to write to.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag)">
+            <summary>Create a stream representing an old style partial object.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">The packet tag for the object.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Int64,System.Boolean)">
+            <summary>Create a stream representing a general packet.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="length">Size of chunks making up the packet.</param>
+            <param name="oldFormat">If true, the header is written out in old format.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Int64)">
+            <summary>Create a new style partial input stream buffered into chunks.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="length">Size of chunks making up the packet.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.#ctor(System.IO.Stream,Org.BouncyCastle.Bcpg.PacketTag,System.Byte[])">
+            <summary>Create a new style partial input stream buffered into chunks.</summary>
+            <param name="outStr">Output stream to write to.</param>
+            <param name="tag">Packet tag.</param>
+            <param name="buffer">Buffer to use for collecting chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.Flush">
+            <summary>Flush the underlying stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.BcpgOutputStream.Finish">
+            <summary>Finish writing out the current packet without closing the underlying stream.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.CompressedDataPacket">
+            <remarks>Generic compressed data object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.InputStreamPacket.GetInputStream">
+            <summary>Note: you can only read from this once...</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.CompressedDataPacket.Algorithm">
+            <summary>The algorithm tag value.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.CompressionAlgorithmTag">
+            <remarks>Basic tags for compression algorithms.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ContainedPacket">
+            <remarks>Basic type for a PGP packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey">
+            <remarks>Base class for a DSA public key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.IBcpgKey">
+            <remarks>Base interface for a PGP key.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.IBcpgKey.Format">
+            <summary>
+            The base format for this key - in the case of the symmetric keys it will generally
+            be raw indicating that the key is just a straight byte representation, for an asymmetric
+            key the format will be PGP, indicating the key is a string of MPIs encoded in PGP format.
+            </summary>
+            <returns>"RAW" or "PGP".</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            <param name="bcpgIn">The stream to read the packet from.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey">
+            <remarks>Base class for a DSA secret key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            @param in
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.DsaSecretBcpgKey.X">
+            @return x
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey">
+            <remarks>Base class for an ElGamal public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.ElGamalPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey">
+            <remarks>Base class for an ElGamal secret key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            @param in
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.#ctor(Org.BouncyCastle.Math.BigInteger)">
+            @param x
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.ElGamalSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ExperimentalPacket">
+            <remarks>Basic packet for an experimental packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.HashAlgorithmTag">
+            <remarks>Basic tags for hash algorithms.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.LiteralDataPacket">
+            <remarks>Generic literal data packet.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.LiteralDataPacket.Format">
+            <summary>The format tag value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.LiteralDataPacket.ModificationTime">
+            <summary>The modification time of the file in milli-seconds (since Jan 1, 1970 UTC)</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.MarkerPacket">
+            <remarks>Basic type for a marker packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.ModDetectionCodePacket">
+            <remarks>Basic packet for a modification detection code packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.MPInteger">
+            <remarks>A multiple precision integer</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OnePassSignaturePacket">
+            <remarks>Generic signature object</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OnePassSignaturePacket.KeyAlgorithm">
+            <summary>The encryption algorithm tag.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OnePassSignaturePacket.HashAlgorithm">
+            <summary>The hash algorithm tag.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PacketTag">
+            <remarks>Basic PGP packet tag types.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag">
+            <remarks>Public Key Algorithm tag numbers.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyEncSessionPacket">
+            <remarks>Basic packet for a PGP public key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicKeyPacket">
+            <remarks>Basic packet for a PGP public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.PublicKeyPacket.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.DateTime,Org.BouncyCastle.Bcpg.IBcpgKey)">
+            <summary>Construct a version 4 public key packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.PublicSubkeyPacket">
+            <remarks>Basic packet for a PGP public subkey</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.PublicSubkeyPacket.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.DateTime,Org.BouncyCastle.Bcpg.IBcpgKey)">
+            <summary>Construct a version 4 public subkey packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey">
+            <remarks>Base class for an RSA public key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.#ctor(Org.BouncyCastle.Bcpg.BcpgInputStream)">
+            <summary>Construct an RSA public key from the passed in stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            <param name="n">The modulus.</param>
+            <param name="e">The public exponent.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.RsaPublicBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey">
+            <remarks>Base class for an RSA secret (or priate) key.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey.GetEncoded">
+            <summary>Return the standard PGP encoding of the key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.RsaSecretBcpgKey.Format">
+            <summary>The format, as a string, always "PGP".</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.S2k">
+            <remarks>The string to key specifier class.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.S2k.GetIV">
+            <summary>The IV for the key generation algorithm.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.HashAlgorithm">
+            <summary>The hash algorithm.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.IterationCount">
+            <summary>The iteration count</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.S2k.ProtectionMode">
+            <summary>The protection mode - only if GnuDummyS2K</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SecretKeyPacket">
+            <remarks>Basic packet for a PGP secret key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SecretSubkeyPacket">
+            <remarks>Basic packet for a PGP secret key.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignaturePacket">
+            <remarks>Generic signature packet.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.#ctor(System.Int32,System.Int64,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag,Org.BouncyCastle.Bcpg.SignatureSubpacket[],Org.BouncyCastle.Bcpg.SignatureSubpacket[],System.Byte[],Org.BouncyCastle.Bcpg.MPInteger[])">
+             Generate a version 4 signature packet.
+            
+             @param signatureType
+             @param keyAlgorithm
+             @param hashAlgorithm
+             @param hashedData
+             @param unhashedData
+             @param fingerprint
+             @param signature
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.#ctor(System.Int32,System.Int32,System.Int64,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag,System.Int64,System.Byte[],Org.BouncyCastle.Bcpg.MPInteger[])">
+             Generate a version 2/3 signature packet.
+            
+             @param signatureType
+             @param keyAlgorithm
+             @param hashAlgorithm
+             @param fingerprint
+             @param signature
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignatureTrailer">
+             return the signature trailer that must be included with the data
+             to reconstruct the signature
+            
+             @return byte[]
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignature">
+            		* return the signature as a set of integers - note this is normalised to be the
+                    * ASN.1 encoding of what appears in the signature packet.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignaturePacket.GetSignatureBytes">
+            Return the byte encoding of the signature section.
+            @return uninterpreted signature bytes.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SignaturePacket.KeyId">
+            return the keyId
+            @return the keyId that created the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SignaturePacket.CreationTime">
+            <summary>Return the creation time in milliseconds since 1 Jan., 1970 UTC.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacket">
+            <remarks>Basic type for a PGP Signature sub-packet.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SignatureSubpacket.GetData">
+            <summary>Return the generic data making up the packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacketsParser">
+            reader for signature sub-packets
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SignatureSubpacketTag">
+            Basic PGP signature sub-packet tag types.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.EmbeddedSignature">
+            Packet embedded signature
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.Exportable">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.IssuerKeyId">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.KeyExpirationTime">
+            packet giving time after creation at which the key expires.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.KeyExpirationTime.Time">
+             Return the number of seconds after creation time a key is valid for.
+            
+             @return second count for key validity.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.KeyFlags">
+            Packet holding the key flag values.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.KeyFlags.Flags">
+            <summary>
+            Return the flag values contained in the first 4 octets (note: at the moment
+            the standard only uses the first one).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.NotationData">
+            Class provided a NotationData object according to
+            RFC2440, Chapter 5.2.3.15. Notation Data
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.PreferredAlgorithms">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.PrimaryUserId">
+            packet giving whether or not the signature is signed using the primary user ID for the key.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.Revocable">
+            packet giving whether or not is revocable.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RevocationKey">
+            <summary>
+            Represents revocation key OpenPGP signature sub packet.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.RevocationReason">
+            <summary>
+            Represents revocation reason OpenPGP signature sub packet.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignatureCreationTime">
+            packet giving signature creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignatureExpirationTime">
+            packet giving signature expiration time.
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.Sig.SignatureExpirationTime.Time">
+            return time in seconds before signature expires after creation time.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.SignerUserId">
+            packet giving the User ID of the signer.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.Sig.TrustSignature">
+            packet giving trust.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricEncDataPacket">
+            <remarks>Basic type for a symmetric key encrypted packet.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag">
+            Basic tags for symmetric key algorithms
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket">
+            Basic type for a symmetric encrypted session key packet
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.GetSecKeyData">
+            @return byte[]
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.EncAlgorithm">
+            @return int
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.S2k">
+            @return S2k
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.SymmetricKeyEncSessionPacket.Version">
+            @return int
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.TrustPacket">
+            <summary>Basic type for a trust packet.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributePacket">
+            Basic type for a user attribute packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacketsParser">
+            reader for user attribute sub-packets
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserAttributeSubpacketTag">
+            Basic PGP user attribute sub-packet tag types.
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.UserIdPacket">
+            Basic type for a user ID packet.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAttributeTableParameter">
+            <remarks>
+            The 'Signature' parameter is only available when generating unsigned attributes.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedData">
+            containing class for an CMS Authenticated Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetAuthAttrs">
+            return a table of the digested attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetUnauthAttrs">
+            return a table of the undigested attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedData.MacAlgOid">
+            return the object identifier for the content MAC algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator">
+             General class for generating a CMS authenticated-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CMSAuthenticatedDataGenerator  fact = new CMSAuthenticatedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSAuthenticatedData         data = fact.generate(content, algorithm, "BC");
+             </pre>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedGenerator">
+             General class for generating a CMS enveloped-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CMSEnvelopedDataGenerator  fact = new CMSEnvelopedDataGenerator();
+            
+                  fact.addKeyTransRecipient(cert);
+            
+                  CMSEnvelopedData         data = fact.generate(content, algorithm, "BC");
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyTransRecipient(Org.BouncyCastle.X509.X509Certificate)">
+             add a recipient.
+            
+             @param cert recipient's public key certificate
+             @exception ArgumentException if there is a problem with the certificate
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyTransRecipient(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+             add a recipient
+            
+             @param key the public key used by the recipient
+             @param subKeyId the identifier for the recipient's public key
+             @exception ArgumentException if there is a problem with the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKekRecipient(System.String,Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Byte[])">
+            add a KEK recipient.
+            @param key the secret key to use for wrapping
+            @param keyIdentifier the byte string that identifies the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKekRecipient(System.String,Org.BouncyCastle.Crypto.Parameters.KeyParameter,Org.BouncyCastle.Asn1.Cms.KekIdentifier)">
+            add a KEK recipient.
+            @param key the secret key to use for wrapping
+            @param keyIdentifier the byte string that identifies the key
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyAgreementRecipient(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+             Add a key agreement based recipient.
+            
+             @param agreementAlgorithm key agreement algorithm to use.
+             @param senderPrivateKey private key to initialise sender side of agreement with.
+             @param senderPublicKey sender public key to include with message.
+             @param recipientCert recipient's public key certificate.
+             @param cekWrapAlgorithm OID for key wrapping algorithm to use.
+             @exception SecurityUtilityException if the algorithm requested cannot be found
+             @exception InvalidKeyException if the keys are inappropriate for the algorithm specified
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedGenerator.AddKeyAgreementRecipients(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Collections.ICollection,System.String)">
+             Add multiple key agreement based recipients (sharing a single KeyAgreeRecipientInfo structure).
+            
+             @param agreementAlgorithm key agreement algorithm to use.
+             @param senderPrivateKey private key to initialise sender side of agreement with.
+             @param senderPublicKey sender public key to include with message.
+             @param recipientCerts recipients' public key certificates.
+             @param cekWrapAlgorithm OID for key wrapping algorithm to use.
+             @exception SecurityUtilityException if the algorithm requested cannot be found
+             @exception InvalidKeyException if the keys are inappropriate for the algorithm specified
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+             constructor allowing specific source of randomness
+            
+             @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            constructor allowing specific source of randomness
+            @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            generate an enveloped object that contains an CMS Enveloped Data
+            object using the given provider and the passed in key generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            generate an authenticated object that contains an CMS Authenticated Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser">
+             Parsing class for an CMS Authenticated Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one recipient can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             Example of use - assuming the first recipient matches the private key we have.
+             <pre>
+                  CMSAuthenticatedDataParser     ad = new CMSAuthenticatedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ad.getRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey, "BC");
+            
+                      processDataStream(recData.getContentStream());
+            
+                      if (!Arrays.equals(ad.getMac(), recipient.getMac())
+                      {
+                          System.err.println("Data corrupted!!!!");
+                      }
+                  }
+              </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CMSAuthenticatedDataParser     ep = new CMSAuthenticatedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsContentInfoParser.Close">
+            Close the underlying data stream.
+            @throws IOException if the close fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetAuthAttrs">
+            return a table of the unauthenticated attributes indexed by
+            the OID of the attribute.
+            @exception java.io.IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.GetUnauthAttrs">
+            return a table of the unauthenticated attributes indexed by
+            the OID of the attribute.
+            @exception java.io.IOException
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.MacAlgOid">
+            return the object identifier for the mac algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsAuthenticatedDataParser.MacAlgParams">
+            return the ASN.1 encoded encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator">
+             General class for generating a CMS authenticated-data message stream.
+             <p>
+             A simple example of usage.
+             <pre>
+                  CMSAuthenticatedDataStreamGenerator edGen = new CMSAuthenticatedDataStreamGenerator();
+            
+                  edGen.addKeyTransRecipient(cert);
+            
+                  ByteArrayOutputStream  bOut = new ByteArrayOutputStream();
+            
+                  OutputStream out = edGen.open(
+                                          bOut, CMSAuthenticatedDataGenerator.AES128_CBC, "BC");*
+                  out.write(data);
+            
+                  out.close();
+             </pre>
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            constructor allowing specific source of randomness
+            @param rand instance of SecureRandom to use
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.SetBerEncodeRecipients(System.Boolean)">
+            Use a BER Set to store the recipient information
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            generate an enveloped object that contains an CMS Enveloped Data
+            object using the given provider and the passed in key generator.
+            @throws java.io.IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsAuthenticatedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Int32)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsAuthEnvelopedData">
+            containing class for an CMS AuthEnveloped Data object
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedData">
+            containing class for an CMS Compressed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetContent">
+             Return the uncompressed content.
+            
+             @return the uncompressed content
+             @throws CmsException if there is an exception uncompressing the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetContent(System.Int32)">
+             Return the uncompressed content, throwing an exception if the data size
+             is greater than the passed in limit. If the content is exceeded getCause()
+             on the CMSException will contain a StreamOverflowException
+            
+             @param limit maximum number of bytes to read
+             @return the content read
+             @throws CMSException if there is an exception uncompressing the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsCompressedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataGenerator">
+                * General class for generating a compressed CMS message.
+                * <p>
+                * A simple example of usage.</p>
+                * <p>
+                * <pre>
+                *      CMSCompressedDataGenerator fact = new CMSCompressedDataGenerator();
+                *      CMSCompressedData data = fact.Generate(content, algorithm);
+                * </pre>
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            Generate an object that contains an CMS Compressed Data
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataParser">
+             Class for reading a CMS Compressed Data stream.
+             <pre>
+                 CMSCompressedDataParser cp = new CMSCompressedDataParser(inputStream);
+            
+                 process(cp.GetContent().GetContentStream());
+             </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                  CMSCompressedDataParser     ep = new CMSCompressedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator">
+             General class for generating a compressed CMS message stream.
+             <p>
+             A simple example of usage.
+             </p>
+             <pre>
+                  CMSCompressedDataStreamGenerator gen = new CMSCompressedDataStreamGenerator();
+            
+                  Stream cOut = gen.Open(outputStream, CMSCompressedDataStreamGenerator.ZLIB);
+            
+                  cOut.Write(data);
+            
+                  cOut.Close();
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator.#ctor">
+            base constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsCompressedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedData">
+            containing class for an CMS Enveloped Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetUnprotectedAttributes">
+            return a table of the unprotected attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedData.EncryptionAlgOid">
+            return the object identifier for the content encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedData.ContentInfo">
+            return the ContentInfo 
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator">
+             <remarks>
+             General class for generating a CMS enveloped-data message.
+            
+             A simple example of usage.
+            
+             <pre>
+                  CmsEnvelopedDataGenerator  fact = new CmsEnvelopedDataGenerator();
+            
+                  fact.AddKeyTransRecipient(cert);
+            
+                  CmsEnvelopedData         data = fact.Generate(content, algorithm);
+             </pre>
+             </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            <summary>
+            Generate an enveloped object that contains a CMS Enveloped Data
+            object using the passed in key generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String)">
+            <summary>Generate an enveloped object that contains an CMS Enveloped Data object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.String,System.Int32)">
+            <summary>Generate an enveloped object that contains an CMS Enveloped Data object.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataParser">
+             Parsing class for an CMS Enveloped Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one recipient can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             Example of use - assuming the first recipient matches the private key we have.
+             <pre>
+                  CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(inputStream);
+            
+                  RecipientInformationStore  recipients = ep.GetRecipientInfos();
+            
+                  Collection  c = recipients.getRecipients();
+                  Iterator    it = c.iterator();
+            
+                  if (it.hasNext())
+                  {
+                      RecipientInformation   recipient = (RecipientInformation)it.next();
+            
+                      CMSTypedStream recData = recipient.getContentStream(privateKey);
+            
+                      processDataStream(recData.getContentStream());
+                  }
+              </pre>
+              Note: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CmsEnvelopedDataParser     ep = new CmsEnvelopedDataParser(new BufferedInputStream(inputStream, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.GetRecipientInfos">
+            return a store of the intended recipients for this message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.GetUnprotectedAttributes">
+            return a table of the unprotected attributes indexed by
+            the OID of the attribute.
+            @throws IOException
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.EncryptionAlgOid">
+            return the object identifier for the content encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsEnvelopedDataParser.EncryptionAlgParams">
+            return the ASN.1 encoded encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator">
+             General class for generating a CMS enveloped-data message stream.
+             <p>
+             A simple example of usage.
+             <pre>
+                  CmsEnvelopedDataStreamGenerator edGen = new CmsEnvelopedDataStreamGenerator();
+            
+                  edGen.AddKeyTransRecipient(cert);
+            
+                  MemoryStream  bOut = new MemoryStream();
+            
+                  Stream out = edGen.Open(
+                                          bOut, CMSEnvelopedDataGenerator.AES128_CBC);*
+                  out.Write(data);
+            
+                  out.Close();
+             </pre>
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.SetBufferSize(System.Int32)">
+            <summary>Set the underlying string size for encapsulated data.</summary>
+            <param name="bufferSize">Length of octet strings to buffer the data.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.SetBerEncodeRecipients(System.Boolean)">
+            <summary>Use a BER Set to store the recipient information.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String,Org.BouncyCastle.Crypto.CipherKeyGenerator)">
+            <summary>
+            Generate an enveloped object that contains an CMS Enveloped Data
+            object using the passed in key generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsEnvelopedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Int32)">
+            generate an enveloped object that contains an CMS Enveloped Data object
+            @throws IOException
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.ICipherParameters">
+            all parameter classes implement this.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsProcessable.Write(System.IO.Stream)">
+            <summary>
+            Generic routine to copy out the data we want processed.
+            </summary>
+            <remarks>
+            This routine may be called multiple times.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsProcessableByteArray">
+            a holding class for a byte array of data to be processed.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsProcessableByteArray.GetContent">
+            <returns>A clone of the byte array</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedData">
+             general class for handling a pkcs7-signature message.
+            
+             A simple example of usage - note, in the example below the validity of
+             the certificate isn't verified, just the fact that one of the certs
+             matches the given signer...
+            
+             <pre>
+              IX509Store              certs = s.GetCertificates();
+              SignerInformationStore  signers = s.GetSignerInfos();
+            
+              foreach (SignerInformation signer in signers.GetSigners())
+              {
+                  ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                  X509Certificate cert = (X509Certificate) certList[0];
+            
+                  if (signer.Verify(cert.GetPublicKey()))
+                  {
+                      verified++;
+                  }
+              }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(System.Collections.IDictionary,System.Byte[])">
+             Content with detached signature, digests precomputed
+            
+             @param hashes a map of precomputed digests for content indexed by name of hash.
+             @param sigBlock the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(Org.BouncyCastle.Cms.CmsProcessable,System.IO.Stream)">
+             base constructor - content with detached signature.
+            
+             @param signedContent the content that was signed.
+             @param sigData the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.#ctor(System.IO.Stream)">
+            base constructor - with encapsulated content
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetSignerInfos">
+            return the collection of signers that are associated with the
+            signatures for the message.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetAttributeCertificates(System.String)">
+             return a X509Store containing the attribute certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of attribute certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetCertificates(System.String)">
+             return a X509Store containing the public key certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of public key certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetCrls(System.String)">
+             return a X509Store containing CRLs, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of CRLs
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.ReplaceSigners(Org.BouncyCastle.Cms.CmsSignedData,Org.BouncyCastle.Cms.SignerInformationStore)">
+             Replace the signerinformation store associated with this
+             CmsSignedData object with the new one passed in. You would
+             probably only want to do this if you wanted to change the unsigned
+             attributes associated with a signer, or perhaps delete one.
+            
+             @param signedData the signed data object to be used as a base.
+             @param signerInformationStore the new signer information store to use.
+             @return a new signed data object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedData.ReplaceCertificatesAndCrls(Org.BouncyCastle.Cms.CmsSignedData,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store)">
+             Replace the certificate and CRL information associated with this
+             CmsSignedData object with the new one passed in.
+            
+             @param signedData the signed data object to be used as a base.
+             @param x509Certs the new certificates to be used.
+             @param x509Crls the new CRLs to be used.
+             @return a new signed data object.
+             @exception CmsException if there is an error processing the stores
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.Version">
+            <summary>Return the version number for this object.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.SignedContentType">
+            <summary>
+            Return the <c>DerObjectIdentifier</c> associated with the encapsulated
+            content info structure carried in the signed data.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedData.ContentInfo">
+            return the ContentInfo
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataGenerator">
+                 * general class for generating a pkcs7-signature message.
+                 * <p>
+                 * A simple example of usage.
+                 *
+                 * <pre>
+                 *      IX509Store certs...
+                 *      IX509Store crls...
+                 *      CmsSignedDataGenerator gen = new CmsSignedDataGenerator();
+                 *
+                 *      gen.AddSigner(privKey, cert, CmsSignedGenerator.DigestSha1);
+                 *      gen.AddCertificates(certs);
+                 *      gen.AddCrls(crls);
+                 *
+                 *      CmsSignedData data = gen.Generate(content);
+                 * </pre>
+            	 * </p>
+        </member>
+        <member name="F:Org.BouncyCastle.Cms.CmsSignedGenerator.Data">
+            Default type for the signed data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.AddAttributeCertificates(Org.BouncyCastle.X509.Store.IX509Store)">
+             Add the attribute certificates contained in the passed in store to the
+             generator.
+            
+             @param store a store of Version 2 attribute certificates
+             @throws CmsException if an error occurse processing the store.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.AddSigners(Org.BouncyCastle.Cms.SignerInformationStore)">
+             Add a store of precalculated signers to the generator.
+            
+             @param signerStore store of signers
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedGenerator.GetGeneratedDigests">
+             Return a map of oids and byte arrays representing the digests calculated on the content during
+             the last generate.
+            
+             @return a map of oids (as String objects) and byte[] representing digests.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+                    * add a signer - no attributes other than the default ones will be
+                    * provided here.
+            		*
+            		* @param key signing key to use
+            		* @param cert certificate containing corresponding public key
+            		* @param digestOID digest algorithm OID
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+             add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be
+             provided here.
+            
+             @param key signing key to use
+             @param cert certificate containing corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String)">
+            add a signer, specifying the digest encryption algorithm to use - no attributes other than the default ones will be
+            provided here.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+                    * add a signer with extra signed/unsigned attributes.
+            		*
+            		* @param key signing key to use
+            		* @param cert certificate containing corresponding public key
+            		* @param digestOID digest algorithm OID
+            		* @param signedAttr table of attributes to be included in signature
+            		* @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes.
+            
+             @param key signing key to use
+             @param cert certificate containing corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+             @param signedAttr table of attributes to be included in signature
+             @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            	     * add a signer with extra signed/unsigned attributes.
+            		 *
+            		 * @param key signing key to use
+            		 * @param subjectKeyID subjectKeyID of corresponding public key
+            		 * @param digestOID digest algorithm OID
+            		 * @param signedAttr table of attributes to be included in signature
+            		 * @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes.
+            
+             @param key signing key to use
+             @param subjectKeyID subjectKeyID of corresponding public key
+             @param encryptionOID digest encryption algorithm OID
+             @param digestOID digest algorithm OID
+             @param signedAttr table of attributes to be included in signature
+             @param unsignedAttr table of attributes to be included as unsigned
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer, specifying the digest encryption algorithm, with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String,Org.BouncyCastle.Cms.CmsAttributeTableGenerator,Org.BouncyCastle.Cms.CmsAttributeTableGenerator)">
+            add a signer, including digest encryption algorithm, with extra signed/unsigned attributes based on generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable)">
+            generate a signed object that for a CMS Signed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(System.String,Org.BouncyCastle.Cms.CmsProcessable,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object  - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.Generate(Org.BouncyCastle.Cms.CmsProcessable,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data".
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataGenerator.GenerateCounterSigners(Org.BouncyCastle.Cms.SignerInformation)">
+             generate a set of one or more SignerInformation objects representing counter signatures on
+             the passed in SignerInformation object.
+            
+             @param signer the signer to be countersigned
+             @param sigProvider the provider to be used for counter signing.
+             @return a store containing the signers.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataParser">
+             Parsing class for an CMS Signed Data object from an input stream.
+             <p>
+             Note: that because we are in a streaming mode only one signer can be tried and it is important
+             that the methods on the parser are called in the appropriate order.
+             </p>
+             <p>
+             A simple example of usage for an encapsulated signature.
+             </p>
+             <p>
+             Two notes: first, in the example below the validity of
+             the certificate isn't verified, just the fact that one of the certs
+             matches the given signer, and, second, because we are in a streaming
+             mode the order of the operations is important.
+             </p>
+             <pre>
+                  CmsSignedDataParser     sp = new CmsSignedDataParser(encapSigData);
+            
+                  sp.GetSignedContent().Drain();
+            
+                  IX509Store              certs = sp.GetCertificates();
+                  SignerInformationStore  signers = sp.GetSignerInfos();
+            
+                  foreach (SignerInformation signer in signers.GetSigners())
+                  {
+                      ArrayList       certList = new ArrayList(certs.GetMatches(signer.SignerID));
+                      X509Certificate cert = (X509Certificate) certList[0];
+            
+                      Console.WriteLine("verify returns: " + signer.Verify(cert));
+                  }
+             </pre>
+              Note also: this class does not introduce buffering - if you are processing large files you should create
+              the parser with:
+              <pre>
+                      CmsSignedDataParser     ep = new CmsSignedDataParser(new BufferedInputStream(encapSigData, bufSize));
+              </pre>
+              where bufSize is a suitably large buffer size.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.#ctor(System.IO.Stream)">
+            base constructor - with encapsulated content
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.#ctor(Org.BouncyCastle.Cms.CmsTypedStream,System.IO.Stream)">
+             base constructor
+            
+             @param signedContent the content that was signed.
+             @param sigData the signature object.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetSignerInfos">
+            return the collection of signers that are associated with the
+            signatures for the message.
+            @throws CmsException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetAttributeCertificates(System.String)">
+             return a X509Store containing the attribute certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of attribute certificates
+             @exception org.bouncycastle.x509.NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetCertificates(System.String)">
+             return a X509Store containing the public key certificates, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of public key certificates
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.GetCrls(System.String)">
+             return a X509Store containing CRLs, if any, contained
+             in this message.
+            
+             @param type type of store to create
+             @return a store of CRLs
+             @exception NoSuchStoreException if the store type isn't available.
+             @exception CmsException if a general exception prevents creation of the X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.ReplaceSigners(System.IO.Stream,Org.BouncyCastle.Cms.SignerInformationStore,System.IO.Stream)">
+            Replace the signerinformation store associated with the passed
+            in message contained in the stream original with the new one passed in.
+            You would probably only want to do this if you wanted to change the unsigned
+            attributes associated with a signer, or perhaps delete one.
+            <p>
+            The output stream is returned unclosed.
+            </p>
+            @param original the signed data stream to be used as a base.
+            @param signerInformationStore the new signer information store to use.
+            @param out the stream to Write the new signed data object to.
+            @return out.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataParser.ReplaceCertificatesAndCrls(System.IO.Stream,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,Org.BouncyCastle.X509.Store.IX509Store,System.IO.Stream)">
+            Replace the certificate and CRL information associated with this
+            CMSSignedData object with the new one passed in.
+            <p>
+            The output stream is returned unclosed.
+            </p>
+            @param original the signed data stream to be used as a base.
+            @param certsAndCrls the new certificates and CRLs to be used.
+            @param out the stream to Write the new signed data object to.
+            @return out.
+            @exception CmsException if there is an error processing the CertStore
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedDataParser.Version">
+             Return the version number for the SignedData object
+            
+             @return the version number
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.CmsSignedDataParser.SignedContentType">
+            <summary>
+            Return the <c>DerObjectIdentifier</c> associated with the encapsulated
+            content info structure carried in the signed data.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator">
+             General class for generating a pkcs7-signature message stream.
+             <p>
+             A simple example of usage.
+             </p>
+             <pre>
+                  IX509Store                   certs...
+                  CmsSignedDataStreamGenerator gen = new CmsSignedDataStreamGenerator();
+            
+                  gen.AddSigner(privateKey, cert, CmsSignedDataStreamGenerator.DIGEST_SHA1);
+            
+                  gen.AddCertificates(certs);
+            
+                  Stream sigOut = gen.Open(bOut);
+            
+                  sigOut.Write(Encoding.UTF8.GetBytes("Hello World!"));
+            
+                  sigOut.Close();
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.#ctor(Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Constructor allowing specific source of randomness</summary>
+            <param name="rand">Instance of <c>SecureRandom</c> to use.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.SetBufferSize(System.Int32)">
+             Set the underlying string size for encapsulated data
+            
+             @param bufferSize length of octet strings to buffer the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+            add a signer, specifying the digest encryption algorithm - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes - specifying digest
+            encryption algorithm.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,System.String)">
+            add a signer - no attributes other than the default ones will be
+            provided here.
+            @throws NoSuchProviderException
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.AddSigner(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[],System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            add a signer with extra signed/unsigned attributes.
+            @throws NoSuchAlgorithmException
+            @throws InvalidKeyException
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data object
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data".
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.Boolean,System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data
+            object using the given provider - if encapsulate is true a copy
+            of the message will be included in the signature with the
+            default content type "data". If dataOutputStream is non null the data
+            being signed will be written to the stream as it is processed.
+            @param out stream the CMS object is to be written to.
+            @param encapsulate true if data should be encapsulated.
+            @param dataOutputStream output stream to copy the data being signed to.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Boolean)">
+            generate a signed object that for a CMS Signed Data
+            object - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedDataStreamGenerator.Open(System.IO.Stream,System.String,System.Boolean,System.IO.Stream)">
+            generate a signed object that for a CMS Signed Data
+            object using the given provider - if encapsulate is true a copy
+            of the message will be included in the signature. The content type
+            is set according to the OID represented by the string signedContentType.
+            @param out stream the CMS object is to be written to.
+            @param signedContentType OID for data to be signed.
+            @param encapsulate true if data should be encapsulated.
+            @param dataOutputStream output stream to copy the data being signed to.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedHelper.GetDigestAlgName(System.String)">
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.CmsSignedHelper.GetEncryptionAlgName(System.String)">
+            Return the digest encryption algorithm using one of the standard
+            JCA string representations rather than the algorithm identifier (if
+            possible).
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator">
+            Default authenticated attributes generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.#ctor">
+            Initialise to use all defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.#ctor(Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Initialise with some extra attributes or overrides.
+            
+             @param attributeTable initial attribute table to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.CreateStandardAttributeTable(System.Collections.IDictionary)">
+             Create a standard attribute table from the passed in parameters - this will
+             normally include contentType and messageDigest. If the constructor
+             using an AttributeTable was used, entries in it for contentType and
+             messageDigest will override the generated ones.
+            
+             @param parameters source parameters for table generation.
+            
+             @return a filled in IDictionary of attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultAuthenticatedAttributeTableGenerator.GetAttributes(System.Collections.IDictionary)">
+            @param parameters source parameters
+            @return the populated attribute table
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator">
+            Default signed attributes generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.#ctor">
+            Initialise to use all defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.#ctor(Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Initialise with some extra attributes or overrides.
+            
+             @param attributeTable initial attribute table to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.createStandardAttributeTable(System.Collections.IDictionary)">
+             Create a standard attribute table from the passed in parameters - this will
+             normally include contentType, signingTime, and messageDigest. If the constructor
+             using an AttributeTable was used, entries in it for contentType, signingTime, and
+             messageDigest will override the generated ones.
+            
+             @param parameters source parameters for table generation.
+            
+             @return a filled in Hashtable of attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.DefaultSignedAttributeTableGenerator.GetAttributes(System.Collections.IDictionary)">
+            @param parameters source parameters
+            @return the populated attribute table
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInfoGenerator.Generate(Org.BouncyCastle.Crypto.Parameters.KeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate a RecipientInfo object for the given key.
+            </summary>
+            <param name="contentEncryptionKey">
+            A <see cref="T:Org.BouncyCastle.Crypto.Parameters.KeyParameter"/>
+            </param>
+            <param name="random">
+            A <see cref="T:Org.BouncyCastle.Security.SecureRandom"/>
+            </param>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Asn1.Cms.RecipientInfo"/>
+            </returns>
+            <exception cref="T:Org.BouncyCastle.Security.GeneralSecurityException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KekRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using a secret key known to the other side.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformation.GetMac">
+             Return the MAC calculated for the content stream. Note: this call is only meaningful once all
+             the content has been read.
+            
+             @return  byte array containing the mac.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformation.KeyEncryptionAlgOid">
+                    * return the object identifier for the key encryption algorithm.
+                    * 
+            		* @return OID for key encryption algorithm.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformation.KeyEncryptionAlgParams">
+                    * return the ASN.1 encoded key encryption algorithm parameters, or null if
+                    * there aren't any.
+                    * 
+            		* @return ASN.1 encoding of key encryption algorithm parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KekRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KeyAgreeRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using key agreement.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KeyAgreeRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.KeyTransRecipientInformation">
+            the KeyTransRecipientInformation class for a recipient who has been sent a secret
+            key encrypted using their public key that needs to be used to
+            extract the message.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.KeyTransRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return it as a byte array.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.OriginatorID">
+            a basic index for an originator.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertStoreSelector.Policy">
+            <summary>
+            An <code>ISet</code> of <code>DerObjectIdentifier</code> objects.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.PasswordRecipientInformation">
+            the RecipientInfo class for a recipient who has been sent a message
+            encrypted using a password.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.PasswordRecipientInformation.GetContentStream(Org.BouncyCastle.Crypto.ICipherParameters)">
+            decrypt the content and return an input stream.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.PasswordRecipientInformation.KeyDerivationAlgorithm">
+             return the object identifier for the key derivation algorithm, or null
+             if there is none present.
+            
+             @return OID for key derivation algorithm, if present.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.Pkcs5Scheme2PbeKey">
+            <summary>
+            PKCS5 scheme-2 - password converted to bytes assuming ASCII.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.Pkcs5Scheme2Utf8PbeKey">
+            PKCS5 scheme-2 - password converted to bytes using UTF-8.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetFirstRecipient(Org.BouncyCastle.Cms.RecipientID)">
+             Return the first RecipientInformation object that matches the
+             passed in selector. Null if there are no matches.
+            
+             @param selector to identify a recipient
+             @return a single RecipientInformation object. Null if none matches.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetRecipients">
+             Return all recipients in the collection
+            
+             @return a collection of recipients.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.RecipientInformationStore.GetRecipients(Org.BouncyCastle.Cms.RecipientID)">
+             Return possible empty collection with recipients matching the passed in RecipientID
+            
+             @param selector a recipient id to select against.
+             @return a collection of RecipientInformation objects.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.RecipientInformationStore.Count">
+             Return the number of recipients in the collection.
+            
+             @return number of recipients identified.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SignerID">
+            a basic index for a signer.
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SignerInformation">
+            an expanded SignerInfo block from a CMS Signed message
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetContentDigest">
+            return the content digest that was calculated during verification.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetSignature">
+            return the encoded signature
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetCounterSignatures">
+            Return a SignerInformationStore containing the counter signatures attached to this
+            signer. If no counter signatures are present an empty store is returned.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.GetEncodedSignedAttributes">
+            return the DER encoding of the signed attributes.
+            @throws IOException if an encoding error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            verify that the given public key successfully handles and confirms the
+            signature associated with this signer.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.Verify(Org.BouncyCastle.X509.X509Certificate)">
+            verify that the given certificate successfully handles and confirms
+            the signature associated with this signer and, if a signingTime
+            attribute is available, that the certificate was valid at the time the
+            signature was generated.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.ToSignerInfo">
+             Return the base ASN.1 CMS structure that this object contains.
+            
+             @return an object containing a CMS SignerInfo structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.ReplaceUnsignedAttributes(Org.BouncyCastle.Cms.SignerInformation,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+             Return a signer information object with the passed in unsigned
+             attributes replacing the ones that are current associated with
+             the object passed in.
+            
+             @param signerInformation the signerInfo to be used as the basis.
+             @param unsignedAttributes the unsigned attributes to add.
+             @return a copy of the original SignerInformationObject with the changed attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformation.AddCounterSigners(Org.BouncyCastle.Cms.SignerInformation,Org.BouncyCastle.Cms.SignerInformationStore)">
+             Return a signer information object with passed in SignerInformationStore representing counter
+             signatures attached as an unsigned attribute.
+            
+             @param signerInformation the signerInfo to be used as the basis.
+             @param counterSigners signer info objects carrying counter signature.
+             @return a copy of the original SignerInformationObject with the changed attributes.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.Version">
+            return the version number for this objects underlying SignerInfo structure.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.DigestAlgOid">
+            return the object identifier for the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.DigestAlgParams">
+            return the signature parameters, or null if there aren't any.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.EncryptionAlgOid">
+            return the object identifier for the signature.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.EncryptionAlgParams">
+            return the signature/encryption algorithm parameters, or null if
+            there aren't any.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.SignedAttributes">
+            return a table of the signed attributes - indexed by
+            the OID of the attribute.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformation.UnsignedAttributes">
+            return a table of the unsigned attributes indexed by
+            the OID of the attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetFirstSigner(Org.BouncyCastle.Cms.SignerID)">
+             Return the first SignerInformation object that matches the
+             passed in selector. Null if there are no matches.
+            
+             @param selector to identify a signer
+             @return a single SignerInformation object. Null if none matches.
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetSigners">
+            <returns>An ICollection of all signers in the collection</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Cms.SignerInformationStore.GetSigners(Org.BouncyCastle.Cms.SignerID)">
+             Return possible empty collection with signers matching the passed in SignerID
+            
+             @param selector a signer id to select against.
+             @return a collection of SignerInformation objects.
+        </member>
+        <member name="P:Org.BouncyCastle.Cms.SignerInformationStore.Count">
+            <summary>The number of signers in the collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Cms.SimpleAttributeTableGenerator">
+            Basic generator that just returns a preconstructed attribute table
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.DHAgreement">
+            a Diffie-Hellman key exchange engine.
+            <p>
+            note: This uses MTI/A0 key agreement in order to make the key agreement
+            secure against passive attacks. If you're doing Diffie-Hellman and both
+            parties have long term public keys you should look at using this. For
+            further information have a look at RFC 2631.</p>
+            <p>
+            It's possible to extend this to more than two parties as well, for the moment
+            that is left as an exercise for the reader.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHAgreement.CalculateMessage">
+            calculate our initial message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.Parameters.DHPublicKeyParameters,Org.BouncyCastle.Math.BigInteger)">
+            given a message from a given party and the corresponding public key
+            calculate the next message in the agreement sequence. In this case
+            this will represent the shared secret.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement">
+            a Diffie-Hellman key agreement class.
+            <p>
+            note: This is only the basic algorithm, it doesn't take advantage of
+            long term public keys if they are available. See the DHAgreement class
+            for a "better" implementation.</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBasicAgreement">
+            The basic interface that basic Diffie-Hellman implementations
+            conforms to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBasicAgreement.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+            initialise the agreement engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBasicAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.ICipherParameters)">
+            given a public key from a given party calculate the next
+            message in the agreement sequence.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.DHBasicAgreement.CalculateAgreement(Org.BouncyCastle.Crypto.ICipherParameters)">
+            given a short term public key from a given party calculate the next
+            message in the agreement sequence.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.ECDHBasicAgreement">
+             P1363 7.2.1 ECSVDP-DH
+            
+             ECSVDP-DH is Elliptic Curve Secret Value Derivation Primitive,
+             Diffie-Hellman version. It is based on the work of [DH76], [Mil86],
+             and [Kob87]. This primitive derives a shared secret value from one
+             party's private key and another party's public key, where both have
+             the same set of EC domain parameters. If two parties correctly
+             execute this primitive, they will produce the same output. This
+             primitive can be invoked by a scheme to derive a shared secret key;
+             specifically, it may be used with the schemes ECKAS-DH1 and
+             DL/ECKAS-DH2. It assumes that the input keys are valid (see also
+             Section 7.2.2).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.ECDHCBasicAgreement">
+             P1363 7.2.2 ECSVDP-DHC
+            
+             ECSVDP-DHC is Elliptic Curve Secret Value Derivation Primitive,
+             Diffie-Hellman version with cofactor multiplication. It is based on
+             the work of [DH76], [Mil86], [Kob87], [LMQ98] and [Kal98a]. This
+             primitive derives a shared secret value from one party's private key
+             and another party's public key, where both have the same set of EC
+             domain parameters. If two parties correctly execute this primitive,
+             they will produce the same output. This primitive can be invoked by a
+             scheme to derive a shared secret key; specifically, it may be used
+             with the schemes ECKAS-DH1 and DL/ECKAS-DH2. It does not assume the
+             validity of the input public key (see also Section 7.2.1).
+             <p>
+             Note: As stated P1363 compatibility mode with ECDH can be preset, and
+             in this case the implementation doesn't have a ECDH compatibility mode
+             (if you want that just use ECDHBasicAgreement and note they both implement
+             BasicAgreement!).</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDerivationParameters">
+            Parameters for key/byte stream derivation classes
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Kdf.DHKekGenerator">
+            RFC 2631 Diffie-hellman KEK derivation function.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDerivationFunction">
+            base interface for general purpose byte derivation functions.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IDerivationFunction.Digest">
+            return the message digest used as the basis for the function
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Kdf.ECDHKekGenerator">
+            X9.63 based key derivation function for ECDH CMS.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client">
+            Implements the client side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe.
+            This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper
+            "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest,Org.BouncyCastle.Security.SecureRandom)">
+            Initialises the client to begin new authentication attempt
+            @param N The safe prime associated with the client's verifier
+            @param g The group parameter associated with the client's verifier
+            @param digest The digest algorithm associated with the client's verifier
+            @param random For key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.GenerateClientCredentials(System.Byte[],System.Byte[],System.Byte[])">
+            Generates client's credentials given the client's salt, identity and password
+            @param salt The salt used in the client's verifier.
+            @param identity The user's identity (eg. username)
+            @param password The user's password
+            @return Client's public value to send to server
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Client.CalculateSecret(Org.BouncyCastle.Math.BigInteger)">
+            Generates client's verification message given the server's credentials
+            @param serverB The server's credentials
+            @return Client's verification message for the server
+            @throws CryptoException If server's credentials are invalid
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server">
+            Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe.
+            This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper
+            "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest,Org.BouncyCastle.Security.SecureRandom)">
+            Initialises the server to accept a new client authentication attempt
+            @param N The safe prime associated with the client's verifier
+            @param g The group parameter associated with the client's verifier
+            @param v The client's verifier
+            @param digest The digest algorithm associated with the client's verifier
+            @param random For key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.GenerateServerCredentials">
+            Generates the server's credentials that are to be sent to the client.
+            @return The server's public value to the client
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6Server.CalculateSecret(Org.BouncyCastle.Math.BigInteger)">
+            Processes the client's credentials. If valid the shared secret is generated and returned.
+            @param clientA The client's credentials
+            @return A shared secret BigInteger
+            @throws CryptoException If client's credentials are invalid
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator">
+            Generates new SRP verifier for user
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator.Init(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Crypto.IDigest)">
+            Initialises generator to create new verifiers
+            @param N The safe prime to use (see DHParametersGenerator)
+            @param g The group parameter to use (see DHParametersGenerator)
+            @param digest The digest to use. The same digest type will need to be used later for the actual authentication
+            attempt. Also note that the final session key size is dependent on the chosen digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Agreement.Srp.Srp6VerifierGenerator.GenerateVerifier(System.Byte[],System.Byte[],System.Byte[])">
+            Creates a new SRP verifier
+            @param salt The salt to use, generally should be large and random
+            @param identity The user's identifying information (eg. username)
+            @param password The user's password
+            @return A new verifier for use in future SRP authentication
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair">
+            a holding class for public/private parameter pairs.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             basic constructor.
+            
+             @param publicParam a public key parameters object.
+             @param privateParam the corresponding private key parameters.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.Public">
+             return the public key parameters.
+            
+             @return the public key parameters.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair.Private">
+             return the private key parameters.
+            
+             @return the private key parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher">
+            The AEAD block ciphers already handle buffering internally, so this class
+            just takes care of implementing IBufferedCipher methods.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBufferedCipher">
+            <remarks>Block cipher engines are expected to conform to this interface.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBufferedCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">If true the cipher is initialised for encryption,
+            if false for decryption.</param>
+            <param name="parameters">The key and other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBufferedCipher.Reset">
+            <summary>
+            Reset the cipher. After resetting the cipher is in the same state
+            as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBufferedCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetBlockSize">
+             return the blocksize for the underlying cipher.
+            
+             @return the blocksize for the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output, or the input is not block size aligned and should be.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+             @exception DataLengthException if the input is not block size
+             aligned.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAeadBlockCipher.Reset">
+            Reset the buffer and cipher. After resetting the object is in the same
+            state as it was after the last init (if there was one).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher">
+            a buffer wrapper for an asymmetric block cipher, allowing input
+            to be accumulated in a piecemeal fashion until final processing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher)">
+             base constructor.
+            
+             @param cipher the cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.GetBufferPosition">
+             return the amount of data sitting in the buffer.
+            
+             @return the amount of data sitting in the buffer.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the buffer and the underlying cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.DoFinal">
+             process the contents of the buffer using the underlying
+             cipher.
+            
+             @return the result of the encryption/decryption process on the
+             buffer.
+             @exception InvalidCipherTextException if we are given a garbage block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedAsymmetricBlockCipher.Reset">
+            <summary>Reset the buffer</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.BufferedBlockCipher">
+            A wrapper class that allows block ciphers to be used to process data in
+            a piecemeal fashion. The BufferedBlockCipher outputs a block only when the
+            buffer is full and more data is being added, or on a doFinal.
+            <p>
+            Note: in the case where the underlying cipher is either a CFB cipher or an
+            OFB one the last block may not be a multiple of the block size.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.#ctor">
+            constructor for subclasses
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher without padding.
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+             false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetBlockSize">
+             return the blocksize for the underlying cipher.
+            
+             @return the blocksize for the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output, or the input is not block size aligned and should be.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+             @exception DataLengthException if the input is not block size
+             aligned.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.BufferedBlockCipher.Reset">
+            Reset the buffer and cipher. After resetting the object is in the same
+            state as it was after the last init (if there was one).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.CipherKeyGenerator">
+            The base class for symmetric, or secret, cipher key generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.CipherKeyGenerator.Init(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator.
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.CipherKeyGenerator.GenerateKey">
+             Generate a secret key.
+            
+             @return a byte array containing the key value.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.DataLengthException">
+            this exception is thrown if a buffer that is meant to have output
+            copied into it turns out to be too short, or if we've been given
+            insufficient input. In general this exception will Get thrown rather
+            than an ArrayOutOfBounds exception.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.DataLengthException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.DataLengthException.#ctor(System.String)">
+             create a DataLengthException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.GeneralDigest">
+            base implementation of MD4 family style digest as outlined in
+            "Handbook of Applied Cryptography", pages 344 - 347.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDigest">
+            interface that a message digest conforms to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.GetDigestSize">
+             return the size, in bytes, of the digest produced by this message digest.
+            
+             @return the size, in bytes, of the digest produced by this message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.GetByteLength">
+             return the size, in bytes, of the internal buffer used by this digest.
+            
+             @return the size, in bytes, of the internal buffer used by this digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.Update(System.Byte)">
+             update the message digest with a single byte.
+            
+             @param inByte the input byte to be entered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+             update the message digest with a block of bytes.
+            
+             @param input the byte array containing the data.
+             @param inOff the offset into the byte array where the data starts.
+             @param len the length of the data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.DoFinal(System.Byte[],System.Int32)">
+             Close the digest, producing the final digest value. The doFinal
+             call leaves the digest reset.
+            
+             @param output the array the digest is to be copied into.
+             @param outOff the offset into the out array the digest is to start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDigest.Reset">
+            reset the digest back to it's initial state.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IDigest.AlgorithmName">
+             return the algorithm name
+            
+             @return the algorithm name
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Gost3411Digest">
+            implementation of GOST R 34.11-94
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor(System.Byte[])">
+            Constructor to allow use of a particular sbox with GOST28147
+            @see GOST28147Engine#getSBox(String)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Gost3411Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Digests.Gost3411Digest.C2">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.LongDigest">
+            Base class for SHA-384 and SHA-512.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.#ctor">
+            Constructor for variable length word
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.#ctor(Org.BouncyCastle.Crypto.Digests.LongDigest)">
+            Copy constructor.  We are using copy constructors in place
+            of the object.Clone() interface as this interface is not
+            supported by J2ME.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.LongDigest.AdjustByteCounts">
+            adjust the byte counts so that byteCount2 represents the
+            upper long (less 3 bits) word of the byte count.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD2Digest">
+            implementation of MD2
+            as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.DoFinal(System.Byte[],System.Int32)">
+             Close the digest, producing the final digest value. The doFinal
+             call leaves the digest reset.
+            
+             @param out the array the digest is to be copied into.
+             @param outOff the offset into the out array the digest is to start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.Reset">
+            reset the digest back to it's initial state.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.Update(System.Byte)">
+             update the message digest with a single byte.
+            
+             @param in the input byte to be entered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD2Digest.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+             update the message digest with a block of bytes.
+            
+             @param in the byte array containing the data.
+             @param inOff the offset into the byte array where the data starts.
+             @param len the length of the data.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Digests.MD2Digest.AlgorithmName">
+             return the algorithm name
+            
+             @return the algorithm name
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD4Digest">
+            implementation of MD4 as RFC 1320 by R. Rivest, MIT Laboratory for
+            Computer Science and RSA Data Security, Inc.
+            <p>
+            <b>NOTE</b>: This algorithm is only included for backwards compatibility
+            with legacy applications, it's not secure, don't use it for anything new!</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.#ctor(Org.BouncyCastle.Crypto.Digests.MD4Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD4Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.MD5Digest">
+            implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD5Digest.#ctor(Org.BouncyCastle.Crypto.Digests.MD5Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.MD5Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest">
+            implementation of RipeMD128
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD128Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD128Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest">
+            implementation of RipeMD see,
+            http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD160Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD160Digest.Reset">
+            reset the chaining variables to the IV values.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest">
+            <remarks>
+            <p>Implementation of RipeMD256.</p>
+            <p><b>Note:</b> this algorithm offers the same level of security as RipeMD128.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.#ctor">
+            <summary> Standard constructor</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD256Digest)">
+            <summary> Copy constructor.  This will copy the state of the provided
+            message digest.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD256Digest.Reset">
+            <summary> reset the chaining variables to the IV values.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest">
+            <remarks>
+            <p>Implementation of RipeMD 320.</p>
+            <p><b>Note:</b> this algorithm offers the same level of security as RipeMD160.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.#ctor">
+            <summary> Standard constructor</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.#ctor(Org.BouncyCastle.Crypto.Digests.RipeMD320Digest)">
+            <summary> Copy constructor.  This will copy the state of the provided
+            message digest.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.RipeMD320Digest.Reset">
+            <summary> reset the chaining variables to the IV values.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha1Digest">
+             implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349.
+            
+             It is interesting to ponder why the, apart from the extra IV, the other difference here from MD5
+             is the "endienness" of the word processing!
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha1Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha1Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha1Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha224Digest">
+            SHA-224 as described in RFC 3874
+            <pre>
+                    block  word  digest
+            SHA-1   512    32    160
+            SHA-224 512    32    224
+            SHA-256 512    32    256
+            SHA-384 1024   64    384
+            SHA-512 1024   64    512
+            </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha224Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha224Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha256Digest">
+             Draft FIPS 180-2 implementation of SHA-256. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha256Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha256Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha256Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha384Digest">
+             Draft FIPS 180-2 implementation of SHA-384. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha384Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha384Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha384Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.Sha512Digest">
+             Draft FIPS 180-2 implementation of SHA-512. <b>Note:</b> As this is
+             based on a draft this implementation is subject to change.
+            
+             <pre>
+                     block  word  digest
+             SHA-1   512    32    160
+             SHA-256 512    32    256
+             SHA-384 1024   64    384
+             SHA-512 1024   64    512
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha512Digest.#ctor(Org.BouncyCastle.Crypto.Digests.Sha512Digest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.Sha512Digest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.ShortenedDigest">
+            Wrapper class that reduces the output length of a particular digest to
+            only the first n bytes of the digest function.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.ShortenedDigest.#ctor(Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+             Base constructor.
+            
+             @param baseDigest underlying digest to use.
+             @param length length in bytes of the output of doFinal.
+             @exception ArgumentException if baseDigest is null, or length is greater than baseDigest.GetDigestSize().
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.TigerDigest">
+            implementation of Tiger based on:
+            <a href="http://www.cs.technion.ac.il/~biham/Reports/Tiger">
+             http://www.cs.technion.ac.il/~biham/Reports/Tiger</a>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.#ctor">
+            Standard constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.#ctor(Org.BouncyCastle.Crypto.Digests.TigerDigest)">
+            Copy constructor.  This will copy the state of the provided
+            message digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.TigerDigest.Reset">
+            reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest">
+             Implementation of WhirlpoolDigest, based on Java source published by Barreto
+             and Rijmen.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest.#ctor(Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest)">
+            Copy constructor. This will copy the state of the provided message
+            digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Digests.WhirlpoolDigest.Reset">
+            Reset the chaining variables
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding">
+            ISO 9796-1 padding. Note in the light of recent results you should
+            only use this with RSA (rather than the "simpler" Rabin keys) and you
+            should never use it with anything other than a hash (ie. even if the
+            message is small don't sign the message, sign it's hash) or some "random"
+            value. See your favorite search engine for details.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher">
+            <remarks>Base interface for a public/private key block cipher.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.GetInputBlockSize">
+            <returns>The maximum size, in bytes, an input block may be.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.GetOutputBlockSize">
+            <returns>The maximum size, in bytes, an output block will be.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+            <summary>Process a block.</summary>
+            <param name="inBuf">The input buffer.</param>
+            <param name="inOff">The offset into <paramref>inBuf</paramref> that the input block begins.</param>
+            <param name="inLen">The length of the input block.</param>
+            <exception cref="T:Org.BouncyCastle.Crypto.InvalidCipherTextException">Input decrypts improperly.</exception>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">Input is too large for the cipher.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IAsymmetricBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetInputBlockSize">
+            return the input block size. The largest message we can process
+            is (key_size_in_bits + 3)/16, which in our world comes to
+            key_size_in_bytes / 2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetOutputBlockSize">
+            return the maximum possible size for the output.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.SetPadBits(System.Int32)">
+            set the number of bits in the next message to be treated as
+            pad bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.GetPadBits">
+            retrieve the number of pad bits in the last decoded message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.ISO9796d1Encoding.DecodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block is not a valid ISO 9796 bit string
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.OaepEncoding">
+            Optimal Asymmetric Encryption Padding (OAEP) - see PKCS 1 V 2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.decodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block turns out to
+            be badly formatted.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.ItoOSP(System.Int32,System.Byte[])">
+            int to octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.OaepEncoding.maskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            mask generator function, as described in PKCS1v2.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding">
+            this does your basic Pkcs 1 v1.5 padding - whether or not you should be using this
+            depends on your application - see Pkcs1 Version 2 for details.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.StrictLengthEnabledProperty">
+            some providers fail to include the leading zero in PKCS1 encoded blocks. If you need to
+            work with one of these set the system property Org.BouncyCastle.Pkcs1.Strict to false.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher)">
+            Basic constructor.
+            @param cipher
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.DecodeBlock(System.Byte[],System.Int32,System.Int32)">
+            @exception InvalidCipherTextException if the decrypted block is not in Pkcs1 format.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Encodings.Pkcs1Encoding.StrictLengthEnabled">
+            The same effect can be achieved by setting the static property directly
+            <p>
+            The static property is checked during construction of the encoding object, it is set to
+            true by default.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesEngine">
+             an implementation of the AES (Rijndael), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor, they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each, for a total of 2Kbytes,
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first.
+            
+             The slowest version uses no static tables at all and computes the values in each round.
+             </p>
+             <p>
+             This file contains the middle performance version with 2Kbytes of static tables for round precomputation.
+             </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IBlockCipher">
+            <remarks>Base interface for a symmetric key block cipher.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.GetBlockSize">
+            <returns>The block size for this cipher, in bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            <summary>Process a block.</summary>
+            <param name="inBuf">The input buffer.</param>
+            <param name="inOff">The offset into <paramref>inBuf</paramref> that the input block begins.</param>
+            <param name="outBuf">The output buffer.</param>
+            <param name="outOff">The offset into <paramref>outBuf</paramref> to write the output block.</param>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">If input block is wrong size, or outBuf too small.</exception>
+            <returns>The number of bytes processed and produced.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IBlockCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IBlockCipher.IsPartialBlockOkay">
+            <summary>Indicates whether this cipher can handle partial blocks.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesFastEngine">
+             an implementation of the AES (Rijndael)), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor), they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations), 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each), for a total of 2Kbytes),
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first
+            
+             The slowest version uses no static tables at all and computes the values in each round
+             </p>
+             <p>
+             This file contains the fast version with 8Kbytes of static tables for round precomputation
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesFastEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesLightEngine">
+             an implementation of the AES (Rijndael), from FIPS-197.
+             <p>
+             For further details see: <a href="http://csrc.nist.gov/encryption/aes/">http://csrc.nist.gov/encryption/aes/</a>.
+            
+             This implementation is based on optimizations from Dr. Brian Gladman's paper and C code at
+             <a href="http://fp.gladman.plus.com/cryptography_technology/rijndael/">http://fp.gladman.plus.com/cryptography_technology/rijndael/</a>
+            
+             There are three levels of tradeoff of speed vs memory
+             Because java has no preprocessor, they are written as three separate classes from which to choose
+            
+             The fastest uses 8Kbytes of static tables to precompute round calculations, 4 256 word tables for encryption
+             and 4 for decryption.
+            
+             The middle performance version uses only one 256 word table for each, for a total of 2Kbytes,
+             adding 12 rotate operations per round to compute the values contained in the other tables from
+             the contents of the first
+            
+             The slowest version uses no static tables at all and computes the values
+             in each round.
+             </p>
+             <p>
+             This file contains the slowest performance version with no static tables
+             for round precomputation, but it has the smallest foot print.
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.GenerateWorkingKey(System.Byte[],System.Boolean)">
+            Calculate the necessary round keys
+            The number of calculations depends on key size and block size
+            AES specified a fixed block size of 128 bits and key sizes 128/192/256 bits
+            This code is written assuming those are the only possible values
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.AesLightEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an AES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.AesWrapEngine">
+            <remarks>
+            An implementation of the AES Key Wrapper from the NIST Key Wrap Specification.
+            <p/>
+            For further details see: <a href="http://csrc.nist.gov/encryption/kms/key-wrap.pdf">http://csrc.nist.gov/encryption/kms/key-wrap.pdf</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Rfc3394WrapEngine">
+            <remarks>
+            An implementation of the AES Key Wrapper from the NIST Key Wrap
+            Specification as described in RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc3394.txt">http://www.ietf.org/rfc/rfc3394.txt</a>
+            and  <a href="http://csrc.nist.gov/encryption/kms/key-wrap.pdf">http://csrc.nist.gov/encryption/kms/key-wrap.pdf</a>.
+            </remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IWrapper.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.BlowfishEngine">
+            A class that provides Blowfish key encryption operations,
+            such as encoding data and generating keys.
+            All the algorithms herein are from Applied Cryptography
+            and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Blowfish cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.ProcessTable(System.UInt32,System.UInt32,System.UInt32[])">
+            apply the encryption cycle to each value pair in the table.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Encrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.BlowfishEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Decrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaEngine">
+            Camellia - based on RFC 3713.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaLightEngine">
+            Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.CamelliaWrapEngine">
+            <remarks>
+            An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc3657.txt">http://www.ietf.org/rfc/rfc3657.txt</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Cast5Engine">
+             A class that provides CAST key encryption operations,
+             such as encoding data and generating keys.
+            
+             All the algorithms herein are from the Internet RFC's
+            
+             RFC2144 - Cast5 (64bit block, 40-128bit key)
+             RFC2612 - CAST6 (128bit block, 128-256bit key)
+            
+             and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a CAST cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F1(System.UInt32,System.UInt32,System.Int32)">
+             The first of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F2(System.UInt32,System.UInt32,System.Int32)">
+             The second of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.F3(System.UInt32,System.UInt32,System.Int32)">
+             The third of the three processing functions for the
+             encryption and decryption.
+            
+             @param D            the input to be processed
+             @param Kmi        the mask to be used from Km[n]
+             @param Kri        the rotation value to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast5Engine.CAST_Encipher(System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 16 rounds to encrypt the block.
+            
+             @param L0    the LH-32bits of the plaintext block
+             @param R0    the RH-32bits of the plaintext block
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Cast6Engine">
+             A class that provides CAST6 key encryption operations,
+             such as encoding data and generating keys.
+            
+             All the algorithms herein are from the Internet RFC
+            
+             RFC2612 - CAST6 (128bit block, 128-256bit key)
+            
+             and implement a simplified cryptography interface.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param src        The plaintext buffer
+             @param srcIndex    An offset into src
+             @param dst        The ciphertext buffer
+             @param dstIndex    An offset into dst
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.CAST_Encipher(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 12 quad rounds rounds to encrypt the block.
+            
+             @param A    the 00-31  bits of the plaintext block
+             @param B    the 32-63  bits of the plaintext block
+             @param C    the 64-95  bits of the plaintext block
+             @param D    the 96-127 bits of the plaintext block
+             @param result the resulting ciphertext
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Cast6Engine.CAST_Decipher(System.UInt32,System.UInt32,System.UInt32,System.UInt32,System.UInt32[])">
+             Does the 12 quad rounds rounds to decrypt the block.
+            
+             @param A    the 00-31  bits of the ciphertext block
+             @param B    the 32-63  bits of the ciphertext block
+             @param C    the 64-95  bits of the ciphertext block
+             @param D    the 96-127 bits of the ciphertext block
+             @param result the resulting plaintext
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEdeEngine">
+            <remarks>A class that provides a basic DESede (or Triple DES) engine.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEngine">
+            <remarks>A class that provides a basic DES engine.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a DES cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEngine.bytebit">
+            what follows is mainly taken from "Applied Cryptography", by
+            Bruce Schneier, however it also bears great resemblance to Richard
+            Outerbridge's D3DES...
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.GenerateWorkingKey(System.Boolean,System.Byte[])">
+             Generate an integer based working key based on our secret key
+             and what we processing we are planning to do.
+            
+             Acknowledgements for this routine go to James Gillogly and Phil Karn.
+                     (whoever, and wherever they are!).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEngine.DesFunc(System.Int32[],System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            the DES engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a DESede cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine">
+                * Wrap keys according to
+                * <a href="http://www.ietf.org/internet-drafts/draft-ietf-smime-key-wrap-01.txt">
+                * draft-ietf-smime-key-wrap-01.txt</a>.
+                * <p>
+                * Note:
+                * <ul>
+                * <li>this is based on a draft, and as such is subject to change - don't use this class for anything requiring long term storage.</li>
+                * <li>if you are using this to wrap triple-des keys you need to set the
+                * parity bits on the key and, if it's a two-key triple-des key, pad it
+                * yourself.</li>
+                * </ul>
+            	* </p>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.engine">
+            Field engine 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.param">
+            Field param 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.paramPlusIV">
+            Field paramPlusIV 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.iv">
+            Field iv 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.forWrapping">
+            Field forWrapping 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.IV2">
+            Field IV2           
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Method init
+            
+             @param forWrapping
+             @param param
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Wrap(System.Byte[],System.Int32,System.Int32)">
+             Method wrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.Unwrap(System.Byte[],System.Int32,System.Int32)">
+             Method unwrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.CalculateCmsKeyChecksum(System.Byte[])">
+             Some key wrap algorithms make use of the Key Checksum defined
+             in CMS [CMS-Algorithms]. This is used to provide an integrity
+             check value for the key being wrapped. The algorithm is
+            
+             - Compute the 20 octet SHA-1 hash on the key being wrapped.
+             - Use the first 8 octets of this hash as the checksum value.
+            
+             @param key
+             @return
+             @throws Exception
+             @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.CheckCmsKeyChecksum(System.Byte[],System.Byte[])">
+            @param key
+            @param checksum
+            @return
+            @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Engines.DesEdeWrapEngine.AlgorithmName">
+             Method GetAlgorithmName
+            
+             @return
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.ElGamalEngine">
+            this does your basic ElGamal algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the ElGamal engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary ElGamal key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For ElGamal this is always one byte less than the size of P on
+             encryption, and twice the length as the size of P on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For ElGamal this is always one byte less than the size of P on
+             decryption, and twice the length as the size of P on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.ElGamalEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic ElGamal algorithm.
+            
+             @param in the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param length the length of the data to be processed.
+             @return the result of the ElGamal process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Gost28147Engine">
+            implementation of GOST 28147-89
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.#ctor">
+            standard constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an Gost28147 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Gost28147Engine.GetSBox(System.String)">
+            Return the S-Box associated with SBoxName
+            @param sBoxName name of the S-Box
+            @return byte array representing the S-Box
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.HC128Engine">
+             HC-128 is a software-efficient stream cipher created by Hongjun Wu. It
+             generates keystream from a 128-bit secret key and a 128-bit initialization
+             vector.
+             <p>
+             http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc128_p3.pdf
+             </p><p>
+             It is a third phase candidate in the eStream contest, and is patent-free.
+             No attacks are known as of today (April 2007). See
+            
+             http://www.ecrypt.eu.org/stream/hcp3.html
+             </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IStreamCipher">
+            <summary>The interface stream ciphers conform to.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <param name="forEncryption">If true the cipher is initialised for encryption,
+            if false for decryption.</param>
+            <param name="parameters">The key and other data required by the cipher.</param>
+            <exception cref="T:System.ArgumentException">
+            If the parameters argument is inappropriate.
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.ReturnByte(System.Byte)">
+            <summary>encrypt/decrypt a single byte returning the result.</summary>
+            <param name="input">the byte to be processed.</param>
+            <returns>the result of processing the input byte.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process a block of bytes from <c>input</c> putting the result into <c>output</c>.
+            </summary>
+            <param name="input">The input byte array.</param>
+            <param name="inOff">
+            The offset into <c>input</c> where the data to be processed starts.
+            </param>
+            <param name="length">The number of bytes to be processed.</param>
+            <param name="output">The output buffer the processed bytes go into.</param>
+            <param name="outOff">
+            The offset into <c>output</c> the processed data starts at.
+            </param>
+            <exception cref="T:Org.BouncyCastle.Crypto.DataLengthException">If the output buffer is too small.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IStreamCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IStreamCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.HC128Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise a HC-128 cipher.
+            
+             @param forEncryption whether or not we are for encryption. Irrelevant, as
+                                  encryption and decryption are the same.
+             @param params        the parameters required to set up the cipher.
+             @throws ArgumentException if the params argument is
+                                              inappropriate (ie. the key is not 128 bit long).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.HC256Engine">
+            HC-256 is a software-efficient stream cipher created by Hongjun Wu. It 
+            generates keystream from a 256-bit secret key and a 256-bit initialization 
+            vector.
+            <p>
+            http://www.ecrypt.eu.org/stream/p3ciphers/hc/hc256_p3.pdf
+            </p><p>
+            Its brother, HC-128, is a third phase candidate in the eStream contest.
+            The algorithm is patent-free. No attacks are known as of today (April 2007). 
+            See
+            
+            http://www.ecrypt.eu.org/stream/hcp3.html
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.HC256Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise a HC-256 cipher.
+            
+             @param forEncryption whether or not we are for encryption. Irrelevant, as
+                                  encryption and decryption are the same.
+             @param params        the parameters required to set up the cipher.
+             @throws ArgumentException if the params argument is
+                                              inappropriate (ie. the key is not 256 bit long).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.IesEngine">
+            support class for constructing intergrated encryption ciphers
+            for doing basic message exchanges on top of key agreement ciphers
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.#ctor(Org.BouncyCastle.Crypto.IBasicAgreement,Org.BouncyCastle.Crypto.IDerivationFunction,Org.BouncyCastle.Crypto.IMac)">
+             set up for use with stream mode, where the key derivation function
+             is used to provide a stream of bytes to xor with the message.
+            
+             @param agree the key agreement used as the basis for the encryption
+             @param kdf the key derivation function used for byte generation
+             @param mac the message authentication code generator for the message
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.#ctor(Org.BouncyCastle.Crypto.IBasicAgreement,Org.BouncyCastle.Crypto.IDerivationFunction,Org.BouncyCastle.Crypto.IMac,Org.BouncyCastle.Crypto.BufferedBlockCipher)">
+             set up for use in conjunction with a block cipher to handle the
+             message.
+            
+             @param agree the key agreement used as the basis for the encryption
+             @param kdf the key derivation function used for byte generation
+             @param mac the message authentication code generator for the message
+             @param cipher the cipher to used for encrypting the message
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IesEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters,Org.BouncyCastle.Crypto.ICipherParameters,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the encryptor.
+            
+             @param forEncryption whether or not this is encryption/decryption.
+             @param privParam our private key parameters
+             @param pubParam the recipient's/sender's public key parameters
+             @param param encoding and derivation parameters.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.IsaacEngine">
+            Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count).
+            see: http://www.burtleburtle.net/bob/rand/isaacafa.html
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.IsaacEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise an ISAAC cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine">
+            NaccacheStern Engine. For details on this cipher, please see
+            http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initializes this algorithm. Must be called before all other Functions.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#init(bool,
+                  org.bouncycastle.crypto.CipherParameters)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.GetInputBlockSize">
+             Returns the input block size of this algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetInputBlockSize()
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.GetOutputBlockSize">
+             Returns the output block size of this algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#GetOutputBlockSize()
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single Block using the Naccache-Stern algorithm.
+            
+             @see org.bouncycastle.crypto.AsymmetricBlockCipher#ProcessBlock(byte[],
+                  int, int)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.Encrypt(Org.BouncyCastle.Math.BigInteger)">
+             Encrypts a BigInteger aka Plaintext with the public key.
+            
+             @param plain
+                        The BigInteger to encrypt
+             @return The byte[] representation of the encrypted BigInteger (i.e.
+                     crypted.toByteArray())
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.AddCryptedBlocks(System.Byte[],System.Byte[])">
+             Adds the contents of two encrypted blocks mod sigma
+            
+             @param block1
+                        the first encrypted block
+             @param block2
+                        the second encrypted block
+             @return encrypt((block1 + block2) mod sigma)
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.ProcessData(System.Byte[])">
+             Convenience Method for data exchange with the cipher.
+            
+             Determines blocksize and splits data to blocksize.
+            
+             @param data the data to be processed
+             @return the data after it went through the NaccacheSternEngine.
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NaccacheSternEngine.chineseRemainder(System.Collections.IList,System.Collections.IList)">
+             Computes the integer x that is expressed through the given primes and the
+             congruences with the chinese remainder theorem (CRT).
+            
+             @param congruences
+                        the congruences c_i
+             @param primes
+                        the primes p_i
+             @return an integer x for that x % p_i == c_i
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NoekeonEngine">
+            A Noekeon engine, using direct-key mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.#ctor">
+            Create an instance of the Noekeon encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.NoekeonEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.NullEngine">
+            The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting.
+            Provided for the sake of completeness.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC2Engine">
+            an implementation of RC2 as described in RFC 2268
+                 "A Description of the RC2(r) Encryption Algorithm" R. Rivest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC2 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2Engine.RotateWordLeft(System.Int32,System.Int32)">
+            return the result rotating the 16 bit number in x left by y
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine">
+            Wrap keys according to RFC 3217 - RC2 mechanism
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.engine">
+            Field engine 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.parameters">
+            Field param 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.paramPlusIV">
+            Field paramPlusIV 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.iv">
+            Field iv 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.forWrapping">
+            Field forWrapping 
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.IV2">
+            Field IV2           
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Method init
+            
+             @param forWrapping
+             @param param
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Wrap(System.Byte[],System.Int32,System.Int32)">
+             Method wrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.Unwrap(System.Byte[],System.Int32,System.Int32)">
+             Method unwrap
+            
+             @param in
+             @param inOff
+             @param inLen
+             @return
+             @throws InvalidCipherTextException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.CalculateCmsKeyChecksum(System.Byte[])">
+             Some key wrap algorithms make use of the Key Checksum defined
+             in CMS [CMS-Algorithms]. This is used to provide an integrity
+             check value for the key being wrapped. The algorithm is
+            
+             - Compute the 20 octet SHA-1 hash on the key being wrapped.
+             - Use the first 8 octets of this hash as the checksum value.
+            
+             @param key
+             @return
+             @throws Exception
+             @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.CheckCmsKeyChecksum(System.Byte[],System.Byte[])">
+            @param key
+            @param checksum
+            @return
+            @see http://www.w3.org/TR/xmlenc-core/#sec-CMSKeyChecksum
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Engines.RC2WrapEngine.AlgorithmName">
+             Method GetAlgorithmName
+            
+             @return
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC4Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC4 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC532Engine">
+            The specification for RC5 came from the <code>RC5 Encryption Algorithm</code>
+            publication in RSA CryptoBytes, Spring of 1995.
+            <em>http://www.rsasecurity.com/rsalabs/cryptobytes</em>.
+            <p>
+            This implementation has a word size of 32 bits.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.#ctor">
+            Create an instance of the RC5 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-32 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given block starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param  in     in byte buffer containing data to encrypt
+             @param  inOff  offset into src buffer
+             @param  out     out buffer where encrypted data is written
+             @param  outOff  offset into out buffer
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.RotateLeft(System.Int32,System.Int32)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(32)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % 32
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC532Engine.RotateRight(System.Int32,System.Int32)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(32)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % 32
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC564Engine">
+            The specification for RC5 came from the <code>RC5 Encryption Algorithm</code>
+            publication in RSA CryptoBytes, Spring of 1995.
+            <em>http://www.rsasecurity.com/rsalabs/cryptobytes</em>.
+            <p>
+            This implementation is set to work with a 64 bit word size.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.#ctor">
+            Create an instance of the RC5 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-64 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given block starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+            
+             @param  in      in byte buffer containing data to encrypt
+             @param  inOff   offset into src buffer
+             @param  out     out buffer where encrypted data is written
+             @param  outOff  offset into out buffer
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.RotateLeft(System.Int64,System.Int64)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param  x  word to rotate
+             @param  y    number of bits to rotate % wordSize
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC564Engine.RotateRight(System.Int64,System.Int64)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RC6Engine">
+            An RC6 engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.#ctor">
+            Create an instance of the RC6 encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a RC5-32 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.SetKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param inKey the key to be used
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.RotateLeft(System.Int32,System.Int32)">
+             Perform a left "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RC6Engine.RotateRight(System.Int32,System.Int32)">
+             Perform a right "spin" of the word. The rotation of the given
+             word <em>x</em> is rotated left by <em>y</em> bits.
+             Only the <em>lg(wordSize)</em> low-order bits of <em>y</em>
+             are used to determine the rotation amount. Here it is
+             assumed that the wordsize used is a power of 2.
+            
+             @param x word to rotate
+             @param y number of bits to rotate % wordSize
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Rfc3211WrapEngine">
+            an implementation of the RFC 3211 Key Wrap
+            Specification.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RijndaelEngine">
+            an implementation of Rijndael, based on the documentation and reference implementation
+            by Paulo Barreto, Vincent Rijmen, for v2.0 August '99.
+            <p>
+            Note: this implementation is based on information prior to readonly NIST publication.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Mul0x2(System.Int32)">
+            multiply two elements of GF(2^m)
+            needed for MixColumn and InvMixColumn
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.KeyAddition(System.Int64[])">
+            xor corresponding text input and round key input bytes
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.ShiftRow(System.Byte[])">
+            Row 0 remains unchanged
+            The other three rows are shifted a variable amount
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Substitution(System.Byte[])">
+            Replace every byte of the input by the byte at that place
+            in the nonlinear S-box
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.MixColumn">
+            Mix the bytes of every column in a linear way
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.InvMixColumn">
+            Mix the bytes of every column in a linear way
+            This is the opposite operation of Mixcolumn
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.GenerateWorkingKey(System.Byte[])">
+            Calculate the necessary round keys
+            The number of calculations depends on keyBits and blockBits
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.#ctor">
+            default constructor - 128 bit block size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.#ctor(System.Int32)">
+             basic constructor - set the cipher up for a given blocksize
+            
+             @param blocksize the blocksize in bits, must be 128, 192, or 256.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RijndaelEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Rijndael cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine">
+            this does your basic RSA algorithm with blinding
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindedEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic RSA algorithm.
+            
+             @param inBuf the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine">
+            This does your basic RSA Chaum's blinding and unblinding as outlined in
+            "Handbook of Applied Cryptography", page 475. You need to use this if you are
+            trying to get another party to generate signatures without them being aware
+            of the message they are signing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the blinding engine.
+            
+             @param forEncryption true if we are encrypting (blinding), false otherwise.
+             @param param         the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaBlindingEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the RSA blinding algorithm.
+            
+             @param in    the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @throws DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine">
+            this does your basic RSA algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaCoreEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.RsaEngine">
+            this does your basic RSA algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the RSA engine.
+            
+             @param forEncryption true if we are encrypting, false otherwise.
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.GetInputBlockSize">
+             Return the maximum size for an input block to this engine.
+             For RSA this is always one byte less than the key size on
+             encryption, and the same length as the key size on decryption.
+            
+             @return maximum size for an input block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.GetOutputBlockSize">
+             Return the maximum size for an output block to this engine.
+             For RSA this is always one byte less than the key size on
+             decryption, and the same length as the key size on encryption.
+            
+             @return maximum size for an output block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.RsaEngine.ProcessBlock(System.Byte[],System.Int32,System.Int32)">
+             Process a single block using the basic RSA algorithm.
+            
+             @param inBuf the input array.
+             @param inOff the offset into the input buffer where the data starts.
+             @param inLen the length of the data to be processed.
+             @return the result of the RSA process.
+             @exception DataLengthException the input block is too large.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.Salsa20Engine">
+            Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.Salsa20Engine.StateSize">
+            Constants 
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.Salsa20Engine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Salsa20 cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SeedEngine">
+            Implementation of the SEED algorithm as described in RFC 4009
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SeedWrapEngine">
+            <remarks>
+            An implementation of the SEED key wrapper based on RFC 4010/RFC 3394.
+            <p/>
+            For further details see: <a href="http://www.ietf.org/rfc/rfc4010.txt">http://www.ietf.org/rfc/rfc4010.txt</a>.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SerpentEngine">
+                * Serpent is a 128-bit 32-round block cipher with variable key lengths,
+                * including 128, 192 and 256 bit keys conjectured to be at least as
+                * secure as three-key triple-DES.
+                * <p>
+                * Serpent was designed by Ross Anderson, Eli Biham and Lars Knudsen as a
+                * candidate algorithm for the NIST AES Quest.>
+            	* </p>
+                * <p>
+                * For full details see the <a href="http://www.cl.cam.ac.uk/~rja14/serpent.html">The Serpent home page</a>
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Serpent cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.MakeWorkingKey(System.Byte[])">
+             Expand a user-supplied key material into a session key.
+            
+             @param key  The user-key bytes (multiples of 4) to use.
+             @exception ArgumentException
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt one block of plaintext.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Decrypt one block of ciphertext.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb0(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib0(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb1(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib1(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb2(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib2(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb3(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib3(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb4(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib4(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb5(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib5(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb6(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib6(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Sb7(System.Int32,System.Int32,System.Int32,System.Int32)">
+            S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.Ib7(System.Int32,System.Int32,System.Int32,System.Int32)">
+            InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.LT">
+            Apply the linear transformation to the register set.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SerpentEngine.InverseLT">
+            Apply the inverse of the linear transformation to the register set.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.SkipjackEngine">
+            a class that provides a basic SKIPJACK engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a SKIPJACK cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.G(System.Int32,System.Int32)">
+            The G permutation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.SkipjackEngine.H(System.Int32,System.Int32)">
+            the inverse of the G permutation.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.TeaEngine">
+            An TEA engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.#ctor">
+            Create an instance of the TEA encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TeaEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.TwofishEngine">
+             A class that provides Twofish encryption operations.
+            
+             This Java implementation is based on the Java reference
+             implementation provided by Bruce Schneier and developed
+             by Raif S. Naffah.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.TwofishEngine.P_00">
+            Define the fixed p0/p1 permutations used in keyed S-box lookup.
+            By changing the following constant definitions, the S-boxes will
+            automatically Get changed in the Twofish engine.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Engines.TwofishEngine.gSubKeys">
+            gSubKeys[] and gSBox[] are eventually used in the
+            encryption and decryption methods.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise a Twofish cipher.
+            
+             @param forEncryption whether or not we are for encryption.
+             @param parameters the parameters required to set up the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Encrypt the given input starting at the given offset and place
+             the result in the provided buffer starting at the given offset.
+             The input will be an exact multiple of our blocksize.
+            
+             encryptBlock uses the pre-calculated gSBox[] and subKey[]
+             arrays.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+            Decrypt the given input starting at the given offset and place
+            the result in the provided buffer starting at the given offset.
+            The input will be an exact multiple of our blocksize.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.RS_MDS_Encode(System.Int32,System.Int32)">
+             Use (12, 8) Reed-Solomon code over GF(256) to produce
+             a key S-box 32-bit entity from 2 key material 32-bit
+             entities.
+            
+             @param    k0 first 32-bit entity
+             @param    k1 second 32-bit entity
+             @return     Remainder polynomial Generated using RS code
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.TwofishEngine.RS_rem(System.Int32)">
+                    * Reed-Solomon code parameters: (12,8) reversible code:
+            		* <p>
+                    * <pre>
+                    * G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
+                    * </pre>
+                    * where a = primitive root of field generator 0x14D
+            		* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.VmpcEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            initialise a VMPC cipher.
+            
+            @param forEncryption
+               whether or not we are for encryption.
+            @param params
+               the parameters required to set up the cipher.
+            @exception ArgumentException
+               if the params argument is inappropriate.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Engines.XteaEngine">
+            An XTEA engine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.#ctor">
+            Create an instance of the TEA encryption algorithm
+            and set some defaults
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise
+            
+             @param forEncryption whether or not we are for encryption.
+             @param params the parameters required to set up the cipher.
+             @exception ArgumentException if the params argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Engines.XteaEngine.setKey(System.Byte[])">
+             Re-key the cipher.
+            
+             @param  key  the key to be used
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator">
+            Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on ISO 18033/P1363a.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.#ctor(System.Int32,Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF Parameters generator.
+            
+             @param counterStart value of counter.
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.GenerateBytes(System.Byte[],System.Int32,System.Int32)">
+             fill len bytes of the output buffer with bytes generated from
+             the derivation function.
+            
+             @throws ArgumentException if the size of the request will cause an overflow.
+             @throws DataLengthException if the out buffer is too small.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Generators.BaseKdfBytesGenerator.Digest">
+            return the underlying digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DesKeyGenerator.engineInit(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator - if strength is set to zero
+             the key generated will be 64 bits in size, otherwise
+             strength can be 64 or 56 bits (if you don't count the parity bits).
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DesEdeKeyGenerator.engineInit(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             initialise the key generator - if strength is set to zero
+             the key Generated will be 192 bits in size, otherwise
+             strength can be 128 or 192 (or 112 or 168 if you don't count
+             parity bits), depending on whether you wish to do 2-key or 3-key
+             triple DES.
+            
+             @param param the parameters to be used for key generation
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DHBasicKeyPairGenerator">
+             a basic Diffie-Hellman key pair generator.
+            
+             This generates keys consistent for use with the basic algorithm for
+             Diffie-Hellman.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator">
+            interface that a public/private key pair generator should conform to.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator.Init(Org.BouncyCastle.Crypto.KeyGenerationParameters)">
+             intialise the key pair generator.
+            
+             @param the parameters the key pair is to be initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IAsymmetricCipherKeyPairGenerator.GenerateKeyPair">
+             return an AsymmetricCipherKeyPair containing the Generated keys.
+            
+             @return an AsymmetricCipherKeyPair containing the Generated keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DHKeyPairGenerator">
+             a Diffie-Hellman key pair generator.
+            
+             This generates keys consistent for use in the MTI/A0 key agreement protocol
+             as described in "Handbook of Applied Cryptography", Pages 516-519.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DHParametersGenerator.GenerateParameters">
+            which Generates the p and g values from the given parameters,
+            returning the DHParameters object.
+            <p>
+            Note: can take a while...</p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DsaKeyPairGenerator">
+                 * a DSA key pair generator.
+                 *
+                 * This Generates DSA keys in line with the method described
+            	 * in <i>FIPS 186-3 B.1 FFC Key Pair Generation</i>.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator">
+            Generate suitable parameters for DSA, in line with FIPS 186-2.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.Init(System.Int32,System.Int32,Org.BouncyCastle.Security.SecureRandom)">
+             initialise the key generator.
+            
+             @param size size of the key (range 2^512 -> 2^1024 - 64 bit increments)
+             @param certainty measure of robustness of prime (for FIPS 186-2 compliance this should be at least 80).
+             @param random random byte source.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.GenerateParameters">
+            which Generates the p and g values from the given parameters,
+            returning the DsaParameters object.
+            <p>
+            Note: can take a while...</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.DsaParametersGenerator.GenerateParameters_FIPS186_3">
+            generate suitable parameters for DSA, in line with
+            <i>FIPS 186-3 A.1 Generation of the FFC Primes p and q</i>.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.ECKeyPairGenerator.GenerateKeyPair">
+            Given the domain parameters this routine Generates an EC key
+            pair in accordance with X9.62 section 5.2.1 pages 26, 27.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.ElGamalKeyPairGenerator">
+            a ElGamal key pair generator.
+            <p>
+            This Generates keys consistent for use with ElGamal as described in
+            page 164 of "Handbook of Applied Cryptography".</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.ElGamalParametersGenerator.GenerateParameters">
+                     * which Generates the p and g values from the given parameters,
+                     * returning the ElGamalParameters object.
+                     * <p>
+                     * Note: can take a while...
+            		 * </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Gost3410KeyPairGenerator">
+            a GOST3410 key pair generator.
+            This generates GOST3410 keys in line with the method described
+            in GOST R 34.10-94.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator">
+            generate suitable parameters for GOST3410.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.Init(System.Int32,System.Int32,Org.BouncyCastle.Security.SecureRandom)">
+             initialise the key generator.
+            
+             @param size size of the key
+             @param typeProcedure type procedure A,B = 1;  A',B' - else
+             @param random random byte source.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.procedure_C(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Procedure C
+            procedure generates the a value from the given p,q,
+            returning the a value.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Gost3410ParametersGenerator.GenerateParameters">
+            which generates the p , q and a values from the given parameters,
+            returning the Gost3410Parameters object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Kdf1BytesGenerator">
+            KFD2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on IEEE P1363/ISO 18033.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Kdf1BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF1 byte generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Kdf2BytesGenerator">
+            KDF2 generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033
+            <br/>
+            This implementation is based on IEEE P1363/ISO 18033.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Kdf2BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a KDF2 bytes generator. Generates key material
+             according to IEEE P1363 or ISO 18033 depending on the initialisation.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator">
+            Generator for MGF1 as defined in Pkcs 1v2
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+            @param digest the digest to be used as the source of Generated bytes
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.ItoOSP(System.Int32,System.Byte[])">
+            int to octet string.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.GenerateBytes(System.Byte[],System.Int32,System.Int32)">
+             fill len bytes of the output buffer with bytes Generated from
+             the derivation function.
+            
+             @throws DataLengthException if the out buffer is too small.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Generators.Mgf1BytesGenerator.Digest">
+            return the underlying digest.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator">
+             Key generation parameters for NaccacheStern cipher. For details on this cipher, please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator.permuteList(System.Collections.IList,Org.BouncyCastle.Security.SecureRandom)">
+             Generates a permuted ArrayList from the original one. The original List
+             is not modified
+            
+             @param arr
+                        the ArrayList to be permuted
+             @param rand
+                        the source of Randomness for permutation
+             @return a new ArrayList with the permuted elements.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.NaccacheSternKeyPairGenerator.findFirstPrimes(System.Int32)">
+             Finds the first 'count' primes starting with 3
+            
+             @param count
+                        the number of primes to find
+             @return a vector containing the found primes as Integer
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator">
+            Generator for PBE derived keys and ivs as usd by OpenSSL.
+            <p>
+            The scheme is a simple extension of PKCS 5 V2.0 Scheme 1 using MD5 with an
+            iteration count of 1.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.PbeParametersGenerator">
+            super class for all Password Based Encyrption (Pbe) parameter generator classes.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Init(System.Byte[],System.Byte[],System.Int32)">
+             initialise the Pbe generator.
+            
+             @param password the password converted into bytes (see below).
+             @param salt the salt to be mixed with the password.
+             @param iterationCount the number of iterations the "mixing" function
+             is to be applied for.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GetPassword">
+             return the password byte array.
+            
+             @return the password byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GetSalt">
+             return the salt byte array.
+            
+             @return the salt byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate derived parameters for a key of length keySize.
+            
+             @param keySize the length, in bits, of the key required.
+             @return a parameters object representing a key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate derived parameters for a key of length keySize, and
+             an initialisation vector (IV) of length ivSize.
+            
+             @param keySize the length, in bits, of the key required.
+             @param ivSize the length, in bits, of the iv required.
+             @return a parameters object representing a key and an IV.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate derived parameters for a key of length keySize, specifically
+             for use with a MAC.
+            
+             @param keySize the length, in bits, of the key required.
+             @return a parameters object representing a key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs5PasswordToBytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             Pkcs5 (ascii, no padding)
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs5PasswordToUtf8Bytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             PKCS5 (UTF-8, no padding)
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.PbeParametersGenerator.Pkcs12PasswordToBytes(System.Char[])">
+             converts a password to a byte array according to the scheme in
+             Pkcs12 (unicode, big endian, 2 zero pad bytes at the end).
+            
+             @param password a character array representing the password.
+             @return a byte array representing the password.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.PbeParametersGenerator.IterationCount">
+             return the iteration count.
+            
+             @return the iteration count.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.#ctor">
+            Construct a OpenSSL Parameters generator. 
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.Init(System.Byte[],System.Byte[])">
+            Initialise - note the iteration count for this algorithm is fixed at 1.
+            
+            @param password password to use.
+            @param salt salt to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedKey(System.Int32)">
+            the derived key function, the ith hash of the password and the salt.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+             @exception ArgumentException if keySize + ivSize is larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.OpenSslPbeParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 12 V1.0.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-12/index.html">
+            RSA's Pkcs12 Page</a>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a Pkcs 12 Parameters generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+             @exception ArgumentException if an unknown digest is passed in.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.Adjust(System.Byte[],System.Int32,System.Byte[])">
+            add a + b + 1, returning the result in a. The a value is treated
+            as a BigInteger of length (b.Length * 8) bits. The result is
+            modulo 2^b.Length in case of overflow.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedKey(System.Int32,System.Int32)">
+            generation of a derived key ala Pkcs12 V1.0.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs12ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 1.
+            Note this generator is limited to the size of the hash produced by the
+            digest used to drive it.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html">
+            RSA's Pkcs5 Page</a>
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+             Construct a Pkcs 5 Scheme 1 Parameters generator.
+            
+             @param digest the digest to be used as the source of derived keys.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedKey">
+            the derived key function, the ith hash of the mPassword and the mSalt.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the mPassword, mSalt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the mPassword, mSalt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+             @exception ArgumentException if keySize + ivSize is larger than the base hash size.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S1ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the mPassword,
+             mSalt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+             @exception ArgumentException if the key length larger than the base hash size.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator">
+            Generator for Pbe derived keys and ivs as defined by Pkcs 5 V2.0 Scheme 2.
+            This generator uses a SHA-1 HMac as the calculation function.
+            <p>
+            The document this implementation is based on can be found at
+            <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/index.html">
+            RSA's Pkcs5 Page</a></p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.#ctor">
+            construct a Pkcs5 Scheme 2 Parameters generator.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedParameters(System.Int32)">
+             Generate a key parameter derived from the password, salt, and iteration
+             count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedParameters(System.Int32,System.Int32)">
+             Generate a key with initialisation vector parameter derived from
+             the password, salt, and iteration count we are currently initialised
+             with.
+            
+             @param keySize the size of the key we want (in bits)
+             @param ivSize the size of the iv we want (in bits)
+             @return a ParametersWithIV object.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.Pkcs5S2ParametersGenerator.GenerateDerivedMacParameters(System.Int32)">
+             Generate a key parameter for use with a MAC derived from the password,
+             salt, and iteration count we are currently initialised with.
+            
+             @param keySize the size of the key we want (in bits)
+             @return a KeyParameter object.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator">
+            Generate a random factor suitable for use with RSA blind signatures
+            as outlined in Chaum's blinding and unblinding as outlined in
+            "Handbook of Applied Cryptography", page 475.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the factor generator
+            
+             @param param the necessary RSA key parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Generators.RsaBlindingFactorGenerator.GenerateBlindingFactor">
+             Generate a suitable blind factor for the public key the generator was initialised with.
+            
+             @return a random blind factor
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Generators.RsaKeyPairGenerator">
+            an RSA key pair generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IDsa">
+            interface for classes implementing the Digital Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the signer for signature generation or signature
+             verification.
+            
+             @param forSigning true if we are generating a signature, false
+             otherwise.
+             @param param key parameters for signature generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.GenerateSignature(System.Byte[])">
+             sign the passed in message (usually the output of a hash function).
+            
+             @param message the message to be signed.
+             @return two big integers representing the r and s values respectively.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IDsa.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             verify the message message against the signature values r and s.
+            
+             @param message the message that was supposed to have been signed.
+             @param r the r signature value.
+             @param s the s signature value.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.IMac">
+            The base interface for implementations of message authentication codes (MACs).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Init(Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the MAC.
+            
+             @param param the key and other data required by the MAC.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.GetMacSize">
+             Return the block size for this MAC (in bytes).
+            
+             @return the block size for this MAC in bytes.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Update(System.Byte)">
+             add a single byte to the mac for processing.
+            
+             @param in the byte to be processed.
+             @exception InvalidOperationException if the MAC is not initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            @param in the array containing the input.
+            @param inOff the index in the array the data begins at.
+            @param len the length of the input starting at inOff.
+            @exception InvalidOperationException if the MAC is not initialised.
+            @exception DataLengthException if there isn't enough data in in.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.DoFinal(System.Byte[],System.Int32)">
+            Compute the final stage of the MAC writing the output to the out
+            parameter.
+            <p>
+            doFinal leaves the MAC in the same state it was after the last init.
+            </p>
+            @param out the array the MAC is to be output to.
+            @param outOff the offset into the out buffer the output is to start at.
+            @exception DataLengthException if there isn't enough space in out.
+            @exception InvalidOperationException if the MAC is not initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.IMac.Reset">
+            Reset the MAC. At the end of resetting the MAC should be in the
+            in the same state it was after the last init (if there was one).
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.IMac.AlgorithmName">
+             Return the name of the algorithm the MAC implements.
+            
+             @return the name of the algorithm the MAC implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.InvalidCipherTextException">
+            this exception is thrown whenever we find something we don't expect in a
+            message.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.InvalidCipherTextException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.InvalidCipherTextException.#ctor(System.String)">
+             create a InvalidCipherTextException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the signer for signing or verification.
+            
+             @param forSigning true if for signing, false otherwise
+             @param param necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described
+            in the passed in array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISigner.Reset">
+            reset the internal state
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.ISigner.AlgorithmName">
+             Return the name of the algorithm the signer implements.
+            
+             @return the name of the algorithm the signer implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.ISignerWithRecovery">
+            Signer with message recovery.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage">
+             Returns true if the signer has recovered the full message as
+             part of signature verification.
+            
+             @return true if full message recovered.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage">
+             Returns a reference to what message was recovered (if any).
+            
+             @return full/partial message, null if nothing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.UpdateWithRecoveredMessage(System.Byte[])">
+             Perform an update with the recovered message before adding any other data. This must
+             be the first update method called, and calling it will result in the signer assuming
+             that further calls to update will include message content past what is recoverable.
+            
+             @param signature the signature that we are in the process of verifying.
+             @throws IllegalStateException
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.KeyGenerationParameters">
+            The base class for parameters to key generators.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.KeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32)">
+             initialise the generator with a source of randomness
+             and a strength (in bits).
+            
+             @param random the random byte source.
+             @param strength the size, in bits, of the keys we want to produce.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.KeyGenerationParameters.Random">
+             return the random source associated with this
+             generator.
+            
+             @return the generators random source.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.KeyGenerationParameters.Strength">
+             return the bit strength for keys produced by this generator,
+            
+             @return the strength of the keys this generator produces (in bits).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac">
+            standard CBC Block Cipher MAC - if no padding is specified the default of
+            pad of zeroes is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CBC block cipher. This will produce an
+             authentication code half the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a standard MAC based on a CBC block cipher. This will produce an
+             authentication code half the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CbcBlockCipherMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher">
+            implements a Cipher-FeedBack (CFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Macs.MacCFBBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CFB"
+             and the block size in bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CFB block cipher. This will produce an
+             authentication code half the length of the block size of the cipher, with
+             the CFB mode set to 8 bits.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a standard MAC based on a CFB block cipher. This will produce an
+             authentication code half the length of the block size of the cipher, with
+             the CFB mode set to 8 bits.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,System.Int32)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CFB mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param cfbBitSize the size of an output block produced by the CFB mode.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses CFB mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param cfbBitSize the size of an output block produced by the CFB mode.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding a padding to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CfbBlockCipherMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.CMac">
+            CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html
+            <p>
+            CMAC is analogous to OMAC1 - see also en.wikipedia.org/wiki/CMAC
+            </p><p>
+            CMAC is a NIST recomendation - see 
+            csrc.nist.gov/CryptoToolkit/modes/800-38_Series_Publications/SP800-38B.pdf
+            </p><p>
+            CMAC/OMAC1 is a blockcipher-based message authentication code designed and
+            analyzed by Tetsu Iwata and Kaoru Kurosawa.
+            </p><p>
+            CMAC/OMAC1 is a simple variant of the CBC MAC (Cipher Block Chaining Message 
+            Authentication Code). OMAC stands for One-Key CBC MAC.
+            </p><p>
+            It supports 128- or 64-bits block ciphers, with any key size, and returns
+            a MAC with dimension less or equal to the block size of the underlying 
+            cipher.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a standard MAC based on a CBC block cipher (64 or 128 bit block).
+             This will produce an authentication code the length of the block size
+             of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             create a standard MAC based on a block cipher with the size of the
+             MAC been given in bits.
+             <p/>
+             Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+             or 16 bits if being used as a data authenticator (FIPS Publication 113),
+             and in general should be less than the size of the block cipher as it reduces
+             the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            
+             @param cipher        the cipher to be used as the basis of the MAC generation.
+             @param macSizeInBits the size of the MAC in bits, must be a multiple of 8 and @lt;= 128.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.CMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.Gost28147Mac">
+            implementation of GOST 28147-89 MAC
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.HMac">
+             HMAC implementation based on RFC2104
+            
+             H(K XOR opad, H(K XOR ipad, text))
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.HMac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac">
+             DES based CBC Block Cipher MAC according to ISO9797, algorithm 3 (ANSI X9.19 Retail MAC)
+            
+             This could as well be derived from CBCBlockCipherMac, but then the property mac in the base
+             class must be changed to protected
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             create a Retail-MAC based on a CBC block cipher. This will produce an
+             authentication code of the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation. This must
+             be DESEngine.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             create a Retail-MAC based on a CBC block cipher. This will produce an
+             authentication code of the length of the block size of the cipher.
+            
+             @param cipher the cipher to be used as the basis of the MAC generation.
+             @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+            create a Retail-MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses single DES CBC mode as the basis for the
+            MAC generation.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+            create a standard MAC based on a block cipher with the size of the
+            MAC been given in bits. This class uses single DES CBC mode as the basis for the
+            MAC generation. The final block is decrypted and then encrypted using the
+            middle and right part of the key.
+            <p>
+            Note: the size of the MAC must be at least 24 bits (FIPS Publication 81),
+            or 16 bits if being used as a data authenticator (FIPS Publication 113),
+            and in general should be less than the size of the block cipher as it reduces
+            the chance of an exhaustive attack (see Handbook of Applied Cryptography).
+            </p>
+            @param cipher the cipher to be used as the basis of the MAC generation.
+            @param macSizeInBits the size of the MAC in bits, must be a multiple of 8.
+            @param padding the padding to be used to complete the last block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Macs.ISO9797Alg3Mac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.MaxBytesExceededException">
+            <summary>
+            This exception is thrown whenever a cipher requires a change of key, iv
+            or similar after x amount of bytes enciphered
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher">
+            implements Cipher-Block-Chaining (CBC) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of chaining.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.GetBlockSize">
+             return the block size of the underlying cipher.
+            
+             @return the block size of the underlying cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate chaining step for CBC mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate chaining step for CBC mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the decrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.CbcBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CBC".
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher">
+                * Implements the Counter with Cipher Block Chaining mode (CCM) detailed in
+                * NIST Special Publication 800-38C.
+                * <p>
+                * <b>Note</b>: this mode is a packet mode - it needs all the data up front.
+            	* </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher">
+            <summary>
+            A block cipher mode that includes authenticated encryption with a streaming mode
+            and optional associated data.</summary>
+            <see cref="T:Org.BouncyCastle.Crypto.Parameters.AeadParameters"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the cipher.</summary>
+            <remarks>Parameter can either be an AeadParameters or a ParametersWithIV object.</remarks>
+            <param name="forEncryption">Initialise for encryption if true, for decryption if false.</param>
+            <param name="parameters">The key or other data required by the cipher.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetBlockSize">
+            <returns>The block size for this cipher, in bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             Encrypt/decrypt a single byte.
+            
+             @param input the byte to be processed.
+             @param outBytes the output buffer the processed byte goes into.
+             @param outOff the offset into the output byte array the processed data starts at.
+             @return the number of bytes written to out.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             Process a block of bytes from in putting the result into out.
+            
+             @param inBytes the input byte array.
+             @param inOff the offset into the in array where the data to be processed starts.
+             @param len the number of bytes to be processed.
+             @param outBytes the output buffer the processed bytes go into.
+             @param outOff the offset into the output byte array the processed data starts at.
+             @return the number of bytes written to out.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Finish the operation either appending or verifying the MAC at the end of the data.
+            
+             @param outBytes space for any resulting output data.
+             @param outOff offset into out to start copying the data at.
+             @return number of bytes written into out.
+             @throws InvalidOperationException if the cipher is in an inappropriate state.
+             @throws InvalidCipherTextException if the MAC fails to match.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetMac">
+             Return the value of the MAC associated with the last stream processed.
+            
+             @return MAC for plaintext data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetUpdateOutputSize(System.Int32)">
+             Return the size of the output buffer required for a ProcessBytes
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to ProcessBytes
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.GetOutputSize(System.Int32)">
+             Return the size of the output buffer required for a ProcessBytes plus a
+             DoFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to ProcessBytes and DoFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.Reset">
+            <summary>
+            Reset the cipher to the same state as it was after the last init (if there was one).
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.IAeadBlockCipher.AlgorithmName">
+            <summary>The name of the algorithm this cipher implements.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CcmBlockCipher.GetMac">
+             Returns a byte array containing the mac calculated as part of the
+             last encrypt or decrypt operation.
+            
+             @return the last mac calculated.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher">
+            implements a Cipher-FeedBack (CFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.CfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/CFB"
+             and the block size in bits.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher">
+            A Cipher Text Stealing (CTS) mode cipher. CTS allows block ciphers to
+            be used to produce cipher text which is the same outLength as the plain text.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher that uses Cipher Text Stealing
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update of 'length' bytes.
+            
+             @param length the outLength of the input.
+             @return the space required to accommodate a call to update
+             with length bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.GetOutputSize(System.Int32)">
+             return the size of the output buffer required for an update plus a
+             doFinal with an input of length bytes.
+            
+             @param length the outLength of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with length bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param length the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.CtsBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if cipher text decrypts wrongly (in
+             case the exception will never Get thrown).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.EaxBlockCipher">
+            A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and 
+            Efficiency - by M. Bellare, P. Rogaway, D. Wagner.
+            
+            http://www.cs.ucdavis.edu/~rogaway/papers/eax.pdf
+            
+            EAX is an AEAD scheme based on CTR and OMAC1/CMAC, that uses a single block 
+            cipher to encrypt and authenticate data. It's on-line (the length of a 
+            message isn't needed to begin processing it), has good performances, it's
+            simple and provably secure (provided the underlying block cipher is secure).
+            
+            Of course, this implementations is NOT thread-safe.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.EaxBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Constructor that accepts an instance of a block cipher engine.
+            
+             @param cipher the engine to use
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.GcmBlockCipher">
+            <summary>
+            Implements the Galois/Counter mode (GCM) detailed in
+            NIST Special Publication 800-38D.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher">
+            implements the GOST 28147 OFB counter mode (GCTR).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             counter mode (must have a 64 bit block size).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param encrypting if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param parameters the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.GetBlockSize">
+             return the block size we are operating at (in bytes).
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.Reset">
+            reset the feedback vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.GOfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/GCTR"
+             and the block size in bits
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher">
+            implements a Output-FeedBack (OFB) mode on top of a simple cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,System.Int32)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+             @param blockSize the block size in bits (note: a multiple of 8)
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.GetBlockSize">
+             return the block size we are operating at (in bytes).
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.Reset">
+            reset the feedback vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.OfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/OFB"
+             and the block size in bits
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher">
+                * Implements OpenPGP's rather strange version of Cipher-FeedBack (CFB) mode
+                * on top of a simple cipher. This class assumes the IV has been prepended
+                * to the data stream already, and just accomodates the reset after
+                * (blockSize + 2) bytes have been read.
+                * <p>
+                * For further info see <a href="http://www.ietf.org/rfc/rfc2440.html">RFC 2440</a>.
+            	* </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param cipher the block cipher to be used as the basis of the
+             feedback mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.GetBlockSize">
+             return the block size we are operating at.
+            
+             @return the block size we are operating at (in bytes).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.ProcessBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Process one block of input from the array in and write it to
+             the out array.
+            
+             @param in the array containing the input data.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the output data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.Reset">
+            reset the chaining vector back to the IV and reset the underlying
+            cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the cipher and, possibly, the initialisation vector (IV).
+             If an IV isn't passed as part of the parameter, the IV will be all zeros.
+             An IV which is too short is handled in FIPS compliant fashion.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param parameters the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.EncryptByte(System.Byte,System.Int32)">
+            Encrypt one byte of data according to CFB mode.
+            @param data the byte to encrypt
+            @param blockOff offset in the current block
+            @returns the encrypted byte
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.EncryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB IV mode encryption.
+            
+             @param in the array containing the data to be encrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.DecryptBlock(System.Byte[],System.Int32,System.Byte[],System.Int32)">
+             Do the appropriate processing for CFB IV mode decryption.
+            
+             @param in the array containing the data to be decrypted.
+             @param inOff offset into the in array the data starts at.
+             @param out the array the encrypted data will be copied into.
+             @param outOff the offset into the out array the output will start at.
+             @exception DataLengthException if there isn't enough data in in, or
+             space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+             @return the number of bytes processed and produced.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Modes.OpenPgpCfbBlockCipher.AlgorithmName">
+             return the algorithm name and mode.
+            
+             @return the name of the underlying algorithm followed by "/PGPCFB"
+             and the block size in bits.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Modes.SicBlockCipher">
+            Implements the Segmented Integer Counter (SIC) mode on top of a simple
+            block cipher.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.SicBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Basic constructor.
+            
+             @param c the block cipher to be used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Modes.SicBlockCipher.GetUnderlyingCipher">
+             return the underlying block cipher that we are wrapping.
+            
+             @return the underlying block cipher that we are wrapping.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding">
+            Block cipher padders are expected to conform to this interface
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param param parameters, if any required.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+            @exception InvalidCipherTextException if the padding is badly formed
+            or invalid.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding">
+            A padder that adds ISO10126-2 padding to a block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ISO10126d2Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding">
+            A padder that adds the padding according to the scheme referenced in
+            ISO 7814-4 - scheme 2 from ISO 9797-1. The first byte is 0x80, rest is 0x00
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random - a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ISO7816d4Padding.PaddingName">
+             Return the name of the algorithm the padder implements.
+            
+             @return the name of the algorithm the padder implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher">
+            A wrapper class that allows block ciphers to be used to process data in
+            a piecemeal fashion with padding. The PaddedBufferedBlockCipher
+            outputs a block only when the buffer is full and more data is being added,
+            or on a doFinal (unless the current block in the buffer is a pad block).
+            The default padding mechanism used is the one outlined in Pkcs5/Pkcs7.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher,Org.BouncyCastle.Crypto.Paddings.IBlockCipherPadding)">
+             Create a buffered block cipher with the desired padding.
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+             @param padding the padding type.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             Create a buffered block cipher Pkcs7 padding
+            
+             @param cipher the underlying block cipher this buffering object wraps.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the cipher.
+            
+             @param forEncryption if true the cipher is initialised for
+              encryption, if false for decryption.
+             @param param the key and other data required by the cipher.
+             @exception ArgumentException if the parameters argument is
+             inappropriate.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.GetOutputSize(System.Int32)">
+             return the minimum size of the output buffer required for an update
+             plus a doFinal with an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update and doFinal
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.GetUpdateOutputSize(System.Int32)">
+             return the size of the output buffer required for an update
+             an input of len bytes.
+            
+             @param len the length of the input.
+             @return the space required to accommodate a call to update
+             with len bytes of input.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+             process a single byte, producing an output block if neccessary.
+            
+             @param in the input byte.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process an array of bytes, producing output if necessary.
+            
+             @param in the input byte array.
+             @param inOff the offset at which the input data starts.
+             @param len the number of bytes to be copied out of the input array.
+             @param out the space for any output that might be produced.
+             @param outOff the offset from which the output will be copied.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there isn't enough space in out.
+             @exception InvalidOperationException if the cipher isn't initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.PaddedBufferedBlockCipher.DoFinal(System.Byte[],System.Int32)">
+             Process the last block in the buffer. If the buffer is currently
+             full and padding needs to be added a call to doFinal will produce
+             2 * GetBlockSize() bytes.
+            
+             @param out the array the block currently being held is copied into.
+             @param outOff the offset at which the copying starts.
+             @return the number of output bytes copied to out.
+             @exception DataLengthException if there is insufficient space in out for
+             the output or we are decrypting and the input is not block size aligned.
+             @exception InvalidOperationException if the underlying cipher is not
+             initialised.
+             @exception InvalidCipherTextException if padding is expected and not found.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding">
+            A padder that adds Pkcs7/Pkcs5 padding to a block.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random - a SecureRandom if available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.Pkcs7Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.TbcPadding">
+            <summary> A padder that adds Trailing-Bit-Compliment padding to a block.
+            <p>
+            This padding pads the block out compliment of the last bit
+            of the plain text.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+            <summary> Initialise the padder.</summary>
+            <param name="random">- a SecureRandom if available.
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.AddPadding(System.Byte[],System.Int32)">
+            <summary> add the pad bytes to the passed in block, returning the
+            number of bytes added.
+            <p>
+            Note: this assumes that the last block of plain text is always
+            passed to it inside in. i.e. if inOff is zero, indicating the
+            entire block is to be overwritten with padding the value of in
+            should be the same as the last block of plain text.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.TbcPadding.PadCount(System.Byte[])">
+            <summary> return the number of pad bytes present in the block.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.TbcPadding.PaddingName">
+            <summary> Return the name of the algorithm the cipher implements.</summary>
+            <returns> the name of the algorithm the cipher implements.
+            </returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.X923Padding">
+            A padder that adds X9.23 padding to a block - if a SecureRandom is
+            passed in random padding is assumed, otherwise padding with zeros is used.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             Initialise the padder.
+            
+             @param random a SecureRandom if one is available.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.AddPadding(System.Byte[],System.Int32)">
+            add the pad bytes to the passed in block, returning the
+            number of bytes added.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.X923Padding.PadCount(System.Byte[])">
+            return the number of pad bytes present in the block.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.X923Padding.PaddingName">
+             Return the name of the algorithm the cipher implements.
+            
+             @return the name of the algorithm the cipher implements.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding">
+            <summary> A padder that adds Null byte padding to a block.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.Init(Org.BouncyCastle.Security.SecureRandom)">
+             <summary> Initialise the padder.
+            
+             </summary>
+             <param name="random">- a SecureRandom if available.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.AddPadding(System.Byte[],System.Int32)">
+            <summary> add the pad bytes to the passed in block, returning the
+            number of bytes added.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.PadCount(System.Byte[])">
+            <summary> return the number of pad bytes present in the block.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Paddings.ZeroBytePadding.PaddingName">
+             <summary> Return the name of the algorithm the cipher implements.
+            
+             </summary>
+             <returns> the name of the algorithm the cipher implements.
+             </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.AeadParameters.#ctor(Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Int32,System.Byte[],System.Byte[])">
+             Base constructor.
+            
+             @param key key to be used by underlying cipher
+             @param macSize macSize in bits
+             @param nonce nonce to be used
+             @param associatedText associated text, if any
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.CcmParameters.#ctor(Org.BouncyCastle.Crypto.Parameters.KeyParameter,System.Int32,System.Byte[],System.Byte[])">
+            Base constructor.
+            
+            @param key key to be used by underlying cipher
+            @param macSize macSize in bits
+            @param nonce nonce to be used
+            @param associatedText associated text, if any
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesParameters.IsWeakKey(System.Byte[],System.Int32)">
+            DES has 16 weak keys.  This method will check
+            if the given DES key material is weak or semi-weak.
+            Key material that is too short is regarded as weak.
+            <p>
+            See <a href="http://www.counterpane.com/applied.html">"Applied
+            Cryptography"</a> by Bruce Schneier for more information.
+            </p>
+            @return true if the given DES key material is weak or semi-weak,
+                false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesParameters.SetOddParity(System.Byte[])">
+             DES Keys use the LSB as the odd parity bit.  This can
+             be used to check for corrupt keys.
+            
+             @param bytes the byte array to set the parity on.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesEdeParameters.IsWeakKey(System.Byte[],System.Int32,System.Int32)">
+             return true if the passed in key is a DES-EDE weak key.
+            
+             @param key bytes making up the key
+             @param offset offset into the byte array the key starts at
+             @param length number of bytes making up the key
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.DesEdeParameters.IsWeakKey(System.Byte[],System.Int32)">
+             return true if the passed in key is a DES-EDE weak key.
+            
+             @param key bytes making up the key
+             @param offset offset into the byte array the key starts at
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.DHParameters.M">
+            <summary>The minimum bitlength of the private value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.DHParameters.L">
+            <summary>The bitlength of the private value.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.ElGamalParameters.G">
+            return the generator - g
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.ElGamalParameters.L">
+            return private value limit - l
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.IesParameters">
+            parameters for using an integrated cipher in stream mode.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.IesParameters.#ctor(System.Byte[],System.Byte[],System.Int32)">
+            @param derivation the derivation parameter for the KDF function.
+            @param encoding the encoding parameter for the KDF function.
+            @param macKeySize the size of the MAC key (in bits).
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.IesWithCipherParameters.#ctor(System.Byte[],System.Byte[],System.Int32,System.Int32)">
+            @param derivation the derivation parameter for the KDF function.
+            @param encoding the encoding parameter for the KDF function.
+            @param macKeySize the size of the MAC key (in bits).
+            @param cipherKeySize the size of the associated Cipher key (in bits).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.Iso18033KdfParameters">
+            parameters for Key derivation functions for ISO-18033
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.KdfParameters">
+            parameters for Key derivation functions for IEEE P1363a
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.MgfParameters">
+            <remarks>Parameters for mask derivation functions.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters">
+             Parameters for NaccacheStern public private key generation. For details on
+             this cipher, please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32,System.Int32,System.Int32)">
+             Parameters for generating a NaccacheStern KeyPair.
+            
+             @param random
+                        The source of randomness
+             @param strength
+                        The desired strength of the Key in Bits
+             @param certainty
+                        the probability that the generated primes are not really prime
+                        as integer: 2^(-certainty) is then the probability
+             @param countSmallPrimes
+                        How many small key factors are desired
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.#ctor(Org.BouncyCastle.Security.SecureRandom,System.Int32,System.Int32,System.Int32,System.Boolean)">
+             Parameters for a NaccacheStern KeyPair.
+            
+             @param random
+                        The source of randomness
+             @param strength
+                        The desired strength of the Key in Bits
+             @param certainty
+                        the probability that the generated primes are not really prime
+                        as integer: 2^(-certainty) is then the probability
+             @param cntSmallPrimes
+                        How many small key factors are desired
+             @param debug
+                        Turn debugging on or off (reveals secret information, use with
+                        caution)
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.Certainty">
+            @return Returns the certainty.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyGenerationParameters.CountSmallPrimes">
+            @return Returns the countSmallPrimes.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters">
+             Public key parameters for NaccacheStern cipher. For details on this cipher,
+             please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.#ctor(System.Boolean,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            @param privateKey
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.G">
+            @return Returns the g.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.LowerSigmaBound">
+            @return Returns the lowerSigmaBound.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Parameters.NaccacheSternKeyParameters.Modulus">
+            @return Returns the n.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.NaccacheSternPrivateKeyParameters">
+             Private key parameters for NaccacheStern cipher. For details on this cipher,
+             please see
+            
+             http://www.gemplus.com/smart/rd/publications/pdf/NS98pkcs.pdf
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Parameters.NaccacheSternPrivateKeyParameters.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.Int32,System.Collections.IList,Org.BouncyCastle.Math.BigInteger)">
+             Constructs a NaccacheSternPrivateKey
+            
+             @param g
+                        the public enryption parameter g
+             @param n
+                        the public modulus n = p*q
+             @param lowerSigmaBound
+                        the public lower sigma bound up to which data can be encrypted
+             @param smallPrimes
+                        the small primes, of which sigma is constructed in the right
+                        order
+             @param phi_n
+                        the private modulus phi(n) = (p-1)(q-1)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Parameters.ParametersWithSalt">
+            <summary> Cipher parameters with a fixed salt value associated with them.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.DigestRandomGenerator">
+            Random generation based on the digest with counter. Calling AddSeedMaterial will
+            always increase the entropy of the hash.
+            <p>
+            Internal access to the digest is synchronized so a single one of these can be shared.
+            </p>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.IRandomGenerator">
+            <remarks>Generic interface for objects generating random bytes.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.AddSeedMaterial(System.Byte[])">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A byte array to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.AddSeedMaterial(System.Int64)">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A long value to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.NextBytes(System.Byte[])">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to be filled.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.IRandomGenerator.NextBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to receive bytes.</param>
+            <param name="start">Index to start filling at.</param>
+            <param name="len">Length of segment to fill.</param>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator">
+            <remarks>
+            Takes bytes generated by an underling RandomGenerator and reverses the order in
+            each small window (of configurable size).
+            <p>
+            Access to internals is synchronized so a single one of these can be shared.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.AddSeedMaterial(System.Byte[])">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A byte array to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.AddSeedMaterial(System.Int64)">
+            <summary>Add more seed material to the generator.</summary>
+            <param name="seed">A long value to be mixed into the generator's state.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.NextBytes(System.Byte[])">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to be filled.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ReversedWindowGenerator.NextBytes(System.Byte[],System.Int32,System.Int32)">
+            <summary>Fill byte array with random values.</summary>
+            <param name="bytes">Array to receive bytes.</param>
+            <param name="start">Index to start filling at.</param>
+            <param name="len">Length of segment to fill.</param>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Prng.ThreadedSeedGenerator">
+            A thread based seed generator - one source of randomness.
+            <p>
+            Based on an idea from Marcus Lippert.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Prng.ThreadedSeedGenerator.GenerateSeed(System.Int32,System.Boolean)">
+            Generate seed bytes. Set fast to false for best quality.
+            <p>
+            If fast is set to true, the code should be round about 8 times faster when
+            generating a long sequence of random bytes. 20 bytes of random values using
+            the fast mode take less than half a second on a Nokia e70. If fast is set to false,
+            it takes round about 2500 ms.
+            </p>
+            @param numBytes the number of bytes to generate
+            @param fast true if fast mode should be used
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Prng.VmpcRandomGenerator.P">
+            <remarks>
+            Permutation generated by code:
+            <code>
+            // First 1850 fractional digit of Pi number. 
+            byte[] key = new BigInteger("14159265358979323846...5068006422512520511").ToByteArray();
+            s = 0;
+            P = new byte[256];
+            for (int i = 0; i &lt; 256; i++) 
+            {
+                P[i] = (byte) i;
+            }
+            for (int m = 0; m &lt; 768; m++) 
+            {
+                s = P[(s + P[m &amp; 0xff] + key[m % key.length]) &amp; 0xff];
+                byte temp = P[m &amp; 0xff];
+                P[m &amp; 0xff] = P[s &amp; 0xff];
+                P[s &amp; 0xff] = temp;
+            } </code>
+            </remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Prng.VmpcRandomGenerator.s">
+            <remarks>Value generated in the same way as <c>P</c>.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.VerifySignature(System.Byte[])">
+            <returns>true if the internal state represents the signature described in the passed in array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaDigestSigner.Reset">
+            <summary>Reset the internal state</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.DsaSigner">
+            The Digital Signature Algorithm - as described in "Handbook of Applied
+            Cryptography", pages 452 - 453.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaSigner.GenerateSignature(System.Byte[])">
+             Generate a signature for the given message using the key we were
+             initialised with. For conventional DSA the message should be a SHA-1
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.DsaSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a DSA signature for
+            the passed in message for standard DSA the message should be a
+            SHA-1 hash of the real message to be verified.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECDsaSigner">
+            EC-DSA as described in X9.62
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECDsaSigner.GenerateSignature(System.Byte[])">
+             Generate a signature for the given message using the key we were
+             initialised with. For conventional DSA the message should be a SHA-1
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECDsaSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a DSA signature for
+            the passed in message (for standard DSA the message should be
+            a SHA-1 hash of the real message to be verified).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer">
+            GOST R 34.10-2001 Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with. For conventional GOST3410 the message should be a GOST3411
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECGost3410Signer.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a GOST3410 signature for
+            the passed in message (for standard GOST3410 the message should be
+            a GOST3411 hash of the real message to be verified).
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.ECNRSigner">
+            EC-NR as described in IEEE 1363-2000
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECNRSigner.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with.  Generally, the order of the curve should be at
+             least as long as the hash of the message of interest, and with
+             ECNR it *must* be at least as long.
+            
+             @param digest  the digest to be signed.
+             @exception DataLengthException if the digest is longer than the key allows
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.ECNRSigner.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+             return true if the value r and s represent a signature for the
+             message passed in. Generally, the order of the curve should be at
+             least as long as the hash of the message of interest, and with
+             ECNR, it *must* be at least as long.  But just in case the signer
+             applied mod(n) to the longer digest, this implementation will
+             apply mod(n) during verification.
+            
+             @param digest  the digest to be verified.
+             @param r       the r value of the signature.
+             @param s       the s value of the signature.
+             @exception DataLengthException if the digest is longer than the key allows
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the signer for signing or verification.
+            
+             @param forSigning
+                        true if for signing, false otherwise
+             @param parameters
+                        necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using the key
+            we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.GenericSigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described in
+            the passed in array.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.VerifySignature(System.Byte[])">
+            <returns>true if the internal state represents the signature described in the passed in array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410DigestSigner.Reset">
+            <summary>Reset the internal state</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Gost3410Signer">
+            Gost R 34.10-94 Signature Algorithm
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410Signer.GenerateSignature(System.Byte[])">
+             generate a signature for the given message using the key we were
+             initialised with. For conventional Gost3410 the message should be a Gost3411
+             hash of the message of interest.
+            
+             @param message the message that will be verified later.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Gost3410Signer.VerifySignature(System.Byte[],Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            return true if the value r and s represent a Gost3410 signature for
+            the passed in message for standard Gost3410 the message should be a
+            Gost3411 hash of the real message to be verified.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner">
+            <summary> ISO9796-2 - mechanism using a hash function with recovery (scheme 2 and 3).
+            <p>
+            Note: the usual length for the salt is the length of the hash
+            function used in bytes.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.GetRecoveredMessage">
+            <summary>
+            Return a reference to the recoveredMessage message.
+            </summary>
+            <returns>The full/partial recoveredMessage message.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32,System.Boolean)">
+            <summary>
+            Generate a signer for the with either implicit or explicit trailers
+            for ISO9796-2, scheme 2 or 3.
+            </summary>
+            <param name="cipher">base cipher to use for signature creation/verification</param>
+            <param name="digest">digest to use.</param>
+            <param name="saltLength">length of salt in bytes.</param>
+            <param name="isImplicit">whether or not the trailer is implicit or gives the hash.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+             <summary> Constructor for a signer with an explicit digest trailer.
+            
+             </summary>
+             <param name="cipher">cipher to use.
+             </param>
+             <param name="digest">digest to sign with.
+             </param>
+             <param name="saltLength">length of salt in bytes.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+            <summary>Initialise the signer.</summary>
+            <param name="forSigning">true if for signing, false if for verification.</param>
+            <param name="parameters">parameters for signature generation/verification. If the
+            parameters are for generation they should be a ParametersWithRandom,
+            a ParametersWithSalt, or just an RsaKeyParameters object. If RsaKeyParameters
+            are passed in a SecureRandom will be created.
+            </param>
+            <exception cref="T:System.ArgumentException">if wrong parameter type or a fixed
+            salt is passed in which is the wrong length.
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.IsSameAs(System.Byte[],System.Byte[])">
+            <summary> compare two byte arrays - constant time.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.GenerateSignature">
+            <summary> Generate a signature for the loaded message using the key we were
+            initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.VerifySignature(System.Byte[])">
+            <summary> return true if the signature represents a ISO9796-2 signature
+            for the passed in message.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.HasFullMessage">
+            <summary>
+            Return true if the full message was recoveredMessage.
+            </summary>
+            <returns>true on full message recovery, false otherwise, or if not sure.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.ItoOSP(System.Int32,System.Byte[])">
+            <summary> int to octet string.</summary>
+            <summary> int to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.LtoOSP(System.Int64,System.Byte[])">
+            <summary> long to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2PssSigner.MaskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary> mask generator function, as described in Pkcs1v2.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer">
+            <summary> ISO9796-2 - mechanism using a hash function with recovery (scheme 1)</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.GetRecoveredMessage">
+            <summary>
+            Return a reference to the recoveredMessage message.
+            </summary>
+            <returns>The full/partial recoveredMessage message.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.GetRecoveredMessage"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Boolean)">
+            <summary>
+            Generate a signer for the with either implicit or explicit trailers
+            for ISO9796-2.
+            </summary>
+            <param name="cipher">base cipher to use for signature creation/verification</param>
+            <param name="digest">digest to use.</param>
+            <param name="isImplicit">whether or not the trailer is implicit or gives the hash.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest)">
+             <summary> Constructor for a signer with an explicit digest trailer.
+            
+             </summary>
+             <param name="cipher">cipher to use.
+             </param>
+             <param name="digest">digest to sign with.
+             </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.IsSameAs(System.Byte[],System.Byte[])">
+            <summary> compare two byte arrays - constant time.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.GenerateSignature">
+            <summary> Generate a signature for the loaded message using the key we were
+            initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.VerifySignature(System.Byte[])">
+            <summary> return true if the signature represents a ISO9796-2 signature
+            for the passed in message.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.Iso9796d2Signer.HasFullMessage">
+            <summary>
+            Return true if the full message was recoveredMessage.
+            </summary>
+            <returns> true on full message recovery, false otherwise.</returns>
+            <seealso cref="M:Org.BouncyCastle.Crypto.ISignerWithRecovery.HasFullMessage"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Signers.PssSigner">
+            <summary> RSA-PSS as described in Pkcs# 1 v 2.1.
+            <p>
+            Note: the usual value for the salt length is the number of
+            bytes in the hash function.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.#ctor(Org.BouncyCastle.Crypto.IAsymmetricBlockCipher,Org.BouncyCastle.Crypto.IDigest,System.Int32)">
+            <summary>Basic constructor</summary>
+            <param name="cipher">the asymmetric cipher to use.</param>
+            <param name="digest">the digest to use.</param>
+            <param name="saltLen">the length of the salt to use (in bytes).</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.ClearBlock(System.Byte[])">
+            <summary> clear possible sensitive data</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.Update(System.Byte)">
+            <summary> update the internal digest with the byte b</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <summary> update the internal digest with the byte array in</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.Reset">
+            <summary> reset the internal state</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.GenerateSignature">
+            <summary> Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.VerifySignature(System.Byte[])">
+            <summary> return true if the internal state represents the signature described
+            in the passed in array.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.ItoOSP(System.Int32,System.Byte[])">
+            <summary> int to octet string.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.PssSigner.MaskGeneratorFunction1(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary> mask generator function, as described in Pkcs1v2.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.#cctor">
+            <summary>
+            Load oid table.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             Initialise the signer for signing or verification.
+            
+             @param forSigning true if for signing, false otherwise
+             @param param necessary parameters.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.Update(System.Byte)">
+            update the internal digest with the byte b
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            update the internal digest with the byte array in
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.GenerateSignature">
+            Generate a signature for the message we've been loaded with using
+            the key we were initialised with.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Signers.RsaDigestSigner.VerifySignature(System.Byte[])">
+            return true if the internal state represents the signature described
+            in the passed in array.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.StreamBlockCipher">
+            a wrapper for block ciphers with a single byte block size, so that they
+            can be treated like stream ciphers.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.#ctor(Org.BouncyCastle.Crypto.IBlockCipher)">
+             basic constructor.
+            
+             @param cipher the block cipher to be wrapped.
+             @exception ArgumentException if the cipher has a block size other than
+             one.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.Init(System.Boolean,Org.BouncyCastle.Crypto.ICipherParameters)">
+             initialise the underlying cipher.
+            
+             @param forEncryption true if we are setting up for encryption, false otherwise.
+             @param param the necessary parameters for the underlying cipher to be initialised.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.ReturnByte(System.Byte)">
+             encrypt/decrypt a single byte returning the result.
+            
+             @param in the byte to be processed.
+             @return the result of processing the input byte.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+             process a block of bytes from in putting the result into out.
+            
+             @param in the input byte array.
+             @param inOff the offset into the in array where the data to be processed starts.
+             @param len the number of bytes to be processed.
+             @param out the output buffer the processed bytes go into.
+             @param outOff the offset into the output byte array the processed data stars at.
+             @exception DataLengthException if the output buffer is too small.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.StreamBlockCipher.Reset">
+            reset the underlying cipher. This leaves it in the same state
+            it was at after the last init (if there was one).
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.StreamBlockCipher.AlgorithmName">
+             return the name of the algorithm we are wrapping.
+            
+             @return the name of the algorithm we are wrapping.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlertDescription">
+            <summary>
+            RFC 2246 7.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlertLevel">
+            <summary>
+            RFC 2246 7.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.AlwaysValidVerifyer">
+            <remarks>
+            A certificate verifyer, that will always return true.
+            <pre>
+            DO NOT USE THIS FILE UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING.
+            </pre>
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer">
+            <remarks>
+            This should be implemented by any class which can find out, if a given
+            certificate chain is being accepted by an client.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer.IsValid(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+            <param name="certs">The certs, which are part of the chain.</param>
+            <returns>True, if the chain is accepted, false otherwise</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.AlwaysValidVerifyer.IsValid(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+            <summary>Return true.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ByteQueue">
+            <remarks>
+            A queue for bytes.
+            <p>
+            This file could be more optimized.
+            </p>
+            </remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.InitBufSize">
+            The initial size for our buffer.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.NextTwoPow(System.Int32)">
+            <returns>The smallest number which can be written as 2^x which is bigger than i.</returns>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.databuf">
+            The buffer where we store our data.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.skipped">
+            How many bytes at the beginning of the buffer are skipped.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ByteQueue.available">
+            How many bytes in the buffer are valid data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.Read(System.Byte[],System.Int32,System.Int32,System.Int32)">
+            <summary>Read data from the buffer.</summary>
+            <param name="buf">The buffer where the read data will be copied to.</param>
+            <param name="offset">How many bytes to skip at the beginning of buf.</param>
+            <param name="len">How many bytes to read at all.</param>
+            <param name="skip">How many bytes from our data to skip.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.AddData(System.Byte[],System.Int32,System.Int32)">
+            <summary>Add some data to our buffer.</summary>
+            <param name="data">A byte-array to read data from.</param>
+            <param name="offset">How many bytes to skip at the beginning of the array.</param>
+            <param name="len">How many bytes to read from the array.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.ByteQueue.RemoveData(System.Int32)">
+            <summary>Remove some bytes from our data from the beginning.</summary>
+            <param name="i">How many bytes to remove.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.ByteQueue.Available">
+            <summary>The number of bytes which are available in this buffer.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.Certificate">
+            A representation for a certificate chain.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.Certificate.certs">
+            The certificates.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.Parse(System.IO.Stream)">
+             Parse the ServerCertificate message.
+            
+             @param inStr The stream where to parse from.
+             @return A Certificate object with the certs, the server has sended.
+             @throws IOException If something goes wrong during parsing.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.Encode(System.IO.Stream)">
+             Encodes version of the ClientCertificate message
+            
+             @param outStr stream to write the message to
+             @throws IOException If something goes wrong
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.#ctor(Org.BouncyCastle.Asn1.X509.X509CertificateStructure[])">
+             Private constructor from a cert array.
+            
+             @param certs The certs the chain should contain.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Certificate.GetCerts">
+            <returns>An array which contains the certs, this chain contains.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.CertificateRequest.CertificateAuthorities">
+            <returns>A <see cref="T:System.Collections.IList"/> of X509Name</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CipherSuite">
+            <summary>
+            RFC 2246 A.5
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ClientCertificateType">
+            <summary>
+            RFC 2246 7.4.4
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CombinedHash">
+            <remarks>A combined hash, which implements md5(m) || sha1(m).</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.GetByteLength">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.GetByteLength"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.GetDigestSize">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.GetDigestSize"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.Update(System.Byte)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.Update(System.Byte)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.BlockUpdate(System.Byte[],System.Int32,System.Int32)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.BlockUpdate(System.Byte[],System.Int32,System.Int32)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.DoFinal(System.Byte[],System.Int32)">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.DoFinal(System.Byte[],System.Int32)"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.CombinedHash.Reset">
+            <seealso cref="M:Org.BouncyCastle.Crypto.IDigest.Reset"/>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.CombinedHash.AlgorithmName">
+            <seealso cref="P:Org.BouncyCastle.Crypto.IDigest.AlgorithmName"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod">
+            <summary>
+            RFC 2246 6.1
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ContentType">
+            <summary>
+            RFC 2246 6.2.1
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAgreementCredentials.GenerateAgreement(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipherFactory.CreateCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,Org.BouncyCastle.Crypto.Tls.EncryptionAlgorithm,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateAesCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,System.Int32,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateDesEdeCipher(Org.BouncyCastle.Crypto.Tls.TlsClientContext,System.Int32,Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.DefaultTlsCipherFactory.CreateDigest(Org.BouncyCastle.Crypto.Tls.DigestAlgorithm)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.Init(Org.BouncyCastle.Crypto.Tls.TlsClientContext)">
+            <summary>
+            Called at the start of a new TLS session, before any other methods.
+            </summary>
+            <param name="context">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipherSuites">
+            <summary>
+            Get the list of cipher suites that this client supports.
+            </summary>
+            <returns>
+            An array of <see cref="T:Org.BouncyCastle.Crypto.Tls.CipherSuite"/>, each specifying a supported cipher suite.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompressionMethods">
+            <summary>
+            Get the list of compression methods that this client supports.
+            </summary>
+            <returns>
+            An array of <see cref="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod"/>, each specifying a supported compression method.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetClientExtensions">
+            <summary>
+            Get the (optional) table of client extensions to be included in (extended) client hello.
+            </summary>
+            <returns>
+            A <see cref="T:System.Collections.IDictionary"/> (<see cref="T:Org.BouncyCastle.Crypto.Tls.ExtensionType"/> -&gt; byte[]). May be null.
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySessionID(System.Byte[])">
+            <summary>
+            Reports the session ID once it has been determined.
+            </summary>
+            <param name="sessionID">
+            A <see cref="T:System.Byte"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySelectedCipherSuite(Org.BouncyCastle.Crypto.Tls.CipherSuite)">
+            <summary>
+            Report the cipher suite that was selected by the server.
+            </summary>
+            <remarks>
+            The protocol handler validates this value against the offered cipher suites
+            <seealso cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipherSuites"/>
+            </remarks>
+            <param name="selectedCipherSuite">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CipherSuite"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySelectedCompressionMethod(Org.BouncyCastle.Crypto.Tls.CompressionMethod)">
+            <summary>
+            Report the compression method that was selected by the server.
+            </summary>
+            <remarks>
+            The protocol handler validates this value against the offered compression methods
+            <seealso cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompressionMethods"/>
+            </remarks>
+            <param name="selectedCompressionMethod">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CompressionMethod"/>
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.NotifySecureRenegotiation(System.Boolean)">
+            <summary>
+            Report whether the server supports secure renegotiation
+            </summary>
+            <remarks>
+            The protocol handler automatically processes the relevant extensions
+            </remarks>
+            <param name="secureRenegotiation">
+            A <see cref="T:System.Boolean"/>, true if the server supports secure renegotiation
+            </param>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.ProcessServerExtensions(System.Collections.IDictionary)">
+            <summary>
+            Report the extensions from an extended server hello.
+            </summary>
+            <remarks>
+            Will only be called if we returned a non-null result from <see cref="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetClientExtensions"/>.
+            </remarks>
+            <param name="serverExtensions">
+            A <see cref="T:System.Collections.IDictionary"/>  (<see cref="T:Org.BouncyCastle.Crypto.Tls.ExtensionType"/> -&gt; byte[])
+            </param>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetKeyExchange">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange"/> to negotiate the key exchange
+            part of the protocol.
+            </summary>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetAuthentication">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsAuthentication"/> to handle authentication
+            part of the protocol.
+            </summary>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCompression">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCompression"/> to handle record compression.
+            </summary>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsClient.GetCipher">
+            <summary>
+            Return an implementation of <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCipher"/> to use for encryption/decryption.
+            </summary>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCipher"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsSignerCredentials.GenerateCertificateSignature(System.Byte[])">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ECCurveType">
+            <summary>
+            RFC 4492 5.4
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.explicit_prime">
+            Indicates the elliptic curve domain parameters are conveyed verbosely, and the
+            underlying finite field is a prime field.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.explicit_char2">
+            Indicates the elliptic curve domain parameters are conveyed verbosely, and the
+            underlying finite field is a characteristic-2 field.
+        </member>
+        <member name="F:Org.BouncyCastle.Crypto.Tls.ECCurveType.named_curve">
+            Indicates that a named curve is used. This option SHOULD be used when applicable.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ECPointFormat">
+            <summary>
+            RFC 4492 5.1.2
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.ExtensionType">
+            <summary>
+            RFC 4366 2.3
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.HandshakeType">
+            <summary>
+            RFC 2246 7.4
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.LegacyTlsAuthentication">
+            <summary>
+            A temporary class to wrap old CertificateVerifyer stuff for new TlsAuthentication.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAuthentication.NotifyServerCertificate(Org.BouncyCastle.Crypto.Tls.Certificate)">
+            <summary>
+            Called by the protocol handler to report the server certificate.
+            </summary>
+            <remarks>
+            This method is responsible for certificate verification and validation
+            </remarks>
+            <param name="serverCertificate">The server <see cref="T:Org.BouncyCastle.Crypto.Tls.Certificate"/> received</param>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsAuthentication.GetClientCredentials(Org.BouncyCastle.Crypto.Tls.CertificateRequest)">
+            <summary>
+            Return client credentials in response to server's certificate request
+            </summary>
+            <param name="certificateRequest">
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.CertificateRequest"/> containing server certificate request details
+            </param>
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Crypto.Tls.TlsCredentials"/> to be used for client authentication
+            (or <c>null</c> for no client authentication)
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.LegacyTlsClient">
+            <summary>
+            A temporary class to use LegacyTlsAuthentication 
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.NamedCurve">
+            <summary>
+            RFC 4492 5.1.1
+            The named curves defined here are those specified in SEC 2 [13]. Note that many of
+            these curves are also recommended in ANSI X9.62 [7] and FIPS 186-2 [11]. Values 0xFE00
+            through 0xFEFF are reserved for private use. Values 0xFF01 and 0xFF02 indicate that the
+            client supports arbitrary prime and characteristic-2 curves, respectively (the curve
+            parameters must be encoded explicitly in ECParameters).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.RecordStream">
+            <remarks>An implementation of the TLS 1.0 record layer.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.Ssl3Mac">
+            HMAC implementation based on original internet draft for HMAC (RFC 2104)
+            
+            The difference is that padding is concatentated versus XORed with the key
+            
+            H(K + opad, H(K + ipad, text))
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Ssl3Mac.#ctor(Org.BouncyCastle.Crypto.IDigest)">
+            Base constructor for one of the standard digest algorithms that the byteLength of
+            the algorithm is know for. Behaviour is undefined for digests other than MD5 or SHA1.
+            
+            @param digest the digest.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.Ssl3Mac.Reset">
+            Reset the mac generator.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsBlockCipher">
+            <summary>
+            A generic TLS 1.0 block cipher. This can be used for AES or 3DES for example.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipher.EncodePlaintext(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsCipher.DecodeCiphertext(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsDHKeyExchange">
+            <summary>
+            TLS 1.0 DH key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange">
+            <summary>
+            A generic interface for key exchange implementations in TLS 1.0.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipServerCertificate">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessServerCertificate(Org.BouncyCastle.Crypto.Tls.Certificate)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipServerKeyExchange">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessServerKeyExchange(System.IO.Stream)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ValidateCertificateRequest(Org.BouncyCastle.Crypto.Tls.CertificateRequest)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.SkipClientCredentials">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.ProcessClientCredentials(Org.BouncyCastle.Crypto.Tls.TlsCredentials)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.GenerateClientKeyExchange(System.IO.Stream)">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsKeyExchange.GeneratePremasterSecret">
+            <exception cref="T:System.IO.IOException"/>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsECDheKeyExchange">
+            ECDHE key exchange (see RFC 4492)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsECDHKeyExchange">
+            ECDH key exchange (see RFC 4492)
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsMac">
+            <remarks>
+            A generic TLS MAC implementation, which can be used with any kind of
+            IDigest to act as an HMAC.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.#ctor(Org.BouncyCastle.Crypto.IDigest,System.Byte[],System.Int32,System.Int32)">
+             Generate a new instance of an TlsMac.
+            
+             @param digest    The digest to use.
+             @param key_block A byte-array where the key for this mac is located.
+             @param offset    The number of bytes to skip, before the key starts in the buffer.
+             @param len       The length of the key.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.GetMacSecret">
+            @return the MAC write secret
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.IncSequenceNumber">
+            Increment the current write sequence number
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsMac.CalculateMac(Org.BouncyCastle.Crypto.Tls.ContentType,System.Byte[],System.Int32,System.Int32)">
+             Calculate the mac for some given data.
+             <p/>
+             TlsMac will keep track of the sequence number internally.
+            
+             @param type    The message type of the message.
+             @param message A byte-buffer containing the message.
+             @param offset  The number of bytes to skip, before the message starts.
+             @param len     The length of the message.
+             @return A new byte-buffer containing the mac value.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsMac.SequenceNumber">
+            @return the current write sequence number
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsMac.Size">
+            @return The Keysize of the mac.
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsNullCipher">
+            <summary>
+            A NULL cipher suite, for use during handshake.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler">
+            <remarks>An implementation of all high level protocols in TLS 1.0.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.#ctor(System.IO.Stream,System.IO.Stream)">
+            <remarks>Both streams can be the same object</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.#ctor(System.IO.Stream,System.IO.Stream,Org.BouncyCastle.Security.SecureRandom)">
+            <remarks>Both streams can be the same object</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.ProcessChangeCipherSpec">
+             This method is called, when a change cipher spec message is received.
+            
+             @throws IOException If the message has an invalid content or the
+                                 handshake is not in the correct state.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Connect(Org.BouncyCastle.Crypto.Tls.ICertificateVerifyer)">
+            <summary>Connects to the remote system.</summary>
+            <param name="verifyer">Will be used when a certificate is received to verify
+            that this certificate is accepted by the client.</param>
+            <exception cref="T:System.IO.IOException">If handshake was not successful</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.ReadApplicationData(System.Byte[],System.Int32,System.Int32)">
+             Read data from the network. The method will return immediately, if there is
+             still some data left in the buffer, or block until some application
+             data has been read from the network.
+            
+             @param buf    The buffer where the data will be copied to.
+             @param offset The position where the data will be placed in the buffer.
+             @param len    The maximum number of bytes to read.
+             @return The number of bytes read.
+             @throws IOException If something goes wrong during reading data.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.WriteData(System.Byte[],System.Int32,System.Int32)">
+             Send some application data to the remote system.
+             <p/>
+             The method will handle fragmentation internally.
+            
+             @param buf    The buffer with the data.
+             @param offset The position in the buffer where the data is placed.
+             @param len    The length of the data.
+             @throws IOException If something goes wrong during sending.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.FailWithError(Org.BouncyCastle.Crypto.Tls.AlertLevel,Org.BouncyCastle.Crypto.Tls.AlertDescription)">
+             Terminate this connection with an alert.
+             <p/>
+             Can be used for normal closure too.
+            
+             @param alertLevel       The level of the alert, an be AlertLevel.fatal or AL_warning.
+             @param alertDescription The exact alert message.
+             @throws IOException If alert was fatal.
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Close">
+            <summary>Closes this connection</summary>
+            <exception cref="T:System.IO.IOException">If something goes wrong during closing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.AssertEmpty(System.IO.MemoryStream)">
+             Make sure the Stream is now empty. Fail otherwise.
+            
+             @param is The Stream to check.
+             @throws IOException If is is not empty.
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.OutputStream">
+            <summary>A Stream which can be used to send data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.InputStream">
+            <summary>A Stream which can be used to read data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Crypto.Tls.TlsProtocolHandler.Stream">
+            <summary>The secure bidirectional stream for this connection</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsRsaKeyExchange">
+            <summary>
+            TLS 1.0 RSA key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsSrpKeyExchange">
+            <summary>
+            TLS 1.1 SRP key exchange.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Crypto.Tls.TlsUtilities">
+            <remarks>Some helper fuctions for MicroTLS.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.AddMagnitudes(System.Int32[],System.Int32[])">
+            return a = a + b - b preserved.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.CompareTo(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            unsigned comparison on two arrays - note the arrays may
+            start with leading zeros.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Divide(System.Int32[],System.Int32[])">
+            return z = x / y - done in place (z value preserved, x contains the
+            remainder)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.IsProbablePrime(System.Int32)">
+            return whether or not a BigInteger is probably prime with a
+            probability of 1 - (1/2)**certainty.
+            <p>From Knuth Vol 2, pg 395.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ExtEuclid(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger@)">
+             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.
+            
+             @param a    First number to calculate gcd for
+             @param b    Second number to calculate gcd for
+             @param u1Out      the return object for the u1 value
+             @param u2Out      the return object for the u2 value
+             @return     The greatest common divisor of a and b
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Square(System.Int32[],System.Int32[])">
+            return w with w = x * x - w is assumed to have enough space.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Multiply(System.Int32[],System.Int32[],System.Int32[])">
+            return x with x = y * z - x is assumed to have enough space.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.GetMQuote">
+            Calculate mQuote = -m^(-1) mod b with b = 2^32 (32 = word size)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.MultiplyMonty(System.Int32[],System.Int32[],System.Int32[],System.Int32[],System.Int64)">
+            Montgomery multiplication: a = x * y * R^(-1) mod m
+            <br/>
+            Based algorithm 14.36 of Handbook of Applied Cryptography.
+            <br/>
+            <li> m, x, y should have length n </li>
+            <li> a should have length (n + 1) </li>
+            <li> b = 2^32, R = b^n </li>
+            <br/>
+            The result is put in x
+            <br/>
+            NOTE: the indices of x, y, m, a different in HAC and in Java
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Remainder(System.Int32[],System.Int32[])">
+            return x = x % y - done in place (y value preserved)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftLeft(System.Int32[],System.Int32)">
+            do a left shift - this returns a new array.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftRightInPlace(System.Int32,System.Int32[],System.Int32)">
+            do a right shift - this does it in place.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.ShiftRightOneInPlace(System.Int32,System.Int32[])">
+            do a right shift by one - this does it in place.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.BigInteger.Subtract(System.Int32,System.Int32[],System.Int32,System.Int32[])">
+            returns x = x - y - we assume x is >= y
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal">
+            Class representing a simple version of a big decimal. A
+            <code>SimpleBigDecimal</code> is basically a
+            {@link java.math.BigInteger BigInteger} with a few digits on the right of
+            the decimal point. The number of (binary) digits on the right of the decimal
+            point is called the <code>scale</code> of the <code>SimpleBigDecimal</code>.
+            Unlike in {@link java.math.BigDecimal BigDecimal}, the scale is not adjusted
+            automatically, but must be set manually. All <code>SimpleBigDecimal</code>s
+            taking part in the same arithmetic operation must have equal scale. The
+            result of a multiplication of two <code>SimpleBigDecimal</code>s returns a
+            <code>SimpleBigDecimal</code> with double scale.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal.GetInstance(Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            Returns a <code>SimpleBigDecimal</code> representing the same numerical
+            value as <code>value</code>.
+            @param value The value of the <code>SimpleBigDecimal</code> to be
+            created. 
+            @param scale The scale of the <code>SimpleBigDecimal</code> to be
+            created. 
+            @return The such created <code>SimpleBigDecimal</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal.#ctor(Org.BouncyCastle.Math.BigInteger,System.Int32)">
+            Constructor for <code>SimpleBigDecimal</code>. The value of the
+            constructed <code>SimpleBigDecimal</code> Equals <code>bigInt / 
+            2<sup>scale</sup></code>.
+            @param bigInt The <code>bigInt</code> value parameter.
+            @param scale The scale of the constructed <code>SimpleBigDecimal</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.Tnaf">
+            Class holding methods for point multiplication based on the window
+            &#964;-adic nonadjacent form (WTNAF). The algorithms are based on the
+            paper "Improved Algorithms for Arithmetic on Anomalous Binary Curves"
+            by Jerome A. Solinas. The paper first appeared in the Proceedings of
+            Crypto 1997.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Width">
+            The window width of WTNAF. The standard value of 4 is slightly less
+            than optimal for running time, but keeps space requirements for
+            precomputation low. For typical curves, a value of 5 or 6 results in
+            a better running time. When changing this value, the
+            <code>&#945;<sub>u</sub></code>'s must be computed differently, see
+            e.g. "Guide to Elliptic Curve Cryptography", Darrel Hankerson,
+            Alfred Menezes, Scott Vanstone, Springer-Verlag New York Inc., 2004,
+            p. 121-122
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Pow2Width">
+            2<sup>4</sup>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha0">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=0</code> as an array
+            of <code>ZTauElement</code>s.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha0Tnaf">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=0</code> as an array
+            of TNAFs.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha1">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=1</code> as an array
+            of <code>ZTauElement</code>s.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.Tnaf.Alpha1Tnaf">
+            The <code>&#945;<sub>u</sub></code>'s for <code>a=1</code> as an array
+            of TNAFs.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Norm(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Computes the norm of an element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return The norm of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Norm(System.SByte,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal)">
+            Computes the norm of an element <code>&#955;</code> of
+            <code><b>R</b>[&#964;]</code>, where <code>&#955; = u + v&#964;</code>
+            and <code>u</code> and <code>u</code> are real numbers (elements of
+            <code><b>R</b></code>). 
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param u The real part of the element <code>&#955;</code> of
+            <code><b>R</b>[&#964;]</code>.
+            @param v The <code>&#964;</code>-adic part of the element
+            <code>&#955;</code> of <code><b>R</b>[&#964;]</code>.
+            @return The norm of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Round(Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,Org.BouncyCastle.Math.EC.Abc.SimpleBigDecimal,System.SByte)">
+            Rounds an element <code>&#955;</code> of <code><b>R</b>[&#964;]</code>
+            to an element of <code><b>Z</b>[&#964;]</code>, such that their difference
+            has minimal norm. <code>&#955;</code> is given as
+            <code>&#955; = &#955;<sub>0</sub> + &#955;<sub>1</sub>&#964;</code>.
+            @param lambda0 The component <code>&#955;<sub>0</sub></code>.
+            @param lambda1 The component <code>&#955;<sub>1</sub></code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve. Must
+            equal 1 or -1.
+            @return The rounded element of <code><b>Z</b>[&#964;]</code>.
+            @throws ArgumentException if <code>lambda0</code> and
+            <code>lambda1</code> do not have same scale.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.ApproximateDivisionByN(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,System.SByte,System.Int32,System.Int32)">
+            Approximate division by <code>n</code>. For an integer
+            <code>k</code>, the value <code>&#955; = s k / n</code> is
+            computed to <code>c</code> bits of accuracy.
+            @param k The parameter <code>k</code>.
+            @param s The curve parameter <code>s<sub>0</sub></code> or
+            <code>s<sub>1</sub></code>.
+            @param vm The Lucas Sequence element <code>V<sub>m</sub></code>.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @param m The bit length of the finite field
+            <code><b>F</b><sub>m</sub></code>.
+            @param c The number of bits of accuracy, i.e. the scale of the returned
+            <code>SimpleBigDecimal</code>.
+            @return The value <code>&#955; = s k / n</code> computed to
+            <code>c</code> bits of accuracy.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.TauAdicNaf(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Computes the <code>&#964;</code>-adic NAF (non-adjacent form) of an
+            element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return The <code>&#964;</code>-adic NAF of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.Tau(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Applies the operation <code>&#964;()</code> to an
+            <code>F2mPoint</code>. 
+            @param p The F2mPoint to which <code>&#964;()</code> is applied.
+            @return <code>&#964;(p)</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetMu(Org.BouncyCastle.Math.EC.F2mCurve)">
+            Returns the parameter <code>&#956;</code> of the elliptic curve.
+            @param curve The elliptic curve from which to obtain <code>&#956;</code>.
+            The curve must be a Koblitz curve, i.e. <code>a</code> Equals
+            <code>0</code> or <code>1</code> and <code>b</code> Equals
+            <code>1</code>. 
+            @return <code>&#956;</code> of the elliptic curve.
+            @throws ArgumentException if the given ECCurve is not a Koblitz
+            curve.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetLucas(System.SByte,System.Int32,System.Boolean)">
+            Calculates the Lucas Sequence elements <code>U<sub>k-1</sub></code> and
+            <code>U<sub>k</sub></code> or <code>V<sub>k-1</sub></code> and
+            <code>V<sub>k</sub></code>.
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param k The index of the second element of the Lucas Sequence to be
+            returned.
+            @param doV If set to true, computes <code>V<sub>k-1</sub></code> and
+            <code>V<sub>k</sub></code>, otherwise <code>U<sub>k-1</sub></code> and
+            <code>U<sub>k</sub></code>.
+            @return An array with 2 elements, containing <code>U<sub>k-1</sub></code>
+            and <code>U<sub>k</sub></code> or <code>V<sub>k-1</sub></code>
+            and <code>V<sub>k</sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetTw(System.SByte,System.Int32)">
+            Computes the auxiliary value <code>t<sub>w</sub></code>. If the width is
+            4, then for <code>mu = 1</code>, <code>t<sub>w</sub> = 6</code> and for
+            <code>mu = -1</code>, <code>t<sub>w</sub> = 10</code> 
+            @param mu The parameter <code>&#956;</code> of the elliptic curve.
+            @param w The window width of the WTNAF.
+            @return the auxiliary value <code>t<sub>w</sub></code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetSi(Org.BouncyCastle.Math.EC.F2mCurve)">
+            Computes the auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction. 
+            @param curve The elliptic curve for which to compute
+            <code>s<sub>0</sub></code> and <code>s<sub>1</sub></code>.
+            @throws ArgumentException if <code>curve</code> is not a
+            Koblitz curve (Anomalous Binary Curve, ABC).
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.PartModReduction(Org.BouncyCastle.Math.BigInteger,System.Int32,System.SByte,Org.BouncyCastle.Math.BigInteger[],System.SByte,System.SByte)">
+            Partial modular reduction modulo
+            <code>(&#964;<sup>m</sup> - 1)/(&#964; - 1)</code>.
+            @param k The integer to be reduced.
+            @param m The bitlength of the underlying finite field.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @param s The auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code>.
+            @param mu The parameter &#956; of the elliptic curve.
+            @param c The precision (number of bits of accuracy) of the partial
+            modular reduction.
+            @return <code>&#961; := k partmod (&#964;<sup>m</sup> - 1)/(&#964; - 1)</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyRTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.BigInteger)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by a <code>BigInteger</code> using the reduced <code>&#964;</code>-adic
+            NAF (RTNAF) method.
+            @param p The F2mPoint to Multiply.
+            @param k The <code>BigInteger</code> by which to Multiply <code>p</code>.
+            @return <code>k * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.EC.Abc.ZTauElement)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the <code>&#964;</code>-adic NAF (TNAF) method.
+            @param p The F2mPoint to Multiply.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.MultiplyFromTnaf(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte[])">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the <code>&#964;</code>-adic NAF (TNAF) method, given the TNAF
+            of <code>&#955;</code>.
+            @param p The F2mPoint to Multiply.
+            @param u The the TNAF of <code>&#955;</code>..
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.TauAdicWNaf(System.SByte,Org.BouncyCastle.Math.EC.Abc.ZTauElement,System.SByte,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Abc.ZTauElement[])">
+            Computes the <code>[&#964;]</code>-adic window NAF of an element
+            <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>.
+            @param mu The parameter &#956; of the elliptic curve.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code> of which to compute the
+            <code>[&#964;]</code>-adic NAF.
+            @param width The window width of the resulting WNAF.
+            @param pow2w 2<sup>width</sup>.
+            @param tw The auxiliary value <code>t<sub>w</sub></code>.
+            @param alpha The <code>&#945;<sub>u</sub></code>'s for the window width.
+            @return The <code>[&#964;]</code>-adic window NAF of
+            <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.Tnaf.GetPreComp(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte)">
+            Does the precomputation for WTNAF multiplication.
+            @param p The <code>ECPoint</code> for which to do the precomputation.
+            @param a The parameter <code>a</code> of the elliptic curve.
+            @return The precomputation array for <code>p</code>. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Abc.ZTauElement">
+            Class representing an element of <code><b>Z</b>[&#964;]</code>. Let
+            <code>&#955;</code> be an element of <code><b>Z</b>[&#964;]</code>. Then
+            <code>&#955;</code> is given as <code>&#955; = u + v&#964;</code>. The
+            components <code>u</code> and <code>v</code> may be used directly, there
+            are no accessor methods.
+            Immutable class.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.ZTauElement.u">
+            The &quot;real&quot; part of <code>&#955;</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Abc.ZTauElement.v">
+            The &quot;<code>&#964;</code>-adic&quot; part of <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Abc.ZTauElement.#ctor(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for an element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code>.
+            @param u The &quot;real&quot; part of <code>&#955;</code>.
+            @param v The &quot;<code>&#964;</code>-adic&quot; part of
+            <code>&#955;</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.ECCurve">
+            <remarks>Base class for an elliptic curve.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECCurveBase.DecodePoint(System.Byte[])">
+            Decode a point on this curve from its ASN.1 encoding. The different
+            encodings are taken account of, including point compression for
+            <code>F<sub>p</sub></code> (X9.62 s 4.2.1 pg 17).
+            @return The decoded point.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.FpCurve">
+            Elliptic curve over Fp
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mCurve">
+            Elliptic curves over F2m. The Weierstrass equation is given by
+            <code>y<sup>2</sup> + xy = x<sup>3</sup> + ax<sup>2</sup> + b</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.m">
+            The exponent <code>m</code> of <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k1">
+            TPB: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            PPB: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k2">
+            TPB: Always set to <code>0</code><br/>
+            PPB: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.k3">
+            TPB: Always set to <code>0</code><br/>
+            PPB: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.n">
+            The order of the base point of the curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.h">
+            The cofactor of the curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.infinity">
+            The point at infinity on this curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.mu">
+            The parameter <code>&#956;</code> of the elliptic curve if this is
+            a Koblitz curve.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mCurve.si">
+            The auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction for
+            Koblitz curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Trinomial Polynomial Basis (TPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Trinomial Polynomial Basis (TPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param n The order of the main subgroup of the elliptic curve.
+            @param h The cofactor of the elliptic curve, i.e.
+            <code>#E<sub>a</sub>(F<sub>2<sup>m</sup></sub>) = h * n</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Pentanomial Polynomial Basis (PPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Pentanomial Polynomial Basis (PPB).
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param a The coefficient <code>a</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param b The coefficient <code>b</code> in the Weierstrass equation
+            for non-supersingular elliptic curves over
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param n The order of the main subgroup of the elliptic curve.
+            @param h The cofactor of the elliptic curve, i.e.
+            <code>#E<sub>a</sub>(F<sub>2<sup>m</sup></sub>) = h * n</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.GetMu">
+            Returns the parameter <code>&#956;</code> of the elliptic curve.
+            @return <code>&#956;</code> of the elliptic curve.
+            @throws ArgumentException if the given ECCurve is not a
+            Koblitz curve.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.GetSi">
+            @return the auxiliary values <code>s<sub>0</sub></code> and
+            <code>s<sub>1</sub></code> used for partial modular reduction for
+            Koblitz curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.solveQuadradicEquation(Org.BouncyCastle.Math.EC.ECFieldElement)">
+             Solves a quadratic equation <code>z<sup>2</sup> + z = beta</code>(X9.62
+             D.1.6) The other solution is <code>z + 1</code>.
+            
+             @param beta
+                        The value to solve the qradratic equation for.
+             @return the solution for <code>z<sup>2</sup> + z = beta</code> or
+                     <code>null</code> if no solution exists.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mCurve.IsTrinomial">
+             Return true if curve uses a Trinomial basis.
+            
+             @return true if curve Trinomial, false otherwise.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mCurve.IsKoblitz">
+            Returns true if this is a Koblitz curve (ABC curve).
+            @return true if this is a Koblitz curve (ABC curve), false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpFieldElement.Sqrt">
+            return a sqrt root - the routine verifies that the calculation
+            returns the right value - if none exists it returns null.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.FpFieldElement.FieldName">
+             return the field name for this field.
+            
+             @return the string "Fp".
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mFieldElement">
+            Class representing the Elements of the finite field
+            <code>F<sub>2<sup>m</sup></sub></code> in polynomial basis (PB)
+            representation. Both trinomial (Tpb) and pentanomial (Ppb) polynomial
+            basis representations are supported. Gaussian normal basis (GNB)
+            representation is not supported.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Gnb">
+            Indicates gaussian normal basis representation (GNB). Number chosen
+            according to X9.62. GNB is not implemented at present.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Tpb">
+            Indicates trinomial basis representation (Tpb). Number chosen
+            according to X9.62.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.Ppb">
+            Indicates pentanomial basis representation (Ppb). Number chosen
+            according to X9.62.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.representation">
+            Tpb or Ppb.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.m">
+            The exponent <code>m</code> of <code>F<sub>2<sup>m</sup></sub></code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k1">
+            Tpb: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            Ppb: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k2">
+            Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.k3">
+            Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.x">
+            The <code>IntArray</code> holding the bits.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.F2mFieldElement.t">
+            The number of <code>int</code>s required to hold <code>m</code> bits.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Ppb.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k1 The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k2 The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param k3 The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.
+            @param x The BigInteger representing the value of the field element.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.#ctor(System.Int32,System.Int32,Org.BouncyCastle.Math.BigInteger)">
+            Constructor for Tpb.
+            @param m  The exponent <code>m</code> of
+            <code>F<sub>2<sup>m</sup></sub></code>.
+            @param k The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction
+            polynomial <code>f(z)</code>.
+            @param x The BigInteger representing the value of the field element.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mFieldElement.CheckFieldElements(Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+            Checks, if the ECFieldElements <code>a</code> and <code>b</code>
+            are elements of the same field <code>F<sub>2<sup>m</sup></sub></code>
+            (having the same representation).
+            @param a field element.
+            @param b field element to be compared.
+            @throws ArgumentException if <code>a</code> and <code>b</code>
+            are not elements of the same field
+            <code>F<sub>2<sup>m</sup></sub></code> (having the same
+            representation).
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.Representation">
+            @return the representation of the field
+            <code>F<sub>2<sup>m</sup></sub></code>, either of
+            {@link F2mFieldElement.Tpb} (trinomial
+            basis representation) or
+            {@link F2mFieldElement.Ppb} (pentanomial
+            basis representation).
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.M">
+            @return the degree <code>m</code> of the reduction polynomial
+            <code>f(z)</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K1">
+            @return Tpb: The integer <code>k</code> where <code>x<sup>m</sup> +
+            x<sup>k</sup> + 1</code> represents the reduction polynomial
+            <code>f(z)</code>.<br/>
+            Ppb: The integer <code>k1</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K2">
+            @return Tpb: Always returns <code>0</code><br/>
+            Ppb: The integer <code>k2</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="P:Org.BouncyCastle.Math.EC.F2mFieldElement.K3">
+            @return Tpb: Always set to <code>0</code><br/>
+            Ppb: The integer <code>k3</code> where <code>x<sup>m</sup> +
+            x<sup>k3</sup> + x<sup>k2</sup> + x<sup>k1</sup> + 1</code>
+            represents the reduction polynomial <code>f(z)</code>.<br/>
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.ECPoint">
+            base class for points on elliptic curves.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPoint.SetPreCompInfo(Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Sets the <code>PreCompInfo</code>. Used by <code>ECMultiplier</code>s
+            to save the precomputation for this <code>ECPoint</code> to store the
+            precomputation result for use by subsequent multiplication.
+            @param preCompInfo The values precomputed by the
+            <code>ECMultiplier</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPoint.AssertECMultiplier">
+            Sets the appropriate <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPointBase.GetEncoded">
+            return the field element encoded with point compression. (S 4.3.6)
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.ECPointBase.Multiply(Org.BouncyCastle.Math.BigInteger)">
+            Multiplies this <code>ECPoint</code> by the given number.
+            @param k The multiplicator.
+            @return <code>k * this</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.FpPoint">
+            Elliptic curve points over Fp
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+             Create a point which encodes with point compression.
+            
+             @param curve the curve to use
+             @param x affine x co-ordinate
+             @param y affine y co-ordinate
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)">
+             Create a point that encodes with or without point compresion.
+            
+             @param curve the curve to use
+             @param x affine x co-ordinate
+             @param y affine y co-ordinate
+             @param withCompression if true encode with point compression
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.FpPoint.AssertECMultiplier">
+            Sets the default <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.F2mPoint">
+            Elliptic curve points over F2m
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement)">
+            @param curve base curve
+            @param x x point
+            @param y y point
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve,Org.BouncyCastle.Math.EC.ECFieldElement,Org.BouncyCastle.Math.EC.ECFieldElement,System.Boolean)">
+            @param curve base curve
+            @param x x point
+            @param y y point
+            @param withCompression true if encode with point compression.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.#ctor(Org.BouncyCastle.Math.EC.ECCurve)">
+            Constructor for point at infinity
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.CheckPoints(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.EC.ECPoint)">
+            Check, if two <code>ECPoint</code>s can be added or subtracted.
+            @param a The first <code>ECPoint</code> to check.
+            @param b The second <code>ECPoint</code> to check.
+            @throws IllegalArgumentException if <code>a</code> and <code>b</code>
+            cannot be added.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.AddSimple(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Adds another <code>ECPoints.F2m</code> to <code>this</code> without
+            checking if both points are on the same curve. Used by multiplication
+            algorithms, because there all points are a multiple of the same point
+            and hence the checks can be omitted.
+            @param b The other <code>ECPoints.F2m</code> to add to
+            <code>this</code>.
+            @return <code>this + b</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.SubtractSimple(Org.BouncyCastle.Math.EC.F2mPoint)">
+            Subtracts another <code>ECPoints.F2m</code> from <code>this</code>
+            without checking if both points are on the same curve. Used by
+            multiplication algorithms, because there all points are a multiple
+            of the same point and hence the checks can be omitted.
+            @param b The other <code>ECPoints.F2m</code> to subtract from
+            <code>this</code>.
+            @return <code>this - b</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.F2mPoint.AssertECMultiplier">
+            Sets the appropriate <code>ECMultiplier</code>, unless already set. 
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier">
+            Interface for classes encapsulating a point multiplication algorithm
+            for <code>ECPoint</code>s.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.ECMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies the <code>ECPoint p</code> by <code>k</code>, i.e.
+            <code>p</code> is added <code>k</code> times to itself.
+            @param p The <code>ECPoint</code> to be multiplied.
+            @param k The factor by which <code>p</code> i multiplied.
+            @return <code>p</code> multiplied by <code>k</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.FpNafMultiplier">
+            Class implementing the NAF (Non-Adjacent Form) multiplication algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.FpNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            D.3.2 pg 101
+            @see org.bouncycastle.math.ec.multiplier.ECMultiplier#multiply(org.bouncycastle.math.ec.ECPoint, java.math.BigInteger)
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo">
+            Interface for classes storing precomputation data for multiplication
+            algorithms. Used as a Memento (see GOF patterns) for
+            <code>WNafMultiplier</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.ReferenceMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Simple shift-and-add multiplication. Serves as reference implementation
+            to verify (possibly faster) implementations in
+            {@link org.bouncycastle.math.ec.ECPoint ECPoint}.
+            
+            @param p The point to multiply.
+            @param k The factor by which to multiply.
+            @return The result of the point multiplication <code>k * p</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier">
+            Class implementing the WNAF (Window Non-Adjacent Form) multiplication
+            algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier.WindowNaf(System.SByte,Org.BouncyCastle.Math.BigInteger)">
+            Computes the Window NAF (non-adjacent Form) of an integer.
+            @param width The width <code>w</code> of the Window NAF. The width is
+            defined as the minimal number <code>w</code>, such that for any
+            <code>w</code> consecutive digits in the resulting representation, at
+            most one is non-zero.
+            @param k The integer of which the Window NAF is computed.
+            @return The Window NAF of the given width, such that the following holds:
+            <code>k = &#8722;<sub>i=0</sub><sup>l-1</sup> k<sub>i</sub>2<sup>i</sup>
+            </code>, where the <code>k<sub>i</sub></code> denote the elements of the
+            returned <code>sbyte[]</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies <code>this</code> by an integer <code>k</code> using the
+            Window NAF method.
+            @param k The integer by which <code>this</code> is multiplied.
+            @return A new <code>ECPoint</code> which equals <code>this</code>
+            multiplied by <code>k</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo">
+            Class holding precomputation data for the WNAF (Window Non-Adjacent Form)
+            algorithm.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo.preComp">
+            Array holding the precomputed <code>ECPoint</code>s used for the Window
+            NAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WNafMultiplier.multiply()
+            WNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WNafPreCompInfo.twiceP">
+            Holds an <code>ECPoint</code> representing twice(this). Used for the
+            Window NAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WNafMultiplier.multiply()
+            WNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier">
+            Class implementing the WTNAF (Window
+            <code>&#964;</code>-adic Non-Adjacent Form) algorithm.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.Multiply(Org.BouncyCastle.Math.EC.ECPoint,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by <code>k</code> using the reduced <code>&#964;</code>-adic NAF (RTNAF)
+            method.
+            @param p The F2mPoint to multiply.
+            @param k The integer by which to multiply <code>k</code>.
+            @return <code>p</code> multiplied by <code>k</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.MultiplyWTnaf(Org.BouncyCastle.Math.EC.F2mPoint,Org.BouncyCastle.Math.EC.Abc.ZTauElement,Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo,System.SByte,System.SByte)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code> using
+            the <code>&#964;</code>-adic NAF (TNAF) method.
+            @param p The F2mPoint to multiply.
+            @param lambda The element <code>&#955;</code> of
+            <code><b>Z</b>[&#964;]</code> of which to compute the
+            <code>[&#964;]</code>-adic NAF.
+            @return <code>p</code> multiplied by <code>&#955;</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafMultiplier.MultiplyFromWTnaf(Org.BouncyCastle.Math.EC.F2mPoint,System.SByte[],Org.BouncyCastle.Math.EC.Multiplier.PreCompInfo)">
+            Multiplies a {@link org.bouncycastle.math.ec.F2mPoint F2mPoint}
+            by an element <code>&#955;</code> of <code><b>Z</b>[&#964;]</code>
+            using the window <code>&#964;</code>-adic NAF (TNAF) method, given the
+            WTNAF of <code>&#955;</code>.
+            @param p The F2mPoint to multiply.
+            @param u The the WTNAF of <code>&#955;</code>..
+            @return <code>&#955; * p</code>
+        </member>
+        <member name="T:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo">
+            Class holding precomputation data for the WTNAF (Window
+            <code>&#964;</code>-adic Non-Adjacent Form) algorithm.
+        </member>
+        <member name="F:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.preComp">
+            Array holding the precomputed <code>F2mPoint</code>s used for the
+            WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.#ctor(Org.BouncyCastle.Math.EC.F2mPoint[])">
+            Constructor for <code>WTauNafPreCompInfo</code>
+            @param preComp Array holding the precomputed <code>F2mPoint</code>s
+            used for the WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Math.EC.Multiplier.WTauNafPreCompInfo.GetPreComp">
+            @return the array holding the precomputed <code>F2mPoint</code>s
+            used for the WTNAF multiplication in <code>
+            {@link org.bouncycastle.math.ec.multiplier.WTauNafMultiplier.multiply()
+            WTauNafMultiplier.multiply()}</code>.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.BasicOcspResp">
+            <remarks>
+            <code>
+            BasicOcspResponse ::= SEQUENCE {
+            	tbsResponseData		ResponseData,
+            	signatureAlgorithm	AlgorithmIdentifier,
+            	signature			BIT STRING,
+            	certs				[0] EXPLICIT SEQUENCE OF Certificate OPTIONAL
+            }
+            </code>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509Extension.GetCriticalExtensionOids">
+            <summary>
+            Get all critical extension values, by oid
+            </summary>
+            <returns>IDictionary with string (OID) keys and Asn1OctetString values</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509Extension.GetNonCriticalExtensionOids">
+            <summary>
+            Get all non-critical extension values, by oid
+            </summary>
+            <returns>IDictionary with string (OID) keys and Asn1OctetString values</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetNonCriticalExtensionOids">
+            <summary>
+            Get non critical extensions.
+            </summary>
+            <returns>A set of non critical extension oids.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetCriticalExtensionOids">
+            <summary>
+            Get any critical extensions.
+            </summary>
+            <returns>A sorted list of critical entension.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509ExtensionBase.GetExtensionValue(System.String)">
+            <summary>
+            Get the value of a given extension.
+            </summary>
+            <param name="oid">The object ID of the extension. </param>
+            <returns>An Asn1OctetString object if that extension is found or null if not.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetTbsResponseData">
+            <returns>The DER encoding of the tbsResponseData field.</returns>
+            <exception cref="T:Org.BouncyCastle.Ocsp.OcspException">In the event of an encoding error.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetCertificates(System.String)">
+            <returns>The certificates, if any, associated with the response.</returns>
+            <exception cref="T:Org.BouncyCastle.Ocsp.OcspException">In the event of an encoding error.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Verify the signature against the tbsResponseData object we contain.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspResp.GetEncoded">
+            <returns>The ASN.1 encoded representation of this object.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator">
+            Generator for basic OCSP response objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.#ctor(Org.BouncyCastle.Ocsp.RespID)">
+            basic constructor
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            construct with the responderID to be the SHA-1 keyHash of the passed in public key.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param certStatus status of the certificate - null if okay
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param nextUpdate date when next update should be requested
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.AddResponse(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Ocsp.CertificateStatus,System.DateTime,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a response for a particular Certificate ID.
+            
+             @param certID certificate ID details
+             @param thisUpdate date this response was valid on
+             @param nextUpdate date when next update should be requested
+             @param certStatus status of the certificate - null if okay
+             @param singleExtensions optional extensions
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.SetResponseExtensions(Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Set the extensions for the response.
+            
+             @param responseExtensions the extension object to carry.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.BasicOcspRespGenerator.SignatureAlgNames">
+             Return an IEnumerable of the signature names supported by the generator.
+            
+             @return an IEnumerable containing recognised names.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.CertificateID.#ctor(System.String,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Math.BigInteger)">
+            create from an issuer certificate and the serial number of the
+            certificate it signed.
+            @exception OcspException if any problems occur creating the id fields.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.CertificateID.DeriveCertificateID(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Math.BigInteger)">
+             Create a new CertificateID for a new serial number derived from a previous one
+             calculated for the same CA certificate.
+            
+             @param original the previously calculated CertificateID for the CA.
+             @param newSerialNumber the serial number for the new certificate of interest.
+            
+             @return a new CertificateID for newSerialNumber
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.CertificateID.SerialNumber">
+            return the serial number for the certificate associated
+            with this request.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.OcspReq">
+             <pre>
+             OcspRequest     ::=     SEQUENCE {
+                   tbsRequest                  TBSRequest,
+                   optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
+            
+               TBSRequest      ::=     SEQUENCE {
+                   version             [0]     EXPLICIT Version DEFAULT v1,
+                   requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
+                   requestList                 SEQUENCE OF Request,
+                   requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }
+            
+               Signature       ::=     SEQUENCE {
+                   signatureAlgorithm      AlgorithmIdentifier,
+                   signature               BIT STRING,
+                   certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL}
+            
+               Version         ::=             INTEGER  {  v1(0) }
+            
+               Request         ::=     SEQUENCE {
+                   reqCert                     CertID,
+                   singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
+            
+               CertID          ::=     SEQUENCE {
+                   hashAlgorithm       AlgorithmIdentifier,
+                   issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
+                   issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
+                   serialNumber        CertificateSerialNumber }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetTbsRequest">
+            Return the DER encoding of the tbsRequest field.
+            @return DER encoding of tbsRequest
+            @throws OcspException in the event of an encoding error.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetCertificates(System.String)">
+             If the request is signed return a possibly empty CertStore containing the certificates in the
+             request. If the request is not signed the method returns null.
+            
+             @return null if not signed, a CertStore otherwise
+             @throws OcspException
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            Verify the signature against the TBSRequest object we contain.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReq.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReq.SignatureAlgOid">
+            return the object identifier representing the signature algorithm
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReq.IsSigned">
+             Return whether or not this request is signed.
+            
+             @return true if signed false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.AddRequest(Org.BouncyCastle.Ocsp.CertificateID)">
+             Add a request for the given CertificateID.
+            
+             @param certId certificate ID of interest
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.AddRequest(Org.BouncyCastle.Ocsp.CertificateID,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a request with extensions
+            
+             @param certId certificate ID of interest
+             @param singleRequestExtensions the extensions to attach to the request
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.SetRequestorName(Org.BouncyCastle.Asn1.X509.X509Name)">
+             Set the requestor name to the passed in X509Principal
+            
+             @param requestorName a X509Principal representing the requestor name.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspReqGenerator.Generate">
+             Generate an unsigned request
+            
+             @return the OcspReq
+             @throws OcspException
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.OcspReqGenerator.SignatureAlgNames">
+             Return an IEnumerable of the signature names supported by the generator.
+            
+             @return an IEnumerable containing recognised names.
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.OcspResp.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.OCSPRespGenerator">
+            base generator for an OCSP response - at the moment this only supports the
+            generation of responses containing BasicOCSP responses.
+        </member>
+        <member name="F:Org.BouncyCastle.Ocsp.OcspRespStatus.Successful">
+            note 4 is not used.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.RespID">
+            Carrier for a ResponderID.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.RevokedStatus">
+            wrapper for the RevokedInfo object
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.RevokedStatus.RevocationReason">
+            return the revocation reason. Note: this field is optional, test for it
+            with hasRevocationReason() first.
+            @exception InvalidOperationException if a reason is asked for and none is avaliable
+        </member>
+        <member name="M:Org.BouncyCastle.Ocsp.SingleResp.GetCertStatus">
+             Return the status object for the response - null indicates good.
+            
+             @return the status object for the response, null if it is good.
+        </member>
+        <member name="P:Org.BouncyCastle.Ocsp.SingleResp.NextUpdate">
+             return the NextUpdate value - note: this is an optional field so may
+             be returned as null.
+            
+             @return nextUpdate, or null if not present.
+        </member>
+        <member name="T:Org.BouncyCastle.Ocsp.UnknownStatus">
+            wrapper for the UnknownInfo object
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData">
+            <remarks>Compressed data objects</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.GetInputStream">
+            <summary>Get the raw input stream contained in the object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.GetDataStream">
+            <summary>Return an uncompressed input stream which allows reading of the compressed data.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedData.Algorithm">
+            <summary>The algorithm used for compression</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator">
+            <remarks>Class for producing compressed data packets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Open(System.IO.Stream)">
+            <summary>
+            <p>
+            Return an output stream which will save the data being written to
+            the compressed object.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+            <param name="outStr">Stream to be used for output.</param>
+            <returns>A Stream for output of the compressed data.</returns>
+            <exception cref="T:System.ArgumentNullException"></exception>
+            <exception cref="T:System.InvalidOperationException"></exception>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Open(System.IO.Stream,System.Byte[])">
+            <summary>
+            <p>
+            Return an output stream which will compress the data as it is written to it.
+            The stream will be written out in chunks according to the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.
+            </p>
+            <p>
+            <b>Note</b>: using this may break compatibility with RFC 1991 compliant tools.
+            Only recent OpenPGP implementations are capable of accepting these streams.
+            </p>
+            </summary>
+            <param name="outStr">Stream to be used for output.</param>
+            <param name="buffer">The buffer to use.</param>
+            <returns>A Stream for output of the compressed data.</returns>
+            <exception cref="T:System.ArgumentNullException"></exception>
+            <exception cref="T:System.InvalidOperationException"></exception>
+            <exception cref="T:System.IO.IOException"></exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpCompressedDataGenerator.Close">
+            <summary>Close the compressed object.</summary>summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpDataValidationException">
+            <remarks>
+            Thrown if the IV at the start of a data stream indicates the wrong key is being used.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">
+            <remarks>Generic exception class for PGP encoding/decoding problems.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.GetInputStream">
+            <summary>Return the raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.IsIntegrityProtected">
+            <summary>Return true if the message is integrity protected.</summary>
+            <returns>True, if there is a modification detection code namespace associated
+            with this stream.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedData.Verify">
+            <summary>Note: This can only be called after the message has been read.</summary>
+            <returns>True, if the message verifies, false otherwise</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator">
+            <remarks>Generator for encrypted objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Existing SecureRandom constructor.</summary>
+            <param name="encAlgorithm">The symmetric algorithm to use.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Boolean,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Creates a cipher stream which will have an integrity packet associated with it.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.#ctor(Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom,System.Boolean)">
+            <summary>Base constructor.</summary>
+            <param name="encAlgorithm">The symmetric algorithm to use.</param>
+            <param name="rand">Source of randomness.</param>
+            <param name="oldFormat">PGP 2.6.x compatibility required.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(System.Char[])">
+            <summary>
+            Add a PBE encryption method to the encrypted object using the default algorithm (S2K_SHA1).
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(System.Char[],Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Add a PBE encryption method to the encrypted object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.AddMethod(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Add a public key encrypted session key to the encrypted object.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Int64,System.Byte[])">
+            <summary>
+            <p>
+            If buffer is non null stream assumed to be partial, otherwise the length will be used
+            to output a fixed length packet.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Int64)">
+            <summary>
+            <p>
+            Return an output stream which will encrypt the data as it is written to it.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Open(System.IO.Stream,System.Byte[])">
+            <summary>
+            <p>
+            Return an output stream which will encrypt the data as it is written to it.
+            The stream will be written out in chunks according to the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.
+            </p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataGenerator.Close">
+            <summary>
+            <p>
+            Close off the encrypted object - this is equivalent to calling Close() on the stream
+            returned by the Open() method.
+            </p>
+            <p>
+            <b>Note</b>: This does not close the underlying output stream, only the stream on top of
+            it created by the Open() method.
+            </p>
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpEncryptedDataList">
+            <remarks>A holder for a list of PGP encryption method packets.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyFlags">
+            <remarks>Key flag values for the KeyFlags subpacket.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair">
+            <remarks>
+            General class to handle JCA key pairs and convert them into OpenPGP ones.
+            <p>
+            A word for the unwary, the KeyId for an OpenPGP public key is calculated from
+            a hash that includes the time of creation, if you pass a different date to the
+            constructor below with the same public private key pair the KeyIs will not be the
+            same as for previous generations of the key, so ideally you only want to do
+            this once.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair.#ctor(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Create a key pair from a PgpPrivateKey and a PgpPublicKey.</summary>
+            <param name="pub">The public key.</param>
+            <param name="priv">The private key.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair.KeyId">
+            <summary>The keyId associated with this key pair.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator">
+            <remarks>
+            Generator for a PGP master and subkey ring.
+            This class will generate both the secret and public key rings
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.#ctor(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,System.String,Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Char[],Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Create a new key ring generator using old style checksumming. It is recommended to use
+            SHA1 checksumming where possible.
+            </summary>
+            <param name="certificationLevel">The certification level for keys on this ring.</param>
+            <param name="masterKey">The master key pair.</param>
+            <param name="id">The id to be associated with the ring.</param>
+            <param name="encAlgorithm">The algorithm to be used to protect secret keys.</param>
+            <param name="passPhrase">The passPhrase to be used to protect secret keys.</param>
+            <param name="hashedPackets">Packets to be included in the certification hash.</param>
+            <param name="unhashedPackets">Packets to be attached unhashed to the certification.</param>
+            <param name="rand">input secured random.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.#ctor(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,System.String,Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,System.Char[],System.Boolean,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Create a new key ring generator.
+            </summary>
+            <param name="certificationLevel">The certification level for keys on this ring.</param>
+            <param name="masterKey">The master key pair.</param>
+            <param name="id">The id to be associated with the ring.</param>
+            <param name="encAlgorithm">The algorithm to be used to protect secret keys.</param>
+            <param name="passPhrase">The passPhrase to be used to protect secret keys.</param>
+            <param name="useSha1">Checksum the secret keys with SHA1 rather than the older 16 bit checksum.</param>
+            <param name="hashedPackets">Packets to be included in the certification hash.</param>
+            <param name="unhashedPackets">Packets to be attached unhashed to the certification.</param>
+            <param name="rand">input secured random.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.AddSubKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair)">
+            <summary>Add a subkey to the key ring to be generated with default certification.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.AddSubKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyPair,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector)">
+            <summary>
+            Add a subkey with specific hashed and unhashed packets associated with it and
+            default certification.
+            </summary>
+            <param name="keyPair">Public/private key pair.</param>
+            <param name="hashedPackets">Hashed packet values to be included in certification.</param>
+            <param name="unhashedPackets">Unhashed packets values to be included in certification.</param>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.GenerateSecretKeyRing">
+            <summary>Return the secret key ring.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyRingGenerator.GeneratePublicKeyRing">
+            <summary>Return the public key ring that corresponds to the secret key ring.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpKeyValidationException">
+            <remarks>
+            Thrown if the key checksum is invalid.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData">
+            <summary>Class for processing literal data objects.</summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.Console">
+            <summary>The special name indicating a "for your eyes only" packet.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetRawFileName">
+            Return the file name as an unintrepreted byte array.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetInputStream">
+            <summary>The raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.GetDataStream">
+            <summary>The input stream representing the data stream.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.Format">
+            <summary>The format of the data stream - Binary or Text</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.FileName">
+            <summary>The file name that's associated with the data stream.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralData.ModificationTime">
+            <summary>The modification time for the file.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator">
+            <remarks>Class for producing literal data packets.</remarks>
+        </member>
+        <member name="F:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Console">
+            <summary>The special name indicating a "for your eyes only" packet.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.#ctor(System.Boolean)">
+            <summary>
+            Generates literal data objects in the old format.
+            This is important if you need compatibility with PGP 2.6.x.
+            </summary>
+            <param name="oldFormat">If true, uses old format.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Open(System.IO.Stream,System.Char,System.String,System.Int64,System.DateTime)">
+            <summary>
+            <p>
+            Open a literal data packet, returning a stream to store the data inside the packet.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            </summary>
+            <param name="outStr">The stream we want the packet in.</param>
+            <param name="format">The format we are using.</param>
+            <param name="name">The name of the 'file'.</param>
+            <param name="length">The length of the data we will write.</param>
+            <param name="modificationTime">The time of last modification we want stored.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Open(System.IO.Stream,System.Char,System.String,System.DateTime,System.Byte[])">
+            <summary>
+            <p>
+            Open a literal data packet, returning a stream to store the data inside the packet,
+            as an indefinite length stream. The stream is written out as a series of partial
+            packets with a chunk size determined by the size of the passed in buffer.
+            </p>
+            <p>
+            The stream created can be closed off by either calling Close()
+            on the stream or Close() on the generator. Closing the returned
+            stream does not close off the Stream parameter <c>outStr</c>.
+            </p>
+            <p>
+            <b>Note</b>: if the buffer is not a power of 2 in length only the largest power of 2
+            bytes worth of the buffer will be used.</p>
+            </summary>
+            <param name="outStr">The stream we want the packet in.</param>
+            <param name="format">The format we are using.</param>
+            <param name="name">The name of the 'file'.</param>
+            <param name="modificationTime">The time of last modification we want stored.</param>
+            <param name="buffer">The buffer to use for collecting data to put into chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpLiteralDataGenerator.Close">
+            <summary>
+            Close the literal data packet - this is equivalent to calling Close()
+            on the stream returned by the Open() method.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpMarker">
+            <remarks>
+            A PGP marker packet - in general these should be ignored other than where
+            the idea is to preserve the original input stream.
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory">
+            <remarks>
+            General class for reading a PGP object stream.
+            <p>
+            Note: if this class finds a PgpPublicKey or a PgpSecretKey it
+            will create a PgpPublicKeyRing, or a PgpSecretKeyRing for each
+            key found. If all you are trying to do is read a key ring file use
+            either PgpPublicKeyRingBundle or PgpSecretKeyRingBundle.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory.NextPgpObject">
+            <summary>Return the next object in the stream, or null if the end is reached.</summary>
+            <exception cref="T:System.IO.IOException">On a parse error</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpObjectFactory.AllPgpObjects">
+            <summary>
+            Return all available objects in a list.
+            </summary>
+            <returns>An <c>IList</c> containing all objects from this factory, in order.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature">
+            <remarks>A one pass signature object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature.InitVerify(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Initialise the signature object for verification.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignature.Verify(Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Verify the calculated signature against the passed in PgpSignature.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpOnePassSignatureList">
+            <remarks>Holder for a list of PgpOnePassSignature objects.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData">
+            <remarks>A password based encryption object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData.GetInputStream">
+            <summary>Return the raw input stream for the data stream.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPbeEncryptedData.GetDataStream(System.Char[])">
+            <summary>Return the decrypted input stream, using the passed in passphrase.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey">
+            <remarks>General class to contain a private key for use with other OpenPGP objects.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Int64)">
+            <summary>
+            Create a PgpPrivateKey from a regular private key and the ID of its
+            associated public key.
+            </summary>
+            <param name="privateKey">Private key to use.</param>
+            <param name="keyId">ID of the corresponding public key.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.KeyId">
+            <summary>The keyId associated with the contained private key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey.Key">
+            <summary>The contained private key.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey">
+            <remarks>General class to handle a PGP public key object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.DateTime)">
+            <summary>
+            Create a PgpPublicKey from the passed in lightweight one.
+            </summary>
+            <remarks>
+            Note: the time passed in affects the value of the key's keyId, so you probably only want
+            to do this once for a lightweight key, or make sure you keep track of the time you used.
+            </remarks>
+            <param name="algorithm">Asymmetric algorithm type representing the public key.</param>
+            <param name="pubKey">Actual public key to associate.</param>
+            <param name="time">Date of creation.</param>
+            <exception cref="T:System.ArgumentException">If <c>pubKey</c> is not public.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">On key creation problem.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.PublicKeyPacket,Org.BouncyCastle.Bcpg.TrustPacket,System.Collections.IList)">
+            <summary>Constructor for a sub-key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.#ctor(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Copy constructor.</summary>
+            <param name="pubKey">The public key to copy.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetTrustData">
+            <summary>Return the trust data associated with the public key, if present.</summary>
+            <returns>A byte array with trust data, null otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetValidSeconds">
+            <summary>The number of valid seconds from creation time - zero means no expiry.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetFingerprint">
+            <summary>The fingerprint of the key</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetKey">
+            <summary>The public key contained in the object.</summary>
+            <returns>A lightweight public key.</returns>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If the key algorithm is not recognised.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetUserIds">
+            <summary>Allows enumeration of any user IDs associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetUserAttributes">
+            <summary>Allows enumeration of any user attribute vectors associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpUserAttributeSubpacketVector</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesForId(System.String)">
+            <summary>Allows enumeration of any signatures associated with the passed in id.</summary>
+            <param name="id">The ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesForUserAttribute(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector)">
+            <summary>Allows enumeration of signatures associated with the passed in user attributes.</summary>
+            <param name="userAttributes">The vector of user attributes to be matched.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignaturesOfType(System.Int32)">
+            <summary>Allows enumeration of signatures of the passed in type that are on this key.</summary>
+            <param name="signatureType">The type of the signature to be returned.</param>
+            <returns>An <c>IEnumerable</c> of <c>PgpSignature</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.GetSignatures">
+            <summary>Allows enumeration of all signatures/certifications associated with this key.</summary>
+            <returns>An <c>IEnumerable</c> with all signatures/certifications.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsRevoked">
+            <summary>Check whether this (sub)key has a revocation signature on it.</summary>
+            <returns>True, if this (sub)key has been revoked.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a certification for an id to the given public key.</summary>
+            <param name="key">The key the certification is to be added to.</param>
+            <param name="id">The ID the certification is associated with.</param>
+            <param name="certification">The new certification.</param>
+            <returns>The re-certified key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a certification for the given UserAttributeSubpackets to the given public key.</summary>
+            <param name="key">The key the certification is to be added to.</param>
+            <param name="userAttributes">The attributes the certification is associated with.</param>
+            <param name="certification">The new certification.</param>
+            <returns>The re-certified key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector)">
+            <summary>
+            Remove any certifications associated with a user attribute subpacket on a key.
+            </summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="userAttributes">The attributes to be removed.</param>
+            <returns>
+            The re-certified key, or null if the user attribute subpacket was not found on the key.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String)">
+            <summary>Remove any certifications associated with a given ID on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="id">The ID that is to be removed.</param>
+            <returns>The re-certified key, or null if the ID was not found on the key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification associated with a given ID on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="id">The ID that the certfication is to be removed from.</param>
+            <param name="certification">The certfication to be removed.</param>
+            <returns>The re-certified key, or null if the certification was not found.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification associated with a given user attributes on a key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="userAttributes">The user attributes that the certfication is to be removed from.</param>
+            <param name="certification">The certification to be removed.</param>
+            <returns>The re-certified key, or null if the certification was not found.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.AddCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Add a revocation or some other key certification to a key.</summary>
+            <param name="key">The key the revocation is to be added to.</param>
+            <param name="certification">The key signature to be added.</param>
+            <returns>The new changed public key object.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.RemoveCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature)">
+            <summary>Remove a certification from the key.</summary>
+            <param name="key">The key the certifications are to be removed from.</param>
+            <param name="certification">The certfication to be removed.</param>
+            <returns>The modified key, null if the certification was not found.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.Version">
+            <summary>The version of this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.CreationTime">
+            <summary>The creation time of this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.ValidDays">
+            <summary>The number of valid days from creation time - zero means no expiry.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.KeyId">
+            <summary>The keyId associated with the public key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsEncryptionKey">
+            <summary>
+            Check if this key has an algorithm type that makes it suitable to use for encryption.
+            </summary>
+            <remarks>
+            Note: with version 4 keys KeyFlags subpackets should also be considered when present for
+            determining the preferred use of the key.
+            </remarks>
+            <returns>
+            <c>true</c> if this key algorithm is suitable for encryption.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.IsMasterKey">
+            <summary>True, if this is a master key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.Algorithm">
+            <summary>The algorithm code associated with the public key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey.BitStrength">
+            <summary>The strength of the key in bits.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData">
+            <remarks>A public key encrypted data object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.GetSymmetricAlgorithm(Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>
+            Return the algorithm code for the symmetric algorithm used to encrypt the data.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.GetDataStream(Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Return the decrypted data stream for the packet.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyEncryptedData.KeyId">
+            <summary>The key ID for the key used to encrypt the data.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing">
+            <remarks>
+            Class to hold a single master public key and its subkeys.
+            <p>
+            Often PGP keyring files consist of multiple master keys, if you are trying to process
+            or construct one of these you should use the <c>PgpPublicKeyRingBundle</c> class.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKey">
+            <summary>Return the first public key in the ring.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKey(System.Int64)">
+            <summary>Return the public key referred to by the passed in key ID if it is present.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.GetPublicKeys">
+            <summary>Allows enumeration of all the public keys.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpPublicKey</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.InsertPublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Returns a new key ring with the public key passed in either added or
+            replacing an existing one.
+            </summary>
+            <param name="pubRing">The public key ring to be modified.</param>
+            <param name="pubKey">The public key to be inserted.</param>
+            <returns>A new <c>PgpPublicKeyRing</c></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing.RemovePublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Returns a new key ring with the public key passed in removed from the key ring.</summary>
+            <param name="pubRing">The public key ring to be modified.</param>
+            <param name="pubKey">The public key to be removed.</param>
+            <returns>A new <c>PgpPublicKeyRing</c>, or null if pubKey is not found.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle">
+            <remarks>
+            Often a PGP key ring file is made up of a succession of master/sub-key key rings.
+            If you want to read an entire public key file in one hit this is the class for you.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.#ctor(System.IO.Stream)">
+            <summary>Build a PgpPublicKeyRingBundle from the passed in input stream.</summary>
+            <param name="inputStream">Input stream containing data.</param>
+            <exception cref="T:System.IO.IOException">If a problem parsing the stream occurs.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If an object is encountered which isn't a PgpPublicKeyRing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings">
+            <summary>Allow enumeration of the public key rings making up this collection.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetKeyRings(System.String,System.Boolean,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <param name="ignoreCase">If true, case is ignored in user ID comparisons.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetPublicKey(System.Int64)">
+            <summary>Return the PGP public key associated with the given key id.</summary>
+            <param name="keyId">The ID of the public key to return.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.GetPublicKeyRing(System.Int64)">
+            <summary>Return the public key ring which contains the key referred to by keyId</summary>
+            <param name="keyId">key ID to match against</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.Contains(System.Int64)">
+            <summary>
+            Return true if a key matching the passed in key ID is present, false otherwise.
+            </summary>
+            <param name="keyID">key ID to look for.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.AddPublicKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle and
+            the passed in public key ring.
+            </summary>
+            <param name="bundle">The <c>PgpPublicKeyRingBundle</c> the key ring is to be added to.</param>
+            <param name="publicKeyRing">The key ring to be added.</param>
+            <returns>A new <c>PgpPublicKeyRingBundle</c> merging the current one with the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is already present.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.RemovePublicKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle with
+            the passed in public key ring removed.
+            </summary>
+            <param name="bundle">The <c>PgpPublicKeyRingBundle</c> the key ring is to be removed from.</param>
+            <param name="publicKeyRing">The key ring to be removed.</param>
+            <returns>A new <c>PgpPublicKeyRingBundle</c> not containing the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is not present.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRingBundle.Count">
+            <summary>Return the number of key rings in this collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey">
+            <remarks>General class to handle a PGP secret key object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.ExtractPrivateKey(System.Char[])">
+            <summary>Extract a <c>PgpPrivateKey</c> from this secret key's encrypted contents.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.CopyWithNewPassword(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,System.Char[],System.Char[],Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Return a copy of the passed in secret key, encrypted using a new password
+            and the passed in algorithm.
+            </summary>
+            <param name="key">The PgpSecretKey to be copied.</param>
+            <param name="oldPassPhrase">The current password for the key.</param>
+            <param name="newPassPhrase">The new password for the key.</param>
+            <param name="newEncAlgorithm">The algorithm to be used for the encryption.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.ReplacePublicKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Replace the passed the public key on the passed in secret key.</summary>
+            <param name="secretKey">Secret key to change.</param>
+            <param name="publicKey">New public key.</param>
+            <returns>A new secret key.</returns>
+            <exception cref="T:System.ArgumentException">If KeyId's do not match.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.IsSigningKey">
+            <summary>
+            Check if this key has an algorithm type that makes it suitable to use for signing.
+            </summary>
+            <remarks>
+            Note: with version 4 keys KeyFlags subpackets should also be considered when present for
+            determining the preferred use of the key.
+            </remarks>
+            <returns>
+            <c>true</c> if this key algorithm is suitable for use with signing.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.IsMasterKey">
+            <summary>True, if this is a master key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.KeyEncryptionAlgorithm">
+            <summary>The algorithm the key is encrypted with.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.KeyId">
+            <summary>The key ID of the public key associated with this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.PublicKey">
+            <summary>The public key associated with this key.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.UserIds">
+            <summary>Allows enumeration of any user IDs associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey.UserAttributes">
+            <summary>Allows enumeration of any user attribute vectors associated with the key.</summary>
+            <returns>An <c>IEnumerable</c> of <c>string</c> objects.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing">
+            <remarks>
+            Class to hold a single master secret key and its subkeys.
+            <p>
+            Often PGP keyring files consist of multiple master keys, if you are trying to process
+            or construct one of these you should use the <c>PgpSecretKeyRingBundle</c> class.
+            </p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetPublicKey">
+            <summary>Return the public key for the master key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetSecretKey">
+            <summary>Return the master private key.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetSecretKeys">
+            <summary>Allows enumeration of the secret keys.</summary>
+            <returns>An <c>IEnumerable</c> of <c>PgpSecretKey</c> objects.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.GetExtraPublicKeys">
+            <summary>
+            Return an iterator of the public keys in the secret key ring that
+            have no matching private key. At the moment only personal certificate data
+            appears in this fashion.
+            </summary>
+            <returns>An <c>IEnumerable</c> of unattached, or extra, public keys.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.ReplacePublicKeys(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKeyRing)">
+            <summary>
+            Replace the public key set on the secret ring with the corresponding key off the public ring.
+            </summary>
+            <param name="secretRing">Secret ring to be changed.</param>
+            <param name="publicRing">Public ring containing the new public key set.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.CopyWithNewPassword(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,System.Char[],System.Char[],Org.BouncyCastle.Bcpg.SymmetricKeyAlgorithmTag,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Return a copy of the passed in secret key ring, with the master key and sub keys encrypted
+            using a new password and the passed in algorithm.
+            </summary>
+            <param name="ring">The <c>PgpSecretKeyRing</c> to be copied.</param>
+            <param name="oldPassPhrase">The current password for key.</param>
+            <param name="newPassPhrase">The new password for the key.</param>
+            <param name="newEncAlgorithm">The algorithm to be used for the encryption.</param>
+            <param name="rand">Source of randomness.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.InsertSecretKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
+            <summary>
+            Returns a new key ring with the secret key passed in either added or
+            replacing an existing one with the same key ID.
+            </summary>
+            <param name="secRing">The secret key ring to be modified.</param>
+            <param name="secKey">The secret key to be inserted.</param>
+            <returns>A new <c>PgpSecretKeyRing</c></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing.RemoveSecretKey(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKey)">
+            <summary>Returns a new key ring with the secret key passed in removed from the key ring.</summary>
+            <param name="secRing">The secret key ring to be modified.</param>
+            <param name="secKey">The secret key to be removed.</param>
+            <returns>A new <c>PgpSecretKeyRing</c>, or null if secKey is not found.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle">
+            <remarks>
+            Often a PGP key ring file is made up of a succession of master/sub-key key rings.
+            If you want to read an entire secret key file in one hit this is the class for you.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.#ctor(System.IO.Stream)">
+            <summary>Build a PgpSecretKeyRingBundle from the passed in input stream.</summary>
+            <param name="inputStream">Input stream containing data.</param>
+            <exception cref="T:System.IO.IOException">If a problem parsing the stream occurs.</exception>
+            <exception cref="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpException">If an object is encountered which isn't a PgpSecretKeyRing.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings">
+            <summary>Allow enumeration of the secret key rings making up this collection.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetKeyRings(System.String,System.Boolean,System.Boolean)">
+            <summary>Allow enumeration of the key rings associated with the passed in userId.</summary>
+            <param name="userId">The user ID to be matched.</param>
+            <param name="matchPartial">If true, userId need only be a substring of an actual ID string to match.</param>
+            <param name="ignoreCase">If true, case is ignored in user ID comparisons.</param>
+            <returns>An <c>IEnumerable</c> of key rings which matched (possibly none).</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetSecretKey(System.Int64)">
+            <summary>Return the PGP secret key associated with the given key id.</summary>
+            <param name="keyId">The ID of the secret key to return.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.GetSecretKeyRing(System.Int64)">
+            <summary>Return the secret key ring which contains the key referred to by keyId</summary>
+            <param name="keyId">The ID of the secret key</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.Contains(System.Int64)">
+            <summary>
+            Return true if a key matching the passed in key ID is present, false otherwise.
+            </summary>
+            <param name="keyID">key ID to look for.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.AddSecretKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle and
+            the passed in secret key ring.
+            </summary>
+            <param name="bundle">The <c>PgpSecretKeyRingBundle</c> the key ring is to be added to.</param>
+            <param name="secretKeyRing">The key ring to be added.</param>
+            <returns>A new <c>PgpSecretKeyRingBundle</c> merging the current one with the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is already present.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.RemoveSecretKeyRing(Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle,Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRing)">
+            <summary>
+            Return a new bundle containing the contents of the passed in bundle with
+            the passed in secret key ring removed.
+            </summary>
+            <param name="bundle">The <c>PgpSecretKeyRingBundle</c> the key ring is to be removed from.</param>
+            <param name="secretKeyRing">The key ring to be removed.</param>
+            <returns>A new <c>PgpSecretKeyRingBundle</c> not containing the passed in key ring.</returns>
+            <exception cref="T:System.ArgumentException">If the keyId for the passed in key ring is not present.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSecretKeyRingBundle.Count">
+            <summary>Return the number of rings in this collection.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature">
+            <remarks>A PGP signature object.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Verify the signature as certifying the passed in public key as associated
+            with the passed in user attributes.
+            </summary>
+            <param name="userAttributes">User attributes the key was stored under.</param>
+            <param name="key">The key to be verified.</param>
+            <returns>True, if the signature matches, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>
+            Verify the signature as certifying the passed in public key as associated
+            with the passed in ID.
+            </summary>
+            <param name="id">ID the key was stored under.</param>
+            <param name="key">The key to be verified.</param>
+            <returns>True, if the signature matches, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Verify a certification for the passed in key against the passed in master key.</summary>
+            <param name="masterKey">The key we are verifying against.</param>
+            <param name="pubKey">The key we are verifying.</param>
+            <returns>True, if the certification is valid, false otherwise.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.VerifyCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Verify a key certification, such as revocation, for the passed in key.</summary>
+            <param name="pubKey">The key we are checking.</param>
+            <returns>True, if the certification is valid, false otherwise.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.Version">
+            <summary>The OpenPGP version number for this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.KeyAlgorithm">
+            <summary>The key algorithm associated with this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.HashAlgorithm">
+            <summary>The hash algorithm associated with this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.KeyId">
+            <summary>The ID of the key that created the signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.CreationTime">
+            <summary>The creation time of this signature.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignature.HasSubpackets">
+            <summary>
+            Return true if the signature has either hashed or unhashed subpackets.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator">
+            <remarks>Generator for PGP signatures.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Create a generator for the passed in keyAlgorithm and hashAlgorithm codes.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateOnePassVersion(System.Boolean)">
+            <summary>Return the one pass header associated with the current signature.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.Generate">
+            <summary>Return a signature object containing the current signature state.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(System.String,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in ID and key.</summary>
+            <param name="id">The ID we are certifying against the public key.</param>
+            <param name="pubKey">The key we are certifying against the ID.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in userAttributes.</summary>
+            <param name="userAttributes">The ID we are certifying against the public key.</param>
+            <param name="pubKey">The key we are certifying against the ID.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey,Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification for the passed in key against the passed in master key.</summary>
+            <param name="masterKey">The key we are certifying against.</param>
+            <param name="pubKey">The key we are certifying.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureGenerator.GenerateCertification(Org.BouncyCastle.Bcpg.OpenPgp.PgpPublicKey)">
+            <summary>Generate a certification, such as a revocation, for the passed in key.</summary>
+            <param name="pubKey">The key we are certifying.</param>
+            <returns>The certification.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureList">
+            <remarks>A list of PGP signatures - normally in the signature block after literal data.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator">
+            <remarks>Generator for signature subpackets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetTrust(System.Boolean,System.Int32,System.Int32)">
+            <summary>
+            Add a TrustSignature packet to the signature. The values for depth and trust are largely
+            installation dependent but there are some guidelines in RFC 4880 - 5.2.3.13.
+            </summary>
+            <param name="isCritical">true if the packet is critical.</param>
+            <param name="depth">depth level.</param>
+            <param name="trustAmount">trust amount.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetKeyExpirationTime(System.Boolean,System.Int64)">
+            <summary>
+            Set the number of seconds a key is valid for after the time of its creation.
+            A value of zero means the key never expires.
+            </summary>
+            <param name="isCritical">True, if should be treated as critical, false otherwise.</param>
+            <param name="seconds">The number of seconds the key is valid, or zero if no expiry.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetSignatureExpirationTime(System.Boolean,System.Int64)">
+            <summary>
+            Set the number of seconds a signature is valid for after the time of its creation.
+            A value of zero means the signature never expires.
+            </summary>
+            <param name="isCritical">True, if should be treated as critical, false otherwise.</param>
+            <param name="seconds">The number of seconds the signature is valid, or zero if no expiry.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetSignatureCreationTime(System.Boolean,System.DateTime)">
+            <summary>
+            Set the creation time for the signature.
+            <p>
+            Note: this overrides the generation of a creation time when the signature
+            is generated.</p>
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetRevocationReason(System.Boolean,Org.BouncyCastle.Bcpg.RevocationReasonTag,System.String)">
+            <summary>
+            Sets revocation reason sub packet
+            </summary>	    
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetRevocationKey(System.Boolean,Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,System.Byte[])">
+            <summary>
+            Sets revocation key sub packet
+            </summary>	
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketGenerator.SetIssuerKeyID(System.Boolean,System.Int64)">
+            <summary>
+            Sets issuer key sub packet
+            </summary>	
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector">
+            <remarks>Container for a list of signature subpackets.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.HasSubpacket(Org.BouncyCastle.Bcpg.SignatureSubpacketTag)">
+             Return true if a particular subpacket type exists.
+            
+             @param type type to look for.
+             @return true if present, false otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetSubpackets(Org.BouncyCastle.Bcpg.SignatureSubpacketTag)">
+            Return all signature subpackets of the passed in type.
+            @param type subpacket type code
+            @return an array of zero or more matching subpackets.
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetSignatureExpirationTime">
+            <summary>
+            Return the number of seconds a signature is valid for after its creation date.
+            A value of zero means the signature never expires.
+            </summary>
+            <returns>Seconds a signature is valid for.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.GetKeyExpirationTime">
+            <summary>
+            Return the number of seconds a key is valid for after its creation date.
+            A value of zero means the key never expires.
+            </summary>
+            <returns>Seconds a signature is valid for.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Bcpg.OpenPgp.PgpSignatureSubpacketVector.Count">
+            <summary>Return the number of packets this vector contains.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpUserAttributeSubpacketVector">
+            <remarks>Container for a list of user attribute subpackets.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpUtilities">
+            <remarks>Basic utility class.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpUtilities.GetDecoderStream(System.IO.Stream)">
+            <summary>
+            Return either an ArmoredInputStream or a BcpgInputStream based on whether
+            the initial characters of the stream are binary PGP encodings or not.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator">
+            <remarks>Generator for old style PGP V3 Signatures.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.#ctor(Org.BouncyCastle.Bcpg.PublicKeyAlgorithmTag,Org.BouncyCastle.Bcpg.HashAlgorithmTag)">
+            <summary>Create a generator for the passed in keyAlgorithm and hashAlgorithm codes.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.InitSign(System.Int32,Org.BouncyCastle.Bcpg.OpenPgp.PgpPrivateKey,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Initialise the generator for signing.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.GenerateOnePassVersion(System.Boolean)">
+            <summary>Return the one pass header associated with the current signature.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Bcpg.OpenPgp.PgpV3SignatureGenerator.Generate">
+            <summary>Return a V3 signature object containing the current signature state.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.MiscPemGenerator">
+            PEM generator for the original set of PEM objects used in Open SSL.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemObjectGenerator.Generate">
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </returns>
+            <exception cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemGenerationException"></exception>
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.PemReader">
+            Class for reading OpenSSL PEM encoded streams containing 
+            X509 certificates, PKCS8 encoded keys and PKCS7 objects.
+            <p>
+            In the case of PKCS7 objects the reader will return a CMS ContentInfo object. Keys and
+            Certificates will be returned using the appropriate java.security type.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemReader.ReadPemObject">
+            <returns>
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.#ctor(System.IO.TextReader)">
+             Create a new PemReader
+            
+             @param reader the Reader
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.#ctor(System.IO.TextReader,Org.BouncyCastle.OpenSsl.IPasswordFinder)">
+             Create a new PemReader with a password finder
+            
+             @param reader the Reader
+             @param pFinder the password finder
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCertificate(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509Certificate.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCrl(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509CRL.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadCertificateRequest(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a PKCS10 certification request.
+            
+             @return the certificate request.
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadAttributeCertificate(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a X509 Attribute Certificate.
+            
+             @return the X509 Attribute Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadPkcs7(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Reads in a PKCS7 object. This returns a ContentInfo object suitable for use with the CMS
+             API.
+            
+             @return the X509Certificate
+             @throws IOException if an I/O error occured
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemReader.ReadPrivateKey(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+            Read a Key Pair
+        </member>
+        <member name="T:Org.BouncyCastle.OpenSsl.PemWriter">
+            <remarks>General purpose writer for OpenSSL PEM objects.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.IO.Pem.PemWriter">
+            A generic PEM writer, based on RFC 1421
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemWriter.#ctor(System.IO.TextWriter)">
+             Base constructor.
+            
+             @param out output stream to use.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemWriter.GetOutputSize(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+             Return the number of bytes or characters required to contain the
+             passed in object if it is PEM encoded.
+            
+             @param obj pem object to be output
+             @return an estimate of the number of bytes
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.PemWriter.#ctor(System.IO.TextWriter)">
+            <param name="writer">The TextWriter object to write the output to.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.Pkcs8Generator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             Constructor for an unencrypted private key PEM object.
+            
+             @param key private key to be encoded.
+        </member>
+        <member name="M:Org.BouncyCastle.OpenSsl.Pkcs8Generator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.String)">
+             Constructor for an encrypted private key PEM object.
+            
+             @param key       private key to be encoded
+             @param algorithm encryption algorithm to use
+             @param provider  provider to use
+             @throws NoSuchAlgorithmException if algorithm/mode cannot be found
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest">
+             <remarks>
+             A class for verifying and creating Pkcs10 Certification requests.
+             </remarks>
+             <code>
+             CertificationRequest ::= Sequence {
+               certificationRequestInfo  CertificationRequestInfo,
+               signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+               signature                 BIT STRING
+             }
+            
+             CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </code>
+             see <a href="http://www.rsasecurity.com/rsalabs/node.asp?id=2132"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Asn1.Asn1Set,Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             <summary>
+             Instantiate a Pkcs10CertificationRequest object with the necessary credentials.
+             </summary>
+            <param name="signatureAlgorithm">Name of Sig Alg.</param>
+             <param name="subject">X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" </param>
+             <param name="publicKey">Public Key to be included in cert reqest.</param>
+             <param name="attributes">ASN1Set of Attributes.</param>
+             <param name="signingKey">Matching Private key for nominated (above) public key to be used to sign the request.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.GetPublicKey">
+            <summary>
+            Get the public key.
+            </summary>
+            <returns>The public key.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest.Verify">
+            <summary>
+            Verify Pkcs10 Cert Request is valid.
+            </summary>
+            <returns>true = valid.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned">
+             <remarks>
+             A class for creating and verifying Pkcs10 Certification requests (this is an extension on <see cref="T:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequest"/>).
+             The requests are made using delay signing. This is useful for situations where
+             the private key is in another environment and not directly accessible (e.g. HSM)
+             So the first step creates the request, then the signing is done outside this
+             object and the signature is then used to complete the request.
+             </remarks>
+             <code>
+             CertificationRequest ::= Sequence {
+               certificationRequestInfo  CertificationRequestInfo,
+               signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
+               signature                 BIT STRING
+             }
+            
+             CertificationRequestInfo ::= Sequence {
+               version             Integer { v1(0) } (v1,...),
+               subject             Name,
+               subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
+               attributes          [0] Attributes{{ CRIAttributes }}
+              }
+            
+              Attributes { ATTRIBUTE:IOSet } ::= Set OF Attr{{ IOSet }}
+            
+              Attr { ATTRIBUTE:IOSet } ::= Sequence {
+                type    ATTRIBUTE.&amp;id({IOSet}),
+                values  Set SIZE(1..MAX) OF ATTRIBUTE.&amp;Type({IOSet}{\@type})
+              }
+             </code>
+             see <a href="http://www.rsasecurity.com/rsalabs/node.asp?id=2132"/>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned.#ctor(System.String,Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Asn1.Asn1Set)">
+            <summary>
+            Instantiate a Pkcs10CertificationRequest object with the necessary credentials.
+            </summary>
+            <param name="signatureAlgorithm">Name of Sig Alg.</param>
+            <param name="subject">X509Name of subject eg OU="My unit." O="My Organisatioin" C="au" </param>
+            <param name="publicKey">Public Key to be included in cert reqest.</param>
+            <param name="attributes">ASN1Set of Attributes.</param>
+            <remarks>
+            After the object is constructed use the <see cref="M:Org.BouncyCastle.Pkcs.Pkcs10CertificationRequestDelaySigned.GetDataToSign"/> and finally the
+            SignRequest methods to finalize the request.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Store.GetCertificate(System.String)">
+            simply return the cert entry for the private key
+        </member>
+        <member name="T:Org.BouncyCastle.Pkcs.Pkcs12Utilities">
+            Utility class for reencoding PKCS#12 files to definite length.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Utilities.ConvertToDefiniteLength(System.Byte[])">
+             Just re-encode the outer layer of the PKCS#12 file to definite length encoding.
+            
+             @param berPKCS12File - original PKCS#12 file
+             @return a byte array representing the DER encoding of the PFX structure
+             @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Pkcs.Pkcs12Utilities.ConvertToDefiniteLength(System.Byte[],System.Char[])">
+             Re-encode the PKCS#12 structure to definite length encoding at the inner layer
+             as well, recomputing the MAC accordingly.
+            
+             @param berPKCS12File - original PKCS12 file.
+             @param provider - provider to use for MAC calculation.
+             @return a byte array representing the DER encoding of the PFX structure.
+             @throws IOException on parsing, encoding errors.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.CertStatus.RevocationDate">
+            <summary>
+            Returns the revocationDate.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.CertStatus.Status">
+            <summary>
+            Returns the certStatus.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.GetSupportedExtensions">
+            Returns an immutable <code>Set</code> of X.509 attribute certificate
+            extensions that this <code>PkixAttrCertChecker</code> supports or
+            <code>null</code> if no extensions are supported.
+            <p>
+            Each element of the set is a <code>String</code> representing the
+            Object Identifier (OID) of the X.509 extension that is supported.
+            </p>
+            <p>
+            All X.509 attribute certificate extensions that a
+            <code>PkixAttrCertChecker</code> might possibly be able to process
+            should be included in the set.
+            </p>
+            
+            @return an immutable <code>Set</code> of X.509 extension OIDs (in
+                    <code>String</code> format) supported by this
+                    <code>PkixAttrCertChecker</code>, or <code>null</code> if no
+                    extensions are supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.Check(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixCertPath,Org.BouncyCastle.Pkix.PkixCertPath,System.Collections.ICollection)">
+            Performs checks on the specified attribute certificate. Every handled
+            extension is rmeoved from the <code>unresolvedCritExts</code>
+            collection.
+            
+            @param attrCert The attribute certificate to be checked.
+            @param certPath The certificate path which belongs to the attribute
+                       certificate issuer public key certificate.
+            @param holderCertPath The certificate path which belongs to the holder
+                       certificate.
+            @param unresolvedCritExts a <code>Collection</code> of OID strings
+                       representing the current set of unresolved critical extensions
+            @throws CertPathValidatorException if the specified attribute certificate
+                        does not pass the check.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertChecker.Clone">
+            Returns a clone of this object.
+            
+            @return a copy of this <code>PkixAttrCertChecker</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertPathBuilder.Build(Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Build and validate a CertPath using the given parameter.
+            
+             @param params PKIXBuilderParameters object containing all information to
+                        build the CertPath
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixAttrCertPathValidator">
+            CertPathValidatorSpi implementation for X.509 Attribute Certificates la RFC 3281.
+            
+            @see org.bouncycastle.x509.ExtendedPkixParameters
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixAttrCertPathValidator.Validate(Org.BouncyCastle.Pkix.PkixCertPath,Org.BouncyCastle.Pkix.PkixParameters)">
+            Validates an attribute certificate with the given certificate path.
+            
+            <p>
+            <code>params</code> must be an instance of
+            <code>ExtendedPkixParameters</code>.
+            </p><p>
+            The target constraints in the <code>params</code> must be an
+            <code>X509AttrCertStoreSelector</code> with at least the attribute
+            certificate criterion set. Obey that also target informations may be
+            necessary to correctly validate this attribute certificate.
+            </p><p>
+            The attribute certificate issuer must be added to the trusted attribute
+            issuers with {@link ExtendedPkixParameters#setTrustedACIssuers(Set)}.
+            </p>
+            @param certPath The certificate path which belongs to the attribute
+                       certificate issuer public key certificate.
+            @param params The PKIX parameters.
+            @return A <code>PKIXCertPathValidatorResult</code> of the result of
+                    validating the <code>certPath</code>.
+            @throws InvalidAlgorithmParameterException if <code>params</code> is
+                        inappropriate for this validator.
+            @throws CertPathValidatorException if the verification fails.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixBuilderParameters">
+            <summary>
+            Summary description for PkixBuilderParameters.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixParameters">
+            <summary>
+            Summary description for PkixParameters.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixParameters.PkixValidityModel">
+            This is the default PKIX validity model. Actually there are two variants
+            of this: The PKIX model and the modified PKIX model. The PKIX model
+            verifies that all involved certificates must have been valid at the
+            current time. The modified PKIX model verifies that all involved
+            certificates were valid at the signing time. Both are indirectly choosen
+            with the {@link PKIXParameters#setDate(java.util.Date)} method, so this
+            methods sets the Date when <em>all</em> certificates must have been
+            valid.
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixParameters.ChainValidityModel">
+            This model uses the following validity model. Each certificate must have
+            been valid at the moment where is was used. That means the end
+            certificate must have been valid at the time the signature was done. The
+            CA certificate which signed the end certificate must have been valid,
+            when the end certificate was signed. The CA (or Root CA) certificate must
+            have been valid, when the CA certificate was signed and so on. So the
+            {@link PKIXParameters#setDate(java.util.Date)} method sets the time, when
+            the <em>end certificate</em> must have been valid. <p/> It is used e.g.
+            in the German signature law.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.#ctor(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Creates an instance of PKIXParameters with the specified Set of
+             most-trusted CAs. Each element of the set is a TrustAnchor.<br />
+             <br />
+             Note that the Set is copied to protect against subsequent modifications.
+            
+             @param trustAnchors
+                        a Set of TrustAnchors
+            
+             @exception InvalidAlgorithmParameterException
+                            if the specified Set is empty
+                            <code>(trustAnchors.isEmpty() == true)</code>
+             @exception NullPointerException
+                            if the specified Set is <code>null</code>
+             @exception ClassCastException
+                            if any of the elements in the Set are not of type
+                            <code>java.security.cert.TrustAnchor</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTargetCertConstraints">
+             Returns the required constraints on the target certificate. The
+             constraints are returned as an instance of CertSelector. If
+             <code>null</code>, no constraints are defined.<br />
+             <br />
+             Note that the CertSelector returned is cloned to protect against
+             subsequent modifications.
+            
+             @return a CertSelector specifying the constraints on the target
+                     certificate (or <code>null</code>)
+            
+             @see #setTargetCertConstraints(CertSelector)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTargetCertConstraints(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Sets the required constraints on the target certificate. The constraints
+             are specified as an instance of CertSelector. If null, no constraints are
+             defined.<br />
+             <br />
+             Note that the CertSelector specified is cloned to protect against
+             subsequent modifications.
+            
+             @param selector
+                        a CertSelector specifying the constraints on the target
+                        certificate (or <code>null</code>)
+            
+             @see #getTargetCertConstraints()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetInitialPolicies">
+             Returns an immutable Set of initial policy identifiers (OID strings),
+             indicating that any one of these policies would be acceptable to the
+             certificate user for the purposes of certification path processing. The
+             default return value is an empty <code>Set</code>, which is
+             interpreted as meaning that any policy would be acceptable.
+            
+             @return an immutable <code>Set</code> of initial policy OIDs in String
+                     format, or an empty <code>Set</code> (implying any policy is
+                     acceptable). Never returns <code>null</code>.
+            
+             @see #setInitialPolicies(java.util.Set)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetInitialPolicies(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the <code>Set</code> of initial policy identifiers (OID strings),
+             indicating that any one of these policies would be acceptable to the
+             certificate user for the purposes of certification path processing. By
+             default, any policy is acceptable (i.e. all policies), so a user that
+             wants to allow any policy as acceptable does not need to call this
+             method, or can call it with an empty <code>Set</code> (or
+             <code>null</code>).<br />
+             <br />
+             Note that the Set is copied to protect against subsequent modifications.<br />
+             <br />
+            
+             @param initialPolicies
+                        a Set of initial policy OIDs in String format (or
+                        <code>null</code>)
+            
+             @exception ClassCastException
+                            if any of the elements in the set are not of type String
+            
+             @see #getInitialPolicies()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetCertPathCheckers(System.Collections.IList)">
+             Sets a <code>List</code> of additional certification path checkers. If
+             the specified List contains an object that is not a PKIXCertPathChecker,
+             it is ignored.<br />
+             <br />
+             Each <code>PKIXCertPathChecker</code> specified implements additional
+             checks on a certificate. Typically, these are checks to process and
+             verify private extensions contained in certificates. Each
+             <code>PKIXCertPathChecker</code> should be instantiated with any
+             initialization parameters needed to execute the check.<br />
+             <br />
+             This method allows sophisticated applications to extend a PKIX
+             <code>CertPathValidator</code> or <code>CertPathBuilder</code>. Each
+             of the specified PKIXCertPathCheckers will be called, in turn, by a PKIX
+             <code>CertPathValidator</code> or <code>CertPathBuilder</code> for
+             each certificate processed or validated.<br />
+             <br />
+             Regardless of whether these additional PKIXCertPathCheckers are set, a
+             PKIX <code>CertPathValidator</code> or <code>CertPathBuilder</code>
+             must perform all of the required PKIX checks on each certificate. The one
+             exception to this rule is if the RevocationEnabled flag is set to false
+             (see the {@link #setRevocationEnabled(boolean) setRevocationEnabled}
+             method).<br />
+             <br />
+             Note that the List supplied here is copied and each PKIXCertPathChecker
+             in the list is cloned to protect against subsequent modifications.
+            
+             @param checkers
+                        a List of PKIXCertPathCheckers. May be null, in which case no
+                        additional checkers will be used.
+             @exception ClassCastException
+                            if any of the elements in the list are not of type
+                            <code>java.security.cert.PKIXCertPathChecker</code>
+             @see #getCertPathCheckers()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetCertPathCheckers">
+             Returns the List of certification path checkers. Each PKIXCertPathChecker
+             in the returned IList is cloned to protect against subsequent modifications.
+            
+             @return an immutable List of PKIXCertPathCheckers (may be empty, but not
+                     <code>null</code>)
+            
+             @see #setCertPathCheckers(java.util.List)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddCertPathChecker(Org.BouncyCastle.Pkix.PkixCertPathChecker)">
+             Adds a <code>PKIXCertPathChecker</code> to the list of certification
+             path checkers. See the {@link #setCertPathCheckers setCertPathCheckers}
+             method for more details.
+             <p>
+             Note that the <code>PKIXCertPathChecker</code> is cloned to protect
+             against subsequent modifications.</p>
+            
+             @param checker a <code>PKIXCertPathChecker</code> to add to the list of
+             checks. If <code>null</code>, the checker is ignored (not added to list).
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetParams(Org.BouncyCastle.Pkix.PkixParameters)">
+             Method to support <code>Clone()</code> under J2ME.
+             <code>super.Clone()</code> does not exist and fields are not copied.
+            
+             @param params Parameters to set. If this are
+                        <code>ExtendedPkixParameters</code> they are copied to.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetStores(System.Collections.IList)">
+             Sets the Bouncy Castle Stores for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+             <p>
+             The <code>IList</code> is cloned.
+             </p>
+            
+             @param stores A list of stores to use.
+             @see #getStores
+             @throws ClassCastException if an element of <code>stores</code> is not
+                         a {@link Store}.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddStore(Org.BouncyCastle.X509.Store.IX509Store)">
+             Adds a Bouncy Castle {@link Store} to find CRLs, certificates, attribute
+             certificates or cross certificates.
+             <p>
+             This method should be used to add local stores, like collection based
+             X.509 stores, if available. Local stores should be considered first,
+             before trying to use additional (remote) locations, because they do not
+             need possible additional network traffic.
+             </p><p>
+             If <code>store</code> is <code>null</code> it is ignored.
+             </p>
+            
+             @param store The store to add.
+             @see #getStores
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.AddAdditionalStore(Org.BouncyCastle.X509.Store.IX509Store)">
+             Adds an additional Bouncy Castle {@link Store} to find CRLs, certificates,
+             attribute certificates or cross certificates.
+             <p>
+             You should not use this method. This method is used for adding additional
+             X.509 stores, which are used to add (remote) locations, e.g. LDAP, found
+             during X.509 object processing, e.g. in certificates or CRLs. This method
+             is used in PKIX certification path processing.
+             </p><p>
+             If <code>store</code> is <code>null</code> it is ignored.
+             </p>
+            
+             @param store The store to add.
+             @see #getStores()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetAdditionalStores">
+             Returns an <code>IList</code> of additional Bouncy Castle
+             <code>Store</code>s used for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+            
+             @return an immutable <code>IList</code> of additional Bouncy Castle
+                     <code>Store</code>s. Never <code>null</code>.
+            
+             @see #addAddionalStore(Store)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetStores">
+             Returns an <code>IList</code> of Bouncy Castle
+             <code>Store</code>s used for finding CRLs, certificates, attribute
+             certificates or cross certificates.
+            
+             @return an immutable <code>IList</code> of Bouncy Castle
+                     <code>Store</code>s. Never <code>null</code>.
+            
+             @see #setStores(IList)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetAdditionalLocationsEnabled(System.Boolean)">
+             Sets if additional {@link X509Store}s for locations like LDAP found in
+             certificates or CRLs should be used.
+            
+             @param enabled <code>true</code> if additional stores are used.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTargetConstraints">
+             Returns the required constraints on the target certificate or attribute
+             certificate. The constraints are returned as an instance of
+             <code>IX509Selector</code>. If <code>null</code>, no constraints are
+             defined.
+            
+             <p>
+             The target certificate in a PKIX path may be a certificate or an
+             attribute certificate.
+             </p><p>
+             Note that the <code>IX509Selector</code> returned is cloned to protect
+             against subsequent modifications.
+             </p>
+             @return a <code>IX509Selector</code> specifying the constraints on the
+                     target certificate or attribute certificate (or <code>null</code>)
+             @see #setTargetConstraints
+             @see X509CertStoreSelector
+             @see X509AttributeCertStoreSelector
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTargetConstraints(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Sets the required constraints on the target certificate or attribute
+             certificate. The constraints are specified as an instance of
+             <code>IX509Selector</code>. If <code>null</code>, no constraints are
+             defined.
+             <p>
+             The target certificate in a PKIX path may be a certificate or an
+             attribute certificate.
+             </p><p>
+             Note that the <code>IX509Selector</code> specified is cloned to protect
+             against subsequent modifications.
+             </p>
+            
+             @param selector a <code>IX509Selector</code> specifying the constraints on
+                        the target certificate or attribute certificate (or
+                        <code>null</code>)
+             @see #getTargetConstraints
+             @see X509CertStoreSelector
+             @see X509AttributeCertStoreSelector
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetTrustedACIssuers">
+             Returns the trusted attribute certificate issuers. If attribute
+             certificates is verified the trusted AC issuers must be set.
+             <p>
+             The returned <code>ISet</code> consists of <code>TrustAnchor</code>s.
+             </p><p>
+             The returned <code>ISet</code> is immutable. Never <code>null</code>
+             </p>
+            
+             @return Returns an immutable set of the trusted AC issuers.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetTrustedACIssuers(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the trusted attribute certificate issuers. If attribute certificates
+             is verified the trusted AC issuers must be set.
+             <p>
+             The <code>trustedACIssuers</code> must be a <code>ISet</code> of
+             <code>TrustAnchor</code>
+             </p><p>
+             The given set is cloned.
+             </p>
+            
+             @param trustedACIssuers The trusted AC issuers to set. Is never
+                        <code>null</code>.
+             @throws ClassCastException if an element of <code>stores</code> is not
+                         a <code>TrustAnchor</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetNecessaryACAttributes">
+             Returns the neccessary attributes which must be contained in an attribute
+             certificate.
+             <p>
+             The returned <code>ISet</code> is immutable and contains
+             <code>String</code>s with the OIDs.
+             </p>
+            
+             @return Returns the necessary AC attributes.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetNecessaryACAttributes(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the neccessary which must be contained in an attribute certificate.
+             <p>
+             The <code>ISet</code> must contain <code>String</code>s with the
+             OIDs.
+             </p><p>
+             The set is cloned.
+             </p>
+            
+             @param necessaryACAttributes The necessary AC attributes to set.
+             @throws ClassCastException if an element of
+                         <code>necessaryACAttributes</code> is not a
+                         <code>String</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetProhibitedACAttributes">
+             Returns the attribute certificates which are not allowed.
+             <p>
+             The returned <code>ISet</code> is immutable and contains
+             <code>String</code>s with the OIDs.
+             </p>
+            
+             @return Returns the prohibited AC attributes. Is never <code>null</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetProhibitedACAttributes(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the attribute certificates which are not allowed.
+             <p>
+             The <code>ISet</code> must contain <code>String</code>s with the
+             OIDs.
+             </p><p>
+             The set is cloned.
+             </p>
+            
+             @param prohibitedACAttributes The prohibited AC attributes to set.
+             @throws ClassCastException if an element of
+                         <code>prohibitedACAttributes</code> is not a
+                         <code>String</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.GetAttrCertCheckers">
+             Returns the attribute certificate checker. The returned set contains
+             {@link PKIXAttrCertChecker}s and is immutable.
+            
+             @return Returns the attribute certificate checker. Is never
+                     <code>null</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixParameters.SetAttrCertCheckers(Org.BouncyCastle.Utilities.Collections.ISet)">
+             Sets the attribute certificate checkers.
+             <p>
+             All elements in the <code>ISet</code> must a {@link PKIXAttrCertChecker}.
+             </p>
+             <p>
+             The given set is cloned.
+             </p>
+            
+             @param attrCertCheckers The attribute certificate checkers to set. Is
+                        never <code>null</code>.
+             @throws ClassCastException if an element of <code>attrCertCheckers</code>
+                         is not a <code>PKIXAttrCertChecker</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.IsUseDeltasEnabled">
+            Whether delta CRLs should be used for checking the revocation status.
+            Defaults to <code>false</code>.
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.ValidityModel">
+            The validity model.
+            @see #CHAIN_VALIDITY_MODEL
+            @see #PKIX_VALIDITY_MODEL
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixParameters.IsAdditionalLocationsEnabled">
+             Returns if additional {@link X509Store}s for locations like LDAP found
+             in certificates or CRLs should be used.
+            
+             @return Returns <code>true</code> if additional stores are used.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.GetInstance(Org.BouncyCastle.Pkix.PkixParameters)">
+             Returns an instance of <code>PkixBuilderParameters</code>.
+             <p>
+             This method can be used to get a copy from other
+             <code>PKIXBuilderParameters</code>, <code>PKIXParameters</code>,
+             and <code>ExtendedPKIXParameters</code> instances.
+             </p>
+            
+             @param pkixParams The PKIX parameters to create a copy of.
+             @return An <code>PkixBuilderParameters</code> instance.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.GetExcludedCerts">
+            <summary>
+            Excluded certificates are not used for building a certification path.
+            </summary>
+            <returns>the excluded certificates.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.SetExcludedCerts(Org.BouncyCastle.Utilities.Collections.ISet)">
+            <summary>
+            Sets the excluded certificates which are not used for building a
+            certification path. If the <code>ISet</code> is <code>null</code> an
+            empty set is assumed.
+            </summary>
+            <remarks>
+            The given set is cloned to protect it against subsequent modifications.
+            </remarks>
+            <param name="excludedCerts">The excluded certificates to set.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.SetParams(Org.BouncyCastle.Pkix.PkixParameters)">
+            Can alse handle <code>ExtendedPKIXBuilderParameters</code> and
+            <code>PKIXBuilderParameters</code>.
+            
+            @param params Parameters to set.
+            @see org.bouncycastle.x509.ExtendedPKIXParameters#setParams(java.security.cert.PKIXParameters)
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixBuilderParameters.Clone">
+             Makes a copy of this <code>PKIXParameters</code> object. Changes to the
+             copy will not affect the original and vice versa.
+            
+             @return a copy of this <code>PKIXParameters</code> object
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPath">
+             An immutable sequence of certificates (a certification path).<br />
+             <br />
+             This is an abstract class that defines the methods common to all CertPaths.
+             Subclasses can handle different kinds of certificates (X.509, PGP, etc.).<br />
+             <br />
+             All CertPath objects have a type, a list of Certificates, and one or more
+             supported encodings. Because the CertPath class is immutable, a CertPath
+             cannot change in any externally visible way after being constructed. This
+             stipulation applies to all public fields and methods of this class and any
+             added or overridden by subclasses.<br />
+             <br />
+             The type is a string that identifies the type of Certificates in the
+             certification path. For each certificate cert in a certification path
+             certPath, cert.getType().equals(certPath.getType()) must be true.<br />
+             <br />
+             The list of Certificates is an ordered List of zero or more Certificates.
+             This List and all of the Certificates contained in it must be immutable.<br />
+             <br />
+             Each CertPath object must support one or more encodings so that the object
+             can be translated into a byte array for storage or transmission to other
+             parties. Preferably, these encodings should be well-documented standards
+             (such as PKCS#7). One of the encodings supported by a CertPath is considered
+             the default encoding. This encoding is used if no encoding is explicitly
+             requested (for the {@link #getEncoded()} method, for instance).<br />
+             <br />
+             All CertPath objects are also Serializable. CertPath objects are resolved
+             into an alternate {@link CertPathRep} object during serialization. This
+             allows a CertPath object to be serialized into an equivalent representation
+             regardless of its underlying implementation.<br />
+             <br />
+             CertPath objects can be created with a CertificateFactory or they can be
+             returned by other classes, such as a CertPathBuilder.<br />
+             <br />
+             By convention, X.509 CertPaths (consisting of X509Certificates), are ordered
+             starting with the target certificate and ending with a certificate issued by
+             the trust anchor. That is, the issuer of one certificate is the subject of
+             the following one. The certificate representing the
+             {@link TrustAnchor TrustAnchor} should not be included in the certification
+             path. Unvalidated X.509 CertPaths may not follow these conventions. PKIX
+             CertPathValidators will detect any departure from these conventions that
+             cause the certification path to be invalid and throw a
+             CertPathValidatorException.<br />
+             <br />
+             <strong>Concurrent Access</strong><br />
+             <br />
+             All CertPath objects must be thread-safe. That is, multiple threads may
+             concurrently invoke the methods defined in this class on a single CertPath
+             object (or more than one) with no ill effects. This is also true for the List
+             returned by CertPath.getCertificates.<br />
+             <br />
+             Requiring CertPath objects to be immutable and thread-safe allows them to be
+             passed around to various pieces of code without worrying about coordinating
+             access. Providing this thread-safety is generally not difficult, since the
+             CertPath and List objects in question are immutable.
+            
+             @see CertificateFactory
+             @see CertPathBuilder
+            <summary>
+            CertPath implementation for X.509 certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.SortCerts(System.Collections.IList)">
+            @param certs
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.#ctor(System.Collections.ICollection)">
+             Creates a CertPath of the specified type.
+             This constructor is protected because most users should use
+             a CertificateFactory to create CertPaths.
+             @param type the standard name of the type of Certificatesin this path
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.#ctor(System.IO.Stream,System.String)">
+             Creates a CertPath of the specified type.
+             This constructor is protected because most users should use
+             a CertificateFactory to create CertPaths.
+            
+             @param type the standard name of the type of Certificatesin this path
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.Equals(System.Object)">
+             Compares this certification path for equality with the specified object.
+             Two CertPaths are equal if and only if their types are equal and their
+             certificate Lists (and by implication the Certificates in those Lists)
+             are equal. A CertPath is never equal to an object that is not a CertPath.<br />
+             <br />
+             This algorithm is implemented by this method. If it is overridden, the
+             behavior specified here must be maintained.
+            
+             @param other
+                        the object to test for equality with this certification path
+            
+             @return true if the specified object is equal to this certification path,
+                     false otherwise
+            
+             @see Object#hashCode() Object.hashCode()
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.GetEncoded">
+             Returns the encoded form of this certification path, using
+             the default encoding.
+            
+             @return the encoded bytes
+             @exception CertificateEncodingException if an encoding error occurs
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.GetEncoded(System.String)">
+             Returns the encoded form of this certification path, using
+             the specified encoding.
+            
+             @param encoding the name of the encoding to use
+             @return the encoded bytes
+             @exception CertificateEncodingException if an encoding error
+             occurs or the encoding requested is not supported
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPath.ToAsn1Object(Org.BouncyCastle.X509.X509Certificate)">
+             Return a DERObject containing the encoded certificate.
+            
+             @param cert the X509Certificate object to be encoded
+            
+             @return the DERObject
+            
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPath.Encodings">
+             Returns an iteration of the encodings supported by this
+             certification path, with the default encoding
+             first. Attempts to modify the returned Iterator via its
+             remove method result in an UnsupportedOperationException.
+            
+             @return an Iterator over the names of the supported encodings (as Strings)
+            
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPath.Certificates">
+            <summary>
+            Returns the list of certificates in this certification
+            path.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilder">
+             Implements the PKIX CertPathBuilding algorithm for BouncyCastle.
+            
+             @see CertPathBuilderSpi
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathBuilder.Build(Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Build and validate a CertPath using the given parameter.
+            
+             @param params PKIXBuilderParameters object containing all information to
+                        build the CertPath
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilderException">
+            <summary>
+            Summary description for PkixCertPathBuilderException.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathBuilderResult">
+            <summary>
+            Summary description for PkixCertPathBuilderResult.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorResult">
+            <summary>
+            Summary description for PkixCertPathValidatorResult.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Init(System.Boolean)">
+                     * Initializes the internal state of this <code>PKIXCertPathChecker</code>.
+                     * <p>
+                     * The <code>forward</code> flag specifies the order that certificates
+                     * will be passed to the {@link #check check} method (forward or reverse). A
+                     * <code>PKIXCertPathChecker</code> <b>must</b> support reverse checking
+                     * and <b>may</b> support forward checking.
+            		 * </p>
+                     * 
+                     * @param forward
+                     *            the order that certificates are presented to the
+                     *            <code>check</code> method. If <code>true</code>,
+                     *            certificates are presented from target to most-trusted CA
+                     *            (forward); if <code>false</code>, from most-trusted CA to
+                     *            target (reverse).
+                     * @exception CertPathValidatorException
+                     *                if this <code>PKIXCertPathChecker</code> is unable to
+                     *                check certificates in the specified order; it should never
+                     *                be thrown if the forward flag is false since reverse
+                     *                checking must be supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.IsForwardCheckingSupported">
+            Indicates if forward checking is supported. Forward checking refers to
+            the ability of the <code>PKIXCertPathChecker</code> to perform its
+            checks when certificates are presented to the <code>check</code> method
+            in the forward direction (from target to most-trusted CA).
+            
+            @return <code>true</code> if forward checking is supported,
+                    <code>false</code> otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.GetSupportedExtensions">
+                     * Returns an immutable <code>Set</code> of X.509 certificate extensions
+                     * that this <code>PKIXCertPathChecker</code> supports (i.e. recognizes,
+                     * is able to process), or <code>null</code> if no extensions are
+                     * supported.
+                     * <p>
+                     * Each element of the set is a <code>String</code> representing the
+                     * Object Identifier (OID) of the X.509 extension that is supported. The OID
+                     * is represented by a set of nonnegative integers separated by periods.
+                     * </p><p>
+                     * All X.509 certificate extensions that a <code>PKIXCertPathChecker</code>
+                     * might possibly be able to process should be included in the set.
+            		 * </p>
+                     * 
+                     * @return an immutable <code>Set</code> of X.509 extension OIDs (in
+                     *         <code>String</code> format) supported by this
+                     *         <code>PKIXCertPathChecker</code>, or <code>null</code> if no
+                     *         extensions are supported
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Check(Org.BouncyCastle.X509.X509Certificate,System.Collections.ICollection)">
+            Performs the check(s) on the specified certificate using its internal
+            state and removes any critical extensions that it processes from the
+            specified collection of OID strings that represent the unresolved
+            critical extensions. The certificates are presented in the order
+            specified by the <code>init</code> method.
+            
+            @param cert
+                       the <code>Certificate</code> to be checked
+            @param unresolvedCritExts
+                       a <code>Collection</code> of OID strings representing the
+                       current set of unresolved critical extensions
+            @exception CertPathValidatorException
+                           if the specified certificate does not pass the check
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathChecker.Clone">
+            Returns a clone of this object. Calls the <code>Object.clone()</code>
+            method. All subclasses which maintain state must support and override
+            this method, if necessary.
+            
+            @return a copy of this <code>PKIXCertPathChecker</code>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidator">
+            The <i>Service Provider Interface</i> (<b>SPI</b>)
+            for the {@link CertPathValidator CertPathValidator} class. All
+            <code>CertPathValidator</code> implementations must include a class (the
+            SPI class) that extends this class (<code>CertPathValidatorSpi</code>)
+            and implements all of its methods. In general, instances of this class
+            should only be accessed through the <code>CertPathValidator</code> class.
+            For details, see the Java Cryptography Architecture.<br />
+            <br />
+            <b>Concurrent Access</b><br />
+            <br />
+            Instances of this class need not be protected against concurrent
+            access from multiple threads. Threads that need to access a single
+            <code>CertPathValidatorSpi</code> instance concurrently should synchronize
+            amongst themselves and provide the necessary locking before calling the
+            wrapping <code>CertPathValidator</code> object.<br />
+            <br />
+            However, implementations of <code>CertPathValidatorSpi</code> may still
+            encounter concurrency issues, since multiple threads each
+            manipulating a different <code>CertPathValidatorSpi</code> instance need not
+            synchronize.
+            <summary>
+            CertPathValidatorSpi implementation for X.509 Certificate validation a la RFC
+            3280.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorException">
+             An exception indicating one of a variety of problems encountered when 
+             validating a certification path. <br />
+             <br />
+             A <code>CertPathValidatorException</code> provides support for wrapping
+             exceptions. The {@link #getCause getCause} method returns the throwable, 
+             if any, that caused this exception to be thrown. <br />
+             <br />
+             A <code>CertPathValidatorException</code> may also include the 
+             certification path that was being validated when the exception was thrown 
+             and the index of the certificate in the certification path that caused the 
+             exception to be thrown. Use the {@link #getCertPath getCertPath} and
+             {@link #getIndex getIndex} methods to retrieve this information.<br />
+             <br />
+             <b>Concurrent Access</b><br />
+             <br />
+             Unless otherwise specified, the methods defined in this class are not
+             thread-safe. Multiple threads that need to access a single
+             object concurrently should synchronize amongst themselves and
+             provide the necessary locking. Multiple threads each manipulating
+             separate objects need not synchronize.
+            
+             @see CertPathValidator
+            
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the given detail
+            message. A detail message is a <code>String</code> that describes this
+            particular exception. 
+            </summary>
+            <param name="message">the detail message</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String,System.Exception)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the specified
+            detail message and cause.
+            </summary>
+            <param name="message">the detail message</param>
+            <param name="cause">the cause (which is saved for later retrieval by the
+            {@link #getCause getCause()} method). (A <code>null</code>
+            value is permitted, and indicates that the cause is
+            nonexistent or unknown.)</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.#ctor(System.String,System.Exception,Org.BouncyCastle.Pkix.PkixCertPath,System.Int32)">
+            <summary>
+            Creates a <code>PkixCertPathValidatorException</code> with the specified
+            detail message, cause, certification path, and index.
+            </summary>
+            <param name="message">the detail message (or <code>null</code> if none)</param>
+            <param name="cause">the cause (or <code>null</code> if none)</param>
+            <param name="certPath">the certification path that was in the process of being
+            validated when the error was encountered</param>
+            <param name="index">the index of the certificate in the certification path that</param>																																																																																   * 
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.Message">
+            <summary>
+            Returns the detail message for this <code>CertPathValidatorException</code>.
+            </summary>
+            <returns>the detail message, or <code>null</code> if neither the message nor cause were specified</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.CertPath">
+            Returns the certification path that was being validated when the
+            exception was thrown.
+            
+            @return the <code>CertPath</code> that was being validated when the
+                    exception was thrown (or <code>null</code> if not specified)
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.PkixCertPathValidatorException.Index">
+            Returns the index of the certificate in the certification path that
+            caused the exception to be thrown. Note that the list of certificates in
+            a <code>CertPath</code> is zero based. If no index has been set, -1 is
+            returned.
+            
+            @return the index that has been set, or -1 if none has been set
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities">
+            <summary>
+            Summary description for PkixCertPathValidatorUtilities.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.KEY_CERT_SIGN">
+            <summary>
+            key usage bits
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindTrustAnchor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Utilities.Collections.ISet)">
+            <summary>
+            Search the given Set of TrustAnchor's for one that is the
+            issuer of the given X509 certificate.
+            </summary>
+            <param name="cert">the X509 certificate</param>
+            <param name="trustAnchors">a Set of TrustAnchor's</param>
+            <returns>the <code>TrustAnchor</code> object if found or
+            <code>null</code> if not.
+            </returns>
+            @exception
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetIssuerPrincipal(System.Object)">
+            <summary>
+            Returns the issuer of an attribute certificate or certificate.
+            </summary>
+            <param name="cert">The attribute certificate or certificate.</param>
+            <returns>The issuer as <code>X500Principal</code>.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetNextWorkingKey(System.Collections.IList,System.Int32)">
+             Return the next working key inheriting DSA parameters if necessary.
+             <p>
+             This methods inherits DSA parameters from the indexed certificate or
+             previous certificates in the certificate chain to the returned
+             <code>PublicKey</code>. The list is searched upwards, meaning the end
+             certificate is at position 0 and previous certificates are following.
+             </p>
+             <p>
+             If the indexed certificate does not contain a DSA key this method simply
+             returns the public key. If the DSA key already contains DSA parameters
+             the key is also only returned.
+             </p>
+            
+             @param certs The certification path.
+             @param index The index of the certificate which contains the public key
+                        which should be extended with DSA parameters.
+             @return The public key of the certificate in list position
+                     <code>index</code> extended with DSA parameters if applicable.
+             @throws Exception if DSA parameters cannot be inherited.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindCertificates(Org.BouncyCastle.X509.Store.X509CertStoreSelector,System.Collections.IList)">
+            <summary>
+            Return a Collection of all certificates or attribute certificates found
+            in the X509Store's that are matching the certSelect criteriums.
+            </summary>
+            <param name="certSelect">a {@link Selector} object that will be used to select
+            the certificates</param>
+            <param name="certStores">a List containing only X509Store objects. These
+            are used to search for certificates.</param>
+            <returns>a Collection of all found <see cref="T:Org.BouncyCastle.X509.X509Certificate"/> or
+            org.bouncycastle.x509.X509AttributeCertificate objects.
+            May be empty but never <code>null</code>.</returns>
+            <exception cref="T:System.Exception"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetCrlIssuersFromDistributionPoint(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Collections.ICollection,Org.BouncyCastle.X509.Store.X509CrlStoreSelector,Org.BouncyCastle.Pkix.PkixParameters)">
+             Add the CRL issuers from the cRLIssuer field of the distribution point or
+             from the certificate if not given to the issuer criterion of the
+             <code>selector</code>.
+             <p>
+             The <code>issuerPrincipals</code> are a collection with a single
+             <code>X500Principal</code> for <code>X509Certificate</code>s. For
+             {@link X509AttributeCertificate}s the issuer may contain more than one
+             <code>X500Principal</code>.
+             </p>
+            
+             @param dp The distribution point.
+             @param issuerPrincipals The issuers of the certificate or attribute
+                        certificate which contains the distribution point.
+             @param selector The CRL selector.
+             @param pkixParams The PKIX parameters containing the cert stores.
+             @throws Exception if an exception occurs while processing.
+             @throws ClassCastException if <code>issuerPrincipals</code> does not
+             contain only <code>X500Principal</code>s.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetCompleteCrls(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,System.DateTime,Org.BouncyCastle.Pkix.PkixParameters)">
+             Fetches complete CRLs according to RFC 3280.
+            
+             @param dp The distribution point for which the complete CRL
+             @param cert The <code>X509Certificate</code> or
+                        {@link org.bouncycastle.x509.X509AttributeCertificate} for
+                        which the CRL should be searched.
+             @param currentDate The date for which the delta CRLs must be valid.
+             @param paramsPKIX The extended PKIX parameters.
+             @return A <code>Set</code> of <code>X509CRL</code>s with complete
+                     CRLs.
+             @throws Exception if an exception occurs while picking the CRLs
+                         or no CRLs are found.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetDeltaCrls(System.DateTime,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Crl)">
+             Fetches delta CRLs according to RFC 3280 section 5.2.4.
+            
+             @param currentDate The date for which the delta CRLs must be valid.
+             @param paramsPKIX The extended PKIX parameters.
+             @param completeCRL The complete CRL the delta CRL is for.
+             @return A <code>Set</code> of <code>X509CRL</code>s with delta CRLs.
+             @throws Exception if an exception occurs while picking the delta
+                         CRLs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.FindIssuerCerts(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Pkix.PkixBuilderParameters)">
+             Find the issuer certificates of a given certificate.
+            
+             @param cert
+                        The certificate for which an issuer should be found.
+             @param pkixParams
+             @return A <code>Collection</code> object containing the issuer
+                     <code>X509Certificate</code>s. Never <code>null</code>.
+            
+             @exception Exception
+                            if an error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCertPathValidatorUtilities.GetExtensionValue(Org.BouncyCastle.X509.IX509Extension,Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            <summary>
+            Extract the value of the given extension, if it exists.
+            </summary>
+            <param name="ext">The extension object.</param>
+            <param name="oid">The object identifier to obtain.</param>
+            <returns>Asn1Object</returns>
+            <exception cref="T:System.Exception">if the extension cannot be read.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixCrlUtilities.FindCrls(Org.BouncyCastle.X509.Store.X509CrlStoreSelector,System.Collections.IList)">
+            <summary>
+            crl checking
+            Return a Collection of all CRLs found in the X509Store's that are
+            matching the crlSelect criteriums.
+            </summary>
+            <param name="crlSelect">a {@link X509CRLStoreSelector} object that will be used
+            to select the CRLs</param>
+            <param name="crlStores">a List containing only {@link org.bouncycastle.x509.X509Store
+            X509Store} objects. These are used to search for CRLs</param>
+            <returns>a Collection of all found {@link X509CRL X509CRL} objects. May be
+            empty but never <code>null</code>.
+            </returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectIP(Org.BouncyCastle.Utilities.Collections.ISet,Org.BouncyCastle.Utilities.Collections.ISet)">
+             Returns the intersection of the permitted IP ranges in
+             <code>permitted</code> with <code>ip</code>.
+            
+             @param permitted A <code>Set</code> of permitted IP addresses with
+                              their subnet mask as byte arrays.
+             @param ips       The IP address with its subnet mask.
+             @return The <code>Set</code> of permitted IP ranges intersected with
+                     <code>ip</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.UnionIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Returns the union of the excluded IP ranges in <code>excluded</code>
+             with <code>ip</code>.
+            
+             @param excluded A <code>Set</code> of excluded IP addresses with their
+                             subnet mask as byte arrays.
+             @param ip       The IP address with its subnet mask.
+             @return The <code>Set</code> of excluded IP ranges unified with
+                     <code>ip</code> as byte arrays.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.UnionIPRange(System.Byte[],System.Byte[])">
+             Calculates the union if two IP ranges.
+            
+             @param ipWithSubmask1 The first IP address with its subnet mask.
+             @param ipWithSubmask2 The second IP address with its subnet mask.
+             @return A <code>Set</code> with the union of both addresses.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectIPRange(System.Byte[],System.Byte[])">
+             Calculates the interesction if two IP ranges.
+            
+             @param ipWithSubmask1 The first IP address with its subnet mask.
+             @param ipWithSubmask2 The second IP address with its subnet mask.
+             @return A <code>Set</code> with the single IP address with its subnet
+                     mask as a byte array or an empty <code>Set</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IpWithSubnetMask(System.Byte[],System.Byte[])">
+             Concatenates the IP address with its subnet mask.
+            
+             @param ip         The IP address.
+             @param subnetMask Its subnet mask.
+             @return The concatenated IP address with its subnet mask.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.ExtractIPsAndSubnetMasks(System.Byte[],System.Byte[])">
+             Splits the IP addresses and their subnet mask.
+            
+             @param ipWithSubmask1 The first IP address with the subnet mask.
+             @param ipWithSubmask2 The second IP address with the subnet mask.
+             @return An array with two elements. Each element contains the IP address
+                     and the subnet mask in this order.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.MinMaxIPs(System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
+             Based on the two IP addresses and their subnet masks the IP range is
+             computed for each IP address - subnet mask pair and returned as the
+             minimum IP address and the maximum address of the range.
+            
+             @param ip1         The first IP address.
+             @param subnetmask1 The subnet mask of the first IP address.
+             @param ip2         The second IP address.
+             @param subnetmask2 The subnet mask of the second IP address.
+             @return A array with two elements. The first/second element contains the
+                     min and max IP address of the first/second IP address and its
+                     subnet mask.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.CheckPermittedIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Checks if the IP <code>ip</code> is included in the permitted ISet
+             <code>permitted</code>.
+            
+             @param permitted A <code>Set</code> of permitted IP addresses with
+                              their subnet mask as byte arrays.
+             @param ip        The IP address.
+             @throws PkixNameConstraintValidatorException
+                      if the IP is not permitted.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkExcludedIP(Org.BouncyCastle.Utilities.Collections.ISet,System.Byte[])">
+             Checks if the IP <code>ip</code> is included in the excluded ISet
+             <code>excluded</code>.
+            
+             @param excluded A <code>Set</code> of excluded IP addresses with their
+                             subnet mask as byte arrays.
+             @param ip       The IP address.
+             @throws PkixNameConstraintValidatorException
+                      if the IP is excluded.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IsIPConstrained(System.Byte[],System.Byte[])">
+             Checks if the IP address <code>ip</code> is constrained by
+             <code>constraint</code>.
+            
+             @param ip         The IP address.
+             @param constraint The constraint. This is an IP address concatenated with
+                               its subnetmask.
+             @return <code>true</code> if constrained, <code>false</code>
+                     otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.unionEmail(System.String,System.String,Org.BouncyCastle.Utilities.Collections.ISet)">
+             The common part of <code>email1</code> and <code>email2</code> is
+             added to the union <code>union</code>. If <code>email1</code> and
+             <code>email2</code> have nothing in common they are added both.
+            
+             @param email1 Email address constraint 1.
+             @param email2 Email address constraint 2.
+             @param union  The union.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.intersectEmail(System.String,System.String,Org.BouncyCastle.Utilities.Collections.ISet)">
+             The most restricting part from <code>email1</code> and
+             <code>email2</code> is added to the intersection <code>intersect</code>.
+            
+             @param email1    Email address constraint 1.
+             @param email2    Email address constraint 2.
+             @param intersect The intersection.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkPermitted(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Checks if the given GeneralName is in the permitted ISet.
+            
+             @param name The GeneralName
+             @throws PkixNameConstraintValidatorException
+                      If the <code>name</code>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.checkExcluded(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Check if the given GeneralName is contained in the excluded ISet.
+            
+             @param name The GeneralName.
+             @throws PkixNameConstraintValidatorException
+                      If the <code>name</code> is
+                      excluded.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectPermittedSubtree(Org.BouncyCastle.Asn1.Asn1Sequence)">
+             Updates the permitted ISet of these name constraints with the intersection
+             with the given subtree.
+            
+             @param permitted The permitted subtrees
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.AddExcludedSubtree(Org.BouncyCastle.Asn1.X509.GeneralSubtree)">
+             Adds a subtree to the excluded ISet of these name constraints.
+            
+             @param subtree A subtree with an excluded GeneralName.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Max(System.Byte[],System.Byte[])">
+             Returns the maximum IP address.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The maximum IP address.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Min(System.Byte[],System.Byte[])">
+             Returns the minimum IP address.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The minimum IP address.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.CompareTo(System.Byte[],System.Byte[])">
+             Compares IP address <code>ip1</code> with <code>ip2</code>. If ip1
+             is equal to ip2 0 is returned. If ip1 is bigger 1 is returned, -1
+             otherwise.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return 0 if ip1 is equal to ip2, 1 if ip1 is bigger, -1 otherwise.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.Or(System.Byte[],System.Byte[])">
+             Returns the logical OR of the IP addresses <code>ip1</code> and
+             <code>ip2</code>.
+            
+             @param ip1 The first IP address.
+             @param ip2 The second IP address.
+             @return The OR of <code>ip1</code> and <code>ip2</code>.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixNameConstraintValidator.StringifyIP(System.Byte[])">
+             Stringifies an IPv4 or v6 address with subnet mask.
+            
+             @param ip The IP with subnet mask.
+             @return The stringified IP address.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.PkixPolicyNode">
+            <summary>
+            Summary description for PkixPolicyNode.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.PkixPolicyNode.#ctor(System.Collections.IList,System.Int32,Org.BouncyCastle.Utilities.Collections.ISet,Org.BouncyCastle.Pkix.PkixPolicyNode,Org.BouncyCastle.Utilities.Collections.ISet,System.String,System.Boolean)">
+            Constructors
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.ReasonsMask">
+            <summary>
+            This class helps to handle CRL revocation reasons mask. Each CRL handles a
+            certain set of revocation reasons.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.#ctor(System.Int32)">
+            <summary>
+            Constructs are reason mask with the reasons.
+            </summary>
+            <param name="reasons">The reasons.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.#ctor">
+            <summary>
+            A reason mask with no reason.
+            </summary>
+        </member>
+        <member name="F:Org.BouncyCastle.Pkix.ReasonsMask.AllReasons">
+            <summary>
+            A mask with all revocation reasons.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.AddReasons(Org.BouncyCastle.Pkix.ReasonsMask)">
+             Adds all reasons from the reasons mask to this mask.
+            
+             @param mask The reasons mask to add.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.Intersect(Org.BouncyCastle.Pkix.ReasonsMask)">
+            <summary>
+            Intersects this mask with the given reasons mask.
+            </summary>
+            <param name="mask">mask The mask to intersect with.</param>
+            <returns>The intersection of this and teh given mask.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.ReasonsMask.HasNewReasons(Org.BouncyCastle.Pkix.ReasonsMask)">
+            <summary>
+            Returns <c>true</c> if the passed reasons mask has new reasons.
+            </summary>
+            <param name="mask">The reasons mask which should be tested for new reasons.</param>
+            <returns><c>true</c> if the passed reasons mask has new reasons.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.ReasonsMask.IsAllReasons">
+            <summary>
+            Returns <code>true</code> if this reasons mask contains all possible
+            reasons.
+            </summary>
+            <returns>true if this reasons mask contains all possible reasons.
+            </returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.ReasonsMask.Reasons">
+            <summary>
+            Returns the reasons in this mask.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlB2(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,Org.BouncyCastle.X509.X509Crl)">
+             If the complete CRL includes an issuing distribution point (IDP) CRL
+             extension check the following:
+             <p>
+             (i) If the distribution point name is present in the IDP CRL extension
+             and the distribution field is present in the DP, then verify that one of
+             the names in the IDP matches one of the names in the DP. If the
+             distribution point name is present in the IDP CRL extension and the
+             distribution field is omitted from the DP, then verify that one of the
+             names in the IDP matches one of the names in the cRLIssuer field of the
+             DP.
+             </p>
+             <p>
+             (ii) If the onlyContainsUserCerts boolean is asserted in the IDP CRL
+             extension, verify that the certificate does not include the basic
+             constraints extension with the cA boolean asserted.
+             </p>
+             <p>
+             (iii) If the onlyContainsCACerts boolean is asserted in the IDP CRL
+             extension, verify that the certificate includes the basic constraints
+             extension with the cA boolean asserted.
+             </p>
+             <p>
+             (iv) Verify that the onlyContainsAttributeCerts boolean is not asserted.
+             </p>
+            
+             @param dp   The distribution point.
+             @param cert The certificate.
+             @param crl  The CRL.
+             @throws AnnotatedException if one of the conditions is not met or an error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlB1(Org.BouncyCastle.Asn1.X509.DistributionPoint,System.Object,Org.BouncyCastle.X509.X509Crl)">
+             If the DP includes cRLIssuer, then verify that the issuer field in the
+             complete CRL matches cRLIssuer in the DP and that the complete CRL
+             contains an
+                  g distribution point extension with the indirectCRL
+             boolean asserted. Otherwise, verify that the CRL issuer matches the
+             certificate issuer.
+            
+             @param dp   The distribution point.
+             @param cert The certificate ot attribute certificate.
+             @param crl  The CRL for <code>cert</code>.
+             @throws AnnotatedException if one of the above conditions does not apply or an error
+                                        occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlF(Org.BouncyCastle.X509.X509Crl,System.Object,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Pkix.PkixParameters,System.Collections.IList)">
+             Obtain and validate the certification path for the complete CRL issuer.
+             If a key usage extension is present in the CRL issuer's certificate,
+             verify that the cRLSign bit is set.
+            
+             @param crl                CRL which contains revocation information for the certificate
+                                       <code>cert</code>.
+             @param cert               The attribute certificate or certificate to check if it is
+                                       revoked.
+             @param defaultCRLSignCert The issuer certificate of the certificate <code>cert</code>.
+             @param defaultCRLSignKey  The public key of the issuer certificate
+                                       <code>defaultCRLSignCert</code>.
+             @param paramsPKIX         paramsPKIX PKIX parameters.
+             @param certPathCerts      The certificates on the certification path.
+             @return A <code>Set</code> with all keys of possible CRL issuer
+                     certificates.
+             @throws AnnotatedException if the CRL is not valid or the status cannot be checked or
+                                        some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.CheckCrl(Org.BouncyCastle.Asn1.X509.DistributionPoint,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Pkix.CertStatus,Org.BouncyCastle.Pkix.ReasonsMask,System.Collections.IList)">
+             Checks a distribution point for revocation information for the
+             certificate <code>cert</code>.
+            
+             @param dp                 The distribution point to consider.
+             @param paramsPKIX         PKIX parameters.
+             @param cert               Certificate to check if it is revoked.
+             @param validDate          The date when the certificate revocation status should be
+                                       checked.
+             @param defaultCRLSignCert The issuer certificate of the certificate <code>cert</code>.
+             @param defaultCRLSignKey  The public key of the issuer certificate
+                                       <code>defaultCRLSignCert</code>.
+             @param certStatus         The current certificate revocation status.
+             @param reasonMask         The reasons mask which is already checked.
+             @param certPathCerts      The certificates of the certification path.
+             @throws AnnotatedException if the certificate is revoked or the status cannot be checked
+                                        or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.CheckCrls(Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Collections.IList)">
+             Checks a certificate if it is revoked.
+            
+             @param paramsPKIX       PKIX parameters.
+             @param cert             Certificate to check if it is revoked.
+             @param validDate        The date when the certificate revocation status should be
+                                     checked.
+             @param sign             The issuer certificate of the certificate <code>cert</code>.
+             @param workingPublicKey The public key of the issuer certificate <code>sign</code>.
+             @param certPathCerts    The certificates of the certification path.
+             @throws AnnotatedException if the certificate is revoked or the status cannot be checked
+                                        or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3280CertPathUtilities.ProcessCrlC(Org.BouncyCastle.X509.X509Crl,Org.BouncyCastle.X509.X509Crl,Org.BouncyCastle.Pkix.PkixParameters)">
+             If use-deltas is set, verify the issuer and scope of the delta CRL.
+            
+             @param deltaCRL    The delta CRL.
+             @param completeCRL The complete CRL.
+             @param pkixParams  The PKIX paramaters.
+             @throws AnnotatedException if an exception occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.CheckCrls(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters,Org.BouncyCastle.X509.X509Certificate,System.DateTime,System.Collections.IList)">
+            Checks if an attribute certificate is revoked.
+            
+            @param attrCert Attribute certificate to check if it is revoked.
+            @param paramsPKIX PKIX parameters.
+            @param issuerCert The issuer certificate of the attribute certificate
+                       <code>attrCert</code>.
+            @param validDate The date when the certificate revocation status should
+                       be checked.
+            @param certPathCerts The certificates of the certification path to be
+                       checked.
+            
+            @throws CertPathValidatorException if the certificate is revoked or the
+                        status cannot be checked or some error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.ProcessAttrCert1(Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters)">
+            Searches for a holder public key certificate and verifies its
+            certification path.
+            
+            @param attrCert the attribute certificate.
+            @param pkixParams The PKIX parameters.
+            @return The certificate path of the holder certificate.
+            @throws Exception if
+                        <ul>
+                        <li>no public key certificate can be found although holder
+                        information is given by an entity name or a base certificate
+                        ID</li>
+                        <li>support classes cannot be created</li>
+                        <li>no certification path for the public key certificate can
+                        be built</li>
+                        </ul>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.Rfc3281CertPathUtilities.CheckCrl(Org.BouncyCastle.Asn1.X509.DistributionPoint,Org.BouncyCastle.X509.IX509AttributeCertificate,Org.BouncyCastle.Pkix.PkixParameters,System.DateTime,Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.Pkix.CertStatus,Org.BouncyCastle.Pkix.ReasonsMask,System.Collections.IList)">
+            
+            Checks a distribution point for revocation information for the
+            certificate <code>attrCert</code>.
+            
+            @param dp The distribution point to consider.
+            @param attrCert The attribute certificate which should be checked.
+            @param paramsPKIX PKIX parameters.
+            @param validDate The date when the certificate revocation status should
+                       be checked.
+            @param issuerCert Certificate to check if it is revoked.
+            @param reasonMask The reasons mask which is already checked.
+            @param certPathCerts The certificates of the certification path to be
+                       checked.
+            @throws Exception if the certificate is revoked or the status
+                        cannot be checked or some error occurs.
+        </member>
+        <member name="T:Org.BouncyCastle.Pkix.TrustAnchor">
+            <summary>
+            A trust anchor or most-trusted Certification Authority (CA).
+            
+            This class represents a "most-trusted CA", which is used as a trust anchor
+            for validating X.509 certification paths. A most-trusted CA includes the
+            public key of the CA, the CA's name, and any constraints upon the set of
+            paths which may be validated using this key. These parameters can be
+            specified in the form of a trusted X509Certificate or as individual
+            parameters.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(Org.BouncyCastle.X509.X509Certificate,System.Byte[])">
+             <summary>
+             Creates an instance of TrustAnchor with the specified X509Certificate and
+             optional name constraints, which are intended to be used as additional
+             constraints when validating an X.509 certification path.
+            	The name constraints are specified as a byte array. This byte array
+            	should contain the DER encoded form of the name constraints, as they
+            	would appear in the NameConstraints structure defined in RFC 2459 and
+            	X.509. The ASN.1 definition of this structure appears below.
+            	
+            	<pre>
+            	NameConstraints ::= SEQUENCE {
+            		permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
+            		excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
+            	   
+             GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+             
+            		GeneralSubtree ::= SEQUENCE {
+            		base                    GeneralName,
+            		minimum         [0]     BaseDistance DEFAULT 0,
+            		maximum         [1]     BaseDistance OPTIONAL }
+            		
+            		BaseDistance ::= INTEGER (0..MAX)
+            
+            		GeneralName ::= CHOICE {
+            		otherName                       [0]     OtherName,
+            		rfc822Name                      [1]     IA5String,
+            		dNSName                         [2]     IA5String,
+            		x400Address                     [3]     ORAddress,
+            		directoryName                   [4]     Name,
+            		ediPartyName                    [5]     EDIPartyName,
+            		uniformResourceIdentifier       [6]     IA5String,
+            		iPAddress                       [7]     OCTET STRING,
+            		registeredID                    [8]     OBJECT IDENTIFIER}
+            	</pre>
+            	
+            	Note that the name constraints byte array supplied is cloned to protect
+            	against subsequent modifications.
+             </summary>
+             <param name="trustedCert">a trusted X509Certificate</param>
+             <param name="nameConstraints">a byte array containing the ASN.1 DER encoding of a
+             NameConstraints extension to be used for checking name
+             constraints. Only the value of the extension is included, not
+             the OID or criticality flag. Specify null to omit the
+             parameter.</param>
+             <exception cref="T:System.ArgumentNullException">if the specified X509Certificate is null</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(Org.BouncyCastle.Asn1.X509.X509Name,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+            <summary>
+            Creates an instance of <c>TrustAnchor</c> where the
+            most-trusted CA is specified as an X500Principal and public key.
+            </summary>
+            <remarks>
+            <p>
+            Name constraints are an optional parameter, and are intended to be used
+            as additional constraints when validating an X.509 certification path.
+            </p><p>
+            The name constraints are specified as a byte array. This byte array
+            contains the DER encoded form of the name constraints, as they
+            would appear in the NameConstraints structure defined in RFC 2459
+            and X.509. The ASN.1 notation for this structure is supplied in the
+            documentation for the other constructors.
+            </p><p>
+            Note that the name constraints byte array supplied here is cloned to
+            protect against subsequent modifications.
+            </p>
+            </remarks>
+            <param name="caPrincipal">the name of the most-trusted CA as X509Name</param>
+            <param name="pubKey">the public key of the most-trusted CA</param>
+            <param name="nameConstraints">
+            a byte array containing the ASN.1 DER encoding of a NameConstraints extension to
+            be used for checking name constraints. Only the value of the extension is included,
+            not the OID or criticality flag. Specify <c>null</c> to omit the parameter.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            if <c>caPrincipal</c> or <c>pubKey</c> is null
+            </exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.#ctor(System.String,Org.BouncyCastle.Crypto.AsymmetricKeyParameter,System.Byte[])">
+            <summary>
+            Creates an instance of <code>TrustAnchor</code> where the most-trusted
+            CA is specified as a distinguished name and public key. Name constraints
+            are an optional parameter, and are intended to be used as additional
+            constraints when validating an X.509 certification path.
+            <br/>
+            The name constraints are specified as a byte array. This byte array
+            contains the DER encoded form of the name constraints, as they would
+            appear in the NameConstraints structure defined in RFC 2459 and X.509.
+            </summary>
+            <param name="caName">the X.500 distinguished name of the most-trusted CA in RFC
+            2253 string format</param>
+            <param name="pubKey">the public key of the most-trusted CA</param>
+            <param name="nameConstraints">a byte array containing the ASN.1 DER encoding of a
+            NameConstraints extension to be used for checking name
+            constraints. Only the value of the extension is included, not 
+            the OID or criticality flag. Specify null to omit the 
+            parameter.</param>
+            throws NullPointerException, IllegalArgumentException
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.setNameConstraints(System.Byte[])">
+            <summary>
+            Decode the name constraints and clone them if not null.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Pkix.TrustAnchor.ToString">
+            <summary>
+            Returns a formatted string describing the <code>TrustAnchor</code>.
+            </summary>
+            <returns>a formatted string describing the <code>TrustAnchor</code></returns>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.TrustedCert">
+            <summary>
+            Returns the most-trusted CA certificate.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CA">
+            <summary>
+            Returns the name of the most-trusted CA as an X509Name.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CAName">
+            <summary>
+            Returns the name of the most-trusted CA in RFC 2253 string format.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.Pkix.TrustAnchor.CAPublicKey">
+            <summary>
+            Returns the public key of the most-trusted CA.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.AgreementUtilities">
+            <remarks>
+             Utility class for creating IBasicAgreement objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.CipherUtilities">
+            <remarks>
+             Cipher Utility class contains methods that can not be specifically grouped into other classes.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.CipherUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.DigestUtilities">
+            <remarks>
+             Utility class for creating IDigest objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.DigestUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a given digest mechanism.
+            </summary>
+            <param name="mechanism">A string representation of the digest meanism.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.MacUtilities">
+            <remarks>
+             Utility class for creating HMac object from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.PbeUtilities">
+             <summary>
+            
+             </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.PbeUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecureRandom.#ctor(Org.BouncyCastle.Crypto.Prng.IRandomGenerator)">
+            <summary>Use the specified instance of IRandomGenerator as random source.</summary>
+            <remarks>
+            This constructor performs no seeding of either the <c>IRandomGenerator</c> or the
+            constructed <c>SecureRandom</c>. It is the responsibility of the client to provide
+            proper seed material as necessary/appropriate for the given <c>IRandomGenerator</c>
+            implementation.
+            </remarks>
+            <param name="generator">The source to generate all random bytes from.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecurityUtilityException.#ctor">
+            base constructor.
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SecurityUtilityException.#ctor(System.String)">
+             create a SecurityUtilityException with the given message.
+            
+             @param message the message to be carried with the exception.
+        </member>
+        <member name="T:Org.BouncyCastle.Security.SignerUtilities">
+            <summary>
+             Signer Utility class contains methods that can not be specifically grouped into other classes.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Security.SignerUtilities.GetObjectIdentifier(System.String)">
+            <summary>
+            Returns a ObjectIdentifier for a give encoding.
+            </summary>
+            <param name="mechanism">A string representation of the encoding.</param>
+            <returns>A DerObjectIdentifier, null if the Oid is not available.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Security.WrapperUtilities">
+            <remarks>
+             Utility class for creating IWrapper objects from their names/Oids
+            </remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampRequest">
+            Base class for an RFC 3161 Time Stamp Request.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.#ctor(System.Byte[])">
+             Create a TimeStampRequest from the past in byte array.
+            
+             @param req byte array containing the request.
+             @throws IOException if the request is malformed.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.#ctor(System.IO.Stream)">
+             Create a TimeStampRequest from the past in input stream.
+            
+             @param in input stream containing the request.
+             @throws IOException if the request is malformed.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.Validate(System.Collections.IList,System.Collections.IList,System.Collections.IList)">
+             Validate the timestamp request, checking the digest to see if it is of an
+             accepted type and whether it is of the correct length for the algorithm specified.
+            
+             @param algorithms a set of string OIDS giving accepted algorithms.
+             @param policies if non-null a set of policies we are willing to sign under.
+             @param extensions if non-null a set of extensions we are willing to accept.
+             @throws TspException if the request is invalid, or processing fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequest.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampRequestGenerator">
+            Generator for RFC 3161 Time Stamp Request objects.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 3)
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 3)
+            @throws IOException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampRequestGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampResponse">
+            Base class for an RFC 3161 Time Stamp Response object.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.#ctor(System.Byte[])">
+             Create a TimeStampResponse from a byte array containing an ASN.1 encoding.
+            
+             @param resp the byte array containing the encoded response.
+             @throws TspException if the response is malformed.
+             @throws IOException if the byte array doesn't represent an ASN.1 encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.#ctor(System.IO.Stream)">
+             Create a TimeStampResponse from an input stream containing an ASN.1 encoding.
+            
+             @param input the input stream containing the encoded response.
+             @throws TspException if the response is malformed.
+             @throws IOException if the stream doesn't represent an ASN.1 encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.Validate(Org.BouncyCastle.Tsp.TimeStampRequest)">
+             Check this response against to see if it a well formed response for
+             the passed in request. Validation will include checking the time stamp
+             token if the response status is GRANTED or GRANTED_WITH_MODS.
+            
+             @param request the request to be checked against
+             @throws TspException if the request can not match this response.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponse.GetEncoded">
+            return the ASN.1 encoded representation of this object.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TimeStampResponseGenerator">
+            Generator for RFC 3161 Time Stamp Responses.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponseGenerator.Generate(Org.BouncyCastle.Tsp.TimeStampRequest,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Utilities.Date.DateTimeObject)">
+             Return an appropriate TimeStampResponse.
+             <p>
+             If genTime is null a timeNotAvailable error response will be returned.
+            
+             @param request the request this response is for.
+             @param serialNumber serial number for the response token.
+             @param genTime generation time for the response token.
+             @param provider provider to use for signature calculation.
+             @return
+             @throws NoSuchAlgorithmException
+             @throws NoSuchProviderException
+             @throws TSPException
+             </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampResponseGenerator.GenerateFailResponse(Org.BouncyCastle.Asn1.Cmp.PkiStatus,System.Int32,System.String)">
+             Generate a TimeStampResponse with chosen status and FailInfoField.
+            
+             @param status the PKIStatus to set.
+             @param failInfoField the FailInfoField to set.
+             @param statusString an optional string describing the failure.
+             @return a TimeStampResponse with a failInfoField and optional statusString
+             @throws TSPException in case the response could not be created
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.Validate(Org.BouncyCastle.X509.X509Certificate)">
+            Validate the time stamp token.
+            <p>
+            To be valid the token must be signed by the passed in certificate and
+            the certificate must be the one referred to by the SigningCertificate
+            attribute included in the hashed attributes of the token. The
+            certificate must also have the ExtendedKeyUsageExtension with only
+            KeyPurposeID.IdKPTimeStamping and have been valid at the time the
+            timestamp was created.
+            </p>
+            <p>
+            A successful call to validate means all the above are true.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.ToCmsSignedData">
+             Return the underlying CmsSignedData object.
+            
+             @return the underlying CMS structure.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampToken.GetEncoded">
+             Return a ASN.1 encoded byte stream representing the encoded object.
+            
+             @throws IOException if encoding fails.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampTokenGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String)">
+            basic creation - only the default attributes will be included here.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TimeStampTokenGenerator.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.X509.X509Certificate,System.String,System.String,Org.BouncyCastle.Asn1.Cms.AttributeTable,Org.BouncyCastle.Asn1.Cms.AttributeTable)">
+            create with a signer with extra signed/unsigned attributes.
+        </member>
+        <member name="P:Org.BouncyCastle.Tsp.TimeStampTokenInfo.Nonce">
+            @return the nonce value, null if there isn't one.
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TspAlgorithms">
+            Recognised hash algorithms for the time stamp protocol.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.GetSignatureTimestamps(Org.BouncyCastle.Cms.SignerInformation)">
+             Fetches the signature time-stamp attributes from a SignerInformation object.
+             Checks that the MessageImprint for each time-stamp matches the signature field.
+             (see RFC 3161 Appendix A).
+            
+             @param signerInfo a SignerInformation to search for time-stamps
+             @return a collection of TimeStampToken objects
+             @throws TSPValidationException
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.ValidateCertificate(Org.BouncyCastle.X509.X509Certificate)">
+             Validate the passed in certificate as being of the correct type to be used
+             for time stamping. To be valid it must have an ExtendedKeyUsage extension
+             which has a key purpose identifier of id-kp-timeStamping.
+            
+             @param cert the certificate of interest.
+             @throws TspValidationException if the certicate fails on one of the check points.
+        </member>
+        <member name="M:Org.BouncyCastle.Tsp.TspUtil.GetDigestAlgName(System.String)">
+            <summary>
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Tsp.TspValidationException">
+            Exception thrown if a TSP request or response fails to validate.
+            <p>
+            If a failure code is associated with the exception it can be retrieved using
+            the getFailureCode() method.</p>
+        </member>
+        <member name="P:Org.BouncyCastle.Tsp.TspValidationException.FailureCode">
+             Return the failure code associated with this exception - if one is set.
+            
+             @return the failure code if set, -1 otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Arrays">
+            <summary> General array utilities.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Arrays.AreEqual(System.Byte[],System.Byte[])">
+            <summary>
+            Are two arrays equal.
+            </summary>
+            <param name="a">Left side.</param>
+            <param name="b">Right side.</param>
+            <returns>True if equal.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Arrays.ConstantTimeAreEqual(System.Byte[],System.Byte[])">
+            <summary>
+            A constant time equals comparison - does not terminate early if
+            test will fail.
+            </summary>
+            <param name="a">first array</param>
+            <param name="b">second array</param>
+            <returns>true if arrays equal, false otherwise.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.BigIntegers">
+            BigInteger utilities.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.BigIntegers.AsUnsignedByteArray(Org.BouncyCastle.Math.BigInteger)">
+             Return the passed in value as an unsigned byte array.
+            
+             @param value value to be converted.
+             @return a byte array without a leading zero byte if present in the signed encoding.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.BigIntegers.CreateRandomInRange(Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Math.BigInteger,Org.BouncyCastle.Security.SecureRandom)">
+            Return a random BigInteger not less than 'min' and not greater than 'max'
+            
+            @param min the least value that may be generated
+            @param max the greatest value that may be generated
+            @param random the source of randomness
+            @return a random BigInteger value in the range [min,max]
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.DateTimeToUnixMs(System.DateTime)">
+            <summary>
+            Return the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC) for a given DateTime value.
+            </summary>
+            <param name="dateTime">A UTC DateTime value not before epoch.</param>
+            <returns>Number of whole milliseconds after epoch.</returns>
+            <exception cref="T:System.ArgumentException">'dateTime' is before epoch.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.UnixMsToDateTime(System.Int64)">
+            <summary>
+            Create a DateTime value from the number of milliseconds since the Unix epoch (1 Jan., 1970 UTC).
+            </summary>
+            <param name="unixMs">Number of milliseconds since the epoch.</param>
+            <returns>A UTC DateTime value</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Date.DateTimeUtilities.CurrentUnixMs">
+            <summary>
+            Return the current number of milliseconds since the Unix epoch (1 Jan., 1970 UTC).
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[])">
+             encode the input data producing a base 64 encoded byte array.
+            
+             @return a byte array containing the base 64 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[],System.IO.Stream)">
+             Encode the byte data to base 64 writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             Encode the byte data to base 64 writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.Byte[])">
+             decode the base 64 encoded input data. It is assumed the input data is valid.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.String)">
+             decode the base 64 encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64.Decode(System.String,System.IO.Stream)">
+             decode the base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.IEncoder">
+            Encode and decode byte arrays (typically from binary to 7-bit ASCII
+            encodings).
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             encode the input data producing a base 64 output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.Decode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             decode the base 64 encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Base64Encoder.DecodeString(System.String,System.IO.Stream)">
+             decode the base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder">
+            <summary>
+             A buffering class to allow translation from one format to another to
+                be done in discrete chunks.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.#ctor(Org.BouncyCastle.Utilities.Encoders.ITranslator,System.Int32)">
+            <summary>
+            Create a buffered Decoder.
+            </summary>
+            <param name="translator">The translater to use.</param>
+            <param name="bufferSize">The size of the buffer.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+            <summary>
+            Process one byte of data.
+            </summary>
+            <param name="input">Data in.</param>
+            <param name="output">Byte array for the output.</param>
+            <param name="outOff">The offset in the output byte array to start writing from.</param>
+            <returns>The amount of output bytes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedDecoder.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process data from a byte array.
+            </summary>
+            <param name="input">The input data.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="len">Amount of data to process from input data array.</param>
+            <param name="outBytes">Array to store output.</param>
+            <param name="outOff">Position in output array to start writing from.</param>
+            <returns>The amount of output bytes.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder">
+            <summary>
+            A class that allows encoding of data using a specific encoder to be processed in chunks.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.#ctor(Org.BouncyCastle.Utilities.Encoders.ITranslator,System.Int32)">
+            <summary>
+            Create.
+            </summary>
+            <param name="translator">The translator to use.</param>
+            <param name="bufferSize">Size of the chunks.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.ProcessByte(System.Byte,System.Byte[],System.Int32)">
+            <summary>
+            Process one byte of data.
+            </summary>
+            <param name="input">The byte.</param>
+            <param name="outBytes">An array to store output in.</param>
+            <param name="outOff">Offset within output array to start writing from.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.BufferedEncoder.ProcessBytes(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Process data from a byte array.
+            </summary>
+            <param name="input">Input data Byte array containing data to be processed.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="len">Amount of input data to be processed.</param>
+            <param name="outBytes">Output data array.</param>
+            <param name="outOff">Offset within output data array to start writing to.</param>
+            <returns>The amount of data written.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.Hex">
+            <summary>
+            Class to decode and encode Hex.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[])">
+             encode the input data producing a Hex encoded byte array.
+            
+             @return a byte array containing the Hex encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.Int32,System.Int32)">
+             encode the input data producing a Hex encoded byte array.
+            
+             @return a byte array containing the Hex encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.IO.Stream)">
+             Hex encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             Hex encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.Byte[])">
+             decode the Hex encoded input data. It is assumed the input data is valid.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.String)">
+             decode the Hex encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.Hex.Decode(System.String,System.IO.Stream)">
+             decode the Hex encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.Encode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             encode the input data producing a Hex output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.Decode(System.Byte[],System.Int32,System.Int32,System.IO.Stream)">
+             decode the Hex encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexEncoder.DecodeString(System.String,System.IO.Stream)">
+             decode the Hex encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.HexTranslator">
+            <summary>
+            A hex translator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.ITranslator">
+            <summary>
+            Translator interface.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.GetEncodedBlockSize">
+            <summary>
+            Return encoded block size.
+            </summary>
+            <returns>2</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.Encode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Encode some data.
+            </summary>
+            <param name="input">Input data array.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="length">The amount of data to process.</param>
+            <param name="outBytes">The output data array.</param>
+            <param name="outOff">The offset within the output data array to start writing from.</param>
+            <returns>Amount of data encoded.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.GetDecodedBlockSize">
+            <summary>
+            Returns the decoded block size.
+            </summary>
+            <returns>1</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.HexTranslator.Decode(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
+            <summary>
+            Decode data from a byte array.
+            </summary>
+            <param name="input">The input data array.</param>
+            <param name="inOff">Start position within input data array.</param>
+            <param name="length">The amounty of data to process.</param>
+            <param name="outBytes">The output data array.</param>
+            <param name="outOff">The position within the output data array to start writing from.</param>
+            <returns>The amount of data written.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.UrlBase64">
+            Convert binary data to and from UrlBase64 encoding.  This is identical to
+            Base64 encoding, except that the padding character is "." and the other 
+            non-alphanumeric characters are "-" and "_" instead of "+" and "/".
+            <p>
+            The purpose of UrlBase64 encoding is to provide a compact encoding of binary
+            data that is safe for use as an URL parameter. Base64 encoding does not
+            produce encoded values that are safe for use in URLs, since "/" can be 
+            interpreted as a path delimiter; "+" is the encoded form of a space; and
+            "=" is used to separate a name from the corresponding value in an URL 
+            parameter.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Encode(System.Byte[])">
+             Encode the input data producing a URL safe base 64 encoded byte array.
+            
+             @return a byte array containing the URL safe base 64 encoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Encode(System.Byte[],System.IO.Stream)">
+             Encode the byte data writing it to the given output stream.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.Byte[])">
+             Decode the URL safe base 64 encoded input data - white space will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.Byte[],System.IO.Stream)">
+             decode the URL safe base 64 encoded byte data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.String)">
+             decode the URL safe base 64 encoded string data - whitespace will be ignored.
+            
+             @return a byte array representing the decoded data.
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Encoders.UrlBase64.Decode(System.String,System.IO.Stream)">
+             Decode the URL safe base 64 encoded string data writing it to the given output stream,
+             whitespace characters will be ignored.
+            
+             @return the number of bytes produced.
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Encoders.UrlBase64Encoder">
+            Convert binary data to and from UrlBase64 encoding.  This is identical to
+            Base64 encoding, except that the padding character is "." and the other 
+            non-alphanumeric characters are "-" and "_" instead of "+" and "/".
+            <p>
+            The purpose of UrlBase64 encoding is to provide a compact encoding of binary
+            data that is safe for use as an URL parameter. Base64 encoding does not
+            produce encoded values that are safe for use in URLs, since "/" can be 
+            interpreted as a path delimiter; "+" is the encoded form of a space; and
+            "=" is used to separate a name from the corresponding value in an URL 
+            parameter.
+            </p>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Pem.PemObjectParser.ParseObject(Org.BouncyCastle.Utilities.IO.Pem.PemObject)">
+            <param name="obj">
+            A <see cref="T:Org.BouncyCastle.Utilities.IO.Pem.PemObject"/>
+            </param>
+            <returns>
+            A <see cref="T:System.Object"/>
+            </returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.IO.Streams.PipeAllLimited(System.IO.Stream,System.Int64,System.IO.Stream)">
+            <summary>
+            Pipe all bytes from <c>inStr</c> to <c>outStr</c>, throwing <c>StreamFlowException</c> if greater
+            than <c>limit</c> bytes in <c>inStr</c>.
+            </summary>
+            <param name="inStr">
+            A <see cref="T:System.IO.Stream"/>
+            </param>
+            <param name="limit">
+            A <see cref="T:System.Int64"/>
+            </param>
+            <param name="outStr">
+            A <see cref="T:System.IO.Stream"/>
+            </param>
+            <returns>The number of bytes actually transferred, if not greater than <c>limit</c></returns>
+            <exception cref="T:System.IO.IOException"></exception>
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValid(System.String)">
+             Validate the given IPv4 or IPv6 address.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid address, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidWithNetMask(System.String)">
+             Validate the given IPv4 or IPv6 address and netmask.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid address with netmask, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidIPv4(System.String)">
+             Validate the given IPv4 address.
+             
+             @param address the IP address as a string.
+            
+             @return true if a valid IPv4 address, false otherwise
+        </member>
+        <member name="M:Org.BouncyCastle.Utilities.Net.IPAddress.IsValidIPv6(System.String)">
+             Validate the given IPv6 address.
+            
+             @param address the IP address as a string.
+            
+             @return true if a valid IPv4 address, false otherwise
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Strings">
+            <summary> General string utilities.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Zlib.ZDeflaterOutputStream">
+            <summary>
+            Summary description for DeflaterOutputStream.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.Utilities.Zlib.ZInflaterInputStream">
+            <summary>
+            Summary description for DeflaterOutputStream.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.AttributeCertificateHolder">
+            <remarks>
+            The Holder object.
+            <pre>
+            Holder ::= SEQUENCE {
+            	baseCertificateID   [0] IssuerSerial OPTIONAL,
+            		-- the issuer and serial number of
+            		-- the holder's Public Key Certificate
+            	entityName          [1] GeneralNames OPTIONAL,
+            		-- the name of the claimant or role
+            	objectDigestInfo    [2] ObjectDigestInfo OPTIONAL
+            		-- used to directly authenticate the holder,
+            		-- for example, an executable
+            }
+            </pre>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.#ctor(System.Int32,System.String,System.String,System.Byte[])">
+             Constructs a holder for v2 attribute certificates with a hash value for
+             some type of object.
+             <p>
+             <code>digestedObjectType</code> can be one of the following:
+             <ul>
+             <li>0 - publicKey - A hash of the public key of the holder must be
+             passed.</li>
+             <li>1 - publicKeyCert - A hash of the public key certificate of the
+             holder must be passed.</li>
+             <li>2 - otherObjectDigest - A hash of some other object type must be
+             passed. <code>otherObjectTypeID</code> must not be empty.</li>
+             </ul>
+             </p>
+             <p>This cannot be used if a v1 attribute certificate is used.</p>
+            
+             @param digestedObjectType The digest object type.
+             @param digestAlgorithm The algorithm identifier for the hash.
+             @param otherObjectTypeID The object type ID if
+                        <code>digestedObjectType</code> is
+                        <code>otherObjectDigest</code>.
+             @param objectDigest The hash value.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetObjectDigest">
+             Returns the hash if an object digest info is used.
+            
+             @return The hash or <code>null</code> if no object digest info is set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetEntityNames">
+             Return any principal objects inside the attribute certificate holder entity names field.
+            
+             @return an array of IPrincipal objects (usually X509Name), null if no entity names field is set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateHolder.GetIssuer">
+             Return the principals associated with the issuer attached to this holder
+            
+             @return an array of principals, null if no BaseCertificateID is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.DigestedObjectType">
+             Returns the digest object type if an object digest info is used.
+             <p>
+             <ul>
+             <li>0 - publicKey - A hash of the public key of the holder must be
+             passed.</li>
+             <li>1 - publicKeyCert - A hash of the public key certificate of the
+             holder must be passed.</li>
+             <li>2 - otherObjectDigest - A hash of some other object type must be
+             passed. <code>otherObjectTypeID</code> must not be empty.</li>
+             </ul>
+             </p>
+            
+             @return The digest object type or -1 if no object digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.DigestAlgorithm">
+             Returns the other object type ID if an object digest info is used.
+            
+             @return The other object type ID or <code>null</code> if no object
+                     digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.OtherObjectTypeID">
+             Returns the digest algorithm ID if an object digest info is used.
+            
+             @return The digest algorithm ID or <code>null</code> if no object
+                     digest info is set.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.AttributeCertificateHolder.SerialNumber">
+             Return the serial number associated with the issuer attached to this holder.
+            
+             @return the certificate serial number, null if no BaseCertificateID is set.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.AttributeCertificateIssuer">
+            Carrying class for an attribute certificate issuer.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateIssuer.#ctor(Org.BouncyCastle.Asn1.X509.AttCertIssuer)">
+             Set the issuer directly with the ASN.1 structure.
+            
+             @param issuer The issuer
+        </member>
+        <member name="M:Org.BouncyCastle.X509.AttributeCertificateIssuer.GetPrincipals">
+            <summary>Return any principal objects inside the attribute certificate issuer object.</summary>
+            <returns>An array of IPrincipal objects (usually X509Principal).</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure">
+            <remarks>A high level authority key identifier.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor which will take the byte[] returned from getExtensionValue()
+            
+             @param encodedValue a DER octet encoded string with the extension structure in it.
+             @throws IOException on parsing errors.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.X509.X509Certificate)">
+             Create an AuthorityKeyIdentifier using the passed in certificate's public
+             key, issuer and serial number.
+            
+             @param certificate the certificate providing the information.
+             @throws CertificateParsingException if there is a problem processing the certificate
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.AuthorityKeyIdentifierStructure.#ctor(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+             Create an AuthorityKeyIdentifier using just the hash of the
+             public key.
+            
+             @param pubKey the key to generate the hash from.
+             @throws InvalidKeyException if there is a problem using the key.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Extension.SubjectKeyIdentifierStructure">
+            A high level subject key identifier.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Extension.SubjectKeyIdentifierStructure.#ctor(Org.BouncyCastle.Asn1.Asn1OctetString)">
+             Constructor which will take the byte[] returned from getExtensionValue()
+            
+             @param encodedValue a DER octet encoded string with the extension structure in it.
+             @throws IOException on parsing errors.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.IX509AttributeCertificate">
+            <remarks>Interface for an X.509 Attribute Certificate.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetAttributes">
+            <summary>Return the attributes contained in the attribute block in the certificate.</summary>
+            <returns>An array of attributes.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetAttributes(System.String)">
+            <summary>Return the attributes with the same type as the passed in oid.</summary>
+            <param name="oid">The object identifier we wish to match.</param>
+            <returns>An array of matched attributes, null if there is no match.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.IX509AttributeCertificate.GetEncoded">
+            <summary>Return an ASN.1 encoded byte array representing the attribute certificate.</summary>
+            <returns>An ASN.1 encoded byte array.</returns>
+            <exception cref="T:System.IO.IOException">If the certificate cannot be encoded.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Version">
+            <summary>The version number for the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.SerialNumber">
+            <summary>The serial number for the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.NotBefore">
+            <summary>The UTC DateTime before which the certificate is not valid.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.NotAfter">
+            <summary>The UTC DateTime after which the certificate is not valid.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Holder">
+            <summary>The holder of the certificate.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.IX509AttributeCertificate.Issuer">
+            <summary>The issuer details for the certificate.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.PrincipalUtilities">
+            <remarks>
+            A utility class that will extract X509Principal objects from X.509 certificates.
+            <p>
+            Use this in preference to trying to recreate a principal from a string, not all
+            DNs are what they should be, so it's best to leave them encoded where they
+            can be.</p>
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetIssuerX509Principal(Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Return the issuer of the given cert as an X509Principal.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetSubjectX509Principal(Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Return the subject of the given cert as an X509Principal.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.PrincipalUtilities.GetIssuerX509Principal(Org.BouncyCastle.X509.X509Crl)">
+            <summary>Return the issuer of the given CRL as an X509Principal.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector">
+             This class is an <code>Selector</code> like implementation to select
+             attribute certificates from a given set of criteria.
+            
+             @see org.bouncycastle.x509.X509AttributeCertificate
+             @see org.bouncycastle.x509.X509Store
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Match(System.Object)">
+            <summary>
+            Decides if the given attribute certificate should be selected.
+            </summary>
+            <param name="obj">The attribute certificate to be checked.</param>
+            <returns><code>true</code> if the object matches this selector.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetName(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Adds a target name criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target names.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name The name as a GeneralName (not <code>null</code>)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetName(System.Byte[])">
+             Adds a target name criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target names.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name a byte array containing the name in ASN.1 DER encoded form of a GeneralName
+             @throws IOException if a parsing error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SetTargetNames(System.Collections.IEnumerable)">
+            Adds a collection with target names criteria. If <code>null</code> is
+            given any will do.
+            <p>
+            The collection consists of either GeneralName objects or byte[] arrays representing
+            DER encoded GeneralName structures.
+            </p>
+            
+            @param names A collection of target names.
+            @throws IOException if a parsing error occurs.
+            @see #AddTargetName(byte[])
+            @see #AddTargetName(GeneralName)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.GetTargetNames">
+            Gets the target names. The collection consists of <code>List</code>s
+            made up of an <code>Integer</code> in the first entry and a DER encoded
+            byte array or a <code>String</code> in the second entry.
+            <p>The returned collection is immutable.</p>
+            
+            @return The collection of target names
+            @see #setTargetNames(Collection)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetGroup(Org.BouncyCastle.Asn1.X509.GeneralName)">
+             Adds a target group criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target groups.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param group The group as GeneralName form (not <code>null</code>)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AddTargetGroup(System.Byte[])">
+             Adds a target group criterion for the attribute certificate to the target
+             information extension criteria. The <code>X509AttributeCertificate</code>
+             must contain at least one of the specified target groups.
+             <p>
+             Each attribute certificate may contain a target information extension
+             limiting the servers where this attribute certificate can be used. If
+             this extension is not present, the attribute certificate is not targeted
+             and may be accepted by any server.
+             </p>
+            
+             @param name a byte array containing the group in ASN.1 DER encoded form of a GeneralName
+             @throws IOException if a parsing error occurs.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SetTargetGroups(System.Collections.IEnumerable)">
+             Adds a collection with target groups criteria. If <code>null</code> is
+             given any will do.
+             <p>
+             The collection consists of <code>GeneralName</code> objects or <code>byte[]</code>
+             representing DER encoded GeneralNames.
+             </p>
+            
+             @param names A collection of target groups.
+             @throws IOException if a parsing error occurs.
+             @see #AddTargetGroup(byte[])
+             @see #AddTargetGroup(GeneralName)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.GetTargetGroups">
+             Gets the target groups. The collection consists of <code>List</code>s
+             made up of an <code>Integer</code> in the first entry and a DER encoded
+             byte array or a <code>String</code> in the second entry.
+             <p>The returned collection is immutable.</p>
+            
+             @return The collection of target groups.
+             @see #setTargetGroups(Collection)
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AttributeCert">
+            <summary>The attribute certificate which must be matched.</summary>
+            <remarks>If <c>null</c> is given, any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.AttributeCertificateValid">
+            <summary>The criteria for validity</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Holder">
+            <summary>The holder.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.Issuer">
+            <summary>The issuer.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509AttrCertStoreSelector.SerialNumber">
+            <summary>The serial number.</summary>
+            <remarks>If <c>null</c> is given any will do.</remarks>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector">
+            <remarks>
+            This class is an <code>IX509Selector</code> implementation to select
+            certificate pairs, which are e.g. used for cross certificates. The set of
+            criteria is given from two <code>X509CertStoreSelector</code> objects,
+            each of which, if present, must match the respective component of a pair.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.Match(System.Object)">
+            <summary>
+            Decides if the given certificate pair should be selected. If
+            <c>obj</c> is not a <code>X509CertificatePair</code>, this method
+            returns <code>false</code>.
+            </summary>
+            <param name="obj">The <code>X509CertificatePair</code> to be tested.</param>
+            <returns><code>true</code> if the object matches this selector.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.CertPair">
+            <summary>The certificate pair which is used for testing on equality.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.ForwardSelector">
+            <summary>The certificate selector for the forward part.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CertPairStoreSelector.ReverseSelector">
+            <summary>The certificate selector for the reverse part.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CollectionStore">
+            A simple collection backed store.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStore.#ctor(System.Collections.ICollection)">
+             Basic constructor.
+            
+             @param collection - initial contents for the store, this is copied.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStore.GetMatches(Org.BouncyCastle.X509.Store.IX509Selector)">
+             Return the matches in the collection for the passed in selector.
+            
+             @param selector the selector to match against.
+             @return a possibly empty collection of matching objects.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters">
+            <remarks>This class contains a collection for collection based <code>X509Store</code>s.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.#ctor(System.Collections.ICollection)">
+            <summary>
+            Constructor.
+            <p>
+            The collection is copied.
+            </p>
+            </summary>
+            <param name="collection">The collection containing X.509 object types.</param>
+            <exception cref="T:System.ArgumentNullException">If collection is null.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.GetCollection">
+            <summary>Returns a copy of the <code>ICollection</code>.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.Store.X509CollectionStoreParameters.ToString">
+            <summary>Returns a formatted string describing the parameters.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.Issuers">
+            <summary>
+            An <code>ICollection</code> of <code>X509Name</code> objects
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.AttrCertChecking">
+             The attribute certificate being checked. This is not a criterion.
+             Rather, it is optional information that may help a {@link X509Store} find
+             CRLs that would be relevant when checking revocation for the specified
+             attribute certificate. If <code>null</code> is specified, then no such
+             optional information is provided.
+            
+             @param attrCert the <code>IX509AttributeCertificate</code> being checked (or
+                         <code>null</code>)
+             @see #getAttrCertificateChecking()
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.CompleteCrlEnabled">
+             If <code>true</code> only complete CRLs are returned. Defaults to
+             <code>false</code>.
+            
+             @return <code>true</code> if only complete CRLs are returned.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.DeltaCrlIndicatorEnabled">
+             Returns if this selector must match CRLs with the delta CRL indicator
+             extension set. Defaults to <code>false</code>.
+            
+             @return Returns <code>true</code> if only CRLs with the delta CRL
+                     indicator extension are selected.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.IssuingDistributionPoint">
+             The issuing distribution point.
+             <p>
+             The issuing distribution point extension is a CRL extension which
+             identifies the scope and the distribution point of a CRL. The scope
+             contains among others information about revocation reasons contained in
+             the CRL. Delta CRLs and complete CRLs must have matching issuing
+             distribution points.</p>
+             <p>
+             The byte array is cloned to protect against subsequent modifications.</p>
+             <p>
+             You must also enable or disable this criteria with
+             {@link #setIssuingDistributionPointEnabled(bool)}.</p>
+            
+             @param issuingDistributionPoint The issuing distribution point to set.
+                                             This is the DER encoded OCTET STRING extension value.
+             @see #getIssuingDistributionPoint()
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.IssuingDistributionPointEnabled">
+             Whether the issuing distribution point criteria should be applied.
+             Defaults to <code>false</code>.
+             <p>
+             You may also set the issuing distribution point criteria if not a missing
+             issuing distribution point should be assumed.</p>
+            
+             @return Returns if the issuing distribution point check is enabled.
+        </member>
+        <member name="P:Org.BouncyCastle.X509.Store.X509CrlStoreSelector.MaxBaseCrlNumber">
+             The maximum base CRL number. Defaults to <code>null</code>.
+            
+             @return Returns the maximum base CRL number.
+             @see #setMaxBaseCRLNumber(BigInteger)
+        </member>
+        <member name="T:Org.BouncyCastle.X509.SubjectPublicKeyInfoFactory">
+            <summary>
+            A factory to produce Public Key Info Objects.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Create a Subject Public Key Info object for a given public key.
+            </summary>
+            <param name="key">One of ElGammalPublicKeyParameters, DSAPublicKeyParameter, DHPublicKeyParameters, RsaKeyParameters or ECPublicKeyParameters</param>
+            <returns>A subject public key info object.</returns>
+            <exception cref="T:System.Exception">Throw exception if object provided is not one of the above.</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCert(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCerts(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCert(System.IO.Stream)">
+            Generates a certificate object and initializes it with the data
+            read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509AttrCertParser.ReadAttrCerts(System.IO.Stream)">
+            Returns a (possibly empty) collection view of the certificates
+            read from the given input stream inStream.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Attribute">
+            Class for carrying the values in an X.509 Attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(Org.BouncyCastle.Asn1.Asn1Encodable)">
+            @param at an object representing an attribute.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1Encodable)">
+             Create an X.509 Attribute with the type given by the passed in oid and
+             the value represented by an ASN.1 Set containing value.
+            
+             @param oid type of the attribute
+             @param value value object to go into the atribute's value set.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Attribute.#ctor(System.String,Org.BouncyCastle.Asn1.Asn1EncodableVector)">
+             Create an X.59 Attribute with the type given by the passed in oid and the
+             value represented by an ASN.1 Set containing the objects in value.
+            
+             @param oid type of the attribute
+             @param value vector of values to go in the attribute's value set.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Certificate">
+            <summary>
+            An Object representing an X509 Certificate.
+            Has static methods for loading Certificates encoded in many forms that return X509Certificate Objects.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.IsValid(System.DateTime)">
+            <summary>
+            Return true if the nominated time is within the start and end times nominated on the certificate.
+            </summary>
+            <param name="time">The time to test validity against.</param>
+            <returns>True if certificate is valid for nominated time.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.CheckValidity">
+            <summary>
+            Checks if the current date is within certificate's validity period.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.CheckValidity(System.DateTime)">
+            <summary>
+            Checks if the given date is within certificate's validity period.
+            </summary>
+            <exception cref="T:Org.BouncyCastle.Security.Certificates.CertificateExpiredException">if the certificate is expired by given date</exception>
+            <exception cref="T:Org.BouncyCastle.Security.Certificates.CertificateNotYetValidException">if the certificate is not yet valid on given date</exception>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetTbsCertificate">
+            <summary>
+            Return the Der encoded TbsCertificate data.
+            This is the certificate component less the signature.
+            To Get the whole certificate call the GetEncoded() member.
+            </summary>
+            <returns>A byte array containing the Der encoded Certificate component.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetSignature">
+            <summary>
+            The signature.
+            </summary>
+            <returns>A byte array containg the signature of the certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetSigAlgParams">
+            <summary>
+            Get the signature algorithms parameters. (EG DSA Parameters)
+            </summary>
+            <returns>A byte array containing the Der encoded version of the parameters or null if there are none.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetKeyUsage">
+            <summary>
+            Get a key usage guidlines.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetPublicKey">
+            <summary>
+            Get the public key of the subject of the certificate.
+            </summary>
+            <returns>The public key parameters.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.GetEncoded">
+            <summary>
+            Return a Der encoded version of this certificate.
+            </summary>
+            <returns>A byte array.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Certificate.Verify(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Verify the certificate's signature using the nominated public key.
+            </summary>
+            <param name="key">An appropriate public key parameter object, RsaPublicKeyParameters, DsaPublicKeyParameters or ECDsaPublicKeyParameters</param>
+            <returns>True if the signature is valid.</returns>
+            <exception cref="T:System.Exception">If key submitted is not of the above nominated types.</exception>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IsValidNow">
+            <summary>
+            Return true if the current time is within the start and end times nominated on the certificate.
+            </summary>
+            <returns>true id certificate is valid for the current time.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.Version">
+            <summary>
+            Return the certificate's version.
+            </summary>
+            <returns>An integer whose value Equals the version of the cerficate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SerialNumber">
+            <summary>
+            Return a <see cref="T:Org.BouncyCastle.Math.BigInteger">BigInteger</see> containing the serial number.
+            </summary>
+            <returns>The Serial number.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IssuerDN">
+            <summary>
+            Get the Issuer Distinguished Name. (Who signed the certificate.)
+            </summary>
+            <returns>And X509Object containing name and value pairs.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SubjectDN">
+            <summary>
+            Get the subject of this certificate.
+            </summary>
+            <returns>An X509Name object containing name and value pairs.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.NotBefore">
+            <summary>
+            The time that this certificate is valid from.
+            </summary>
+            <returns>A DateTime object representing that time in the local time zone.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.NotAfter">
+            <summary>
+            The time that this certificate is valid up to.
+            </summary>
+            <returns>A DateTime object representing that time in the local time zone.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SigAlgName">
+            <summary>
+            A meaningful version of the Signature Algorithm. (EG SHA1WITHRSA)
+            </summary>
+            <returns>A sting representing the signature algorithm.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SigAlgOid">
+            <summary>
+            Get the Signature Algorithms Object ID.
+            </summary>
+            <returns>A string containg a '.' separated object id.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.IssuerUniqueID">
+            <summary>
+            Get the issuers UID.
+            </summary>
+            <returns>A DerBitString.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509Certificate.SubjectUniqueID">
+            <summary>
+            Get the subjects UID.
+            </summary>
+            <returns>A DerBitString.</returns>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CertificatePair">
+            <remarks>
+            This class contains a cross certificate pair. Cross certificates pairs may
+            contain two cross signed certificates from two CAs. A certificate from the
+            other CA to this CA is contained in the forward certificate, the certificate
+            from this CA to the other CA is contained in the reverse certificate.
+            </remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificatePair.#ctor(Org.BouncyCastle.X509.X509Certificate,Org.BouncyCastle.X509.X509Certificate)">
+            <summary>Constructor</summary>
+            <param name="forward">Certificate from the other CA to this CA.</param>
+            <param name="reverse">Certificate from this CA to the other CA.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificatePair.#ctor(Org.BouncyCastle.Asn1.X509.CertificatePair)">
+            <summary>Constructor from a ASN.1 CertificatePair structure.</summary>
+            <param name="pair">The <c>CertificatePair</c> ASN.1 object.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509CertificatePair.Forward">
+            <summary>Returns the certificate from the other CA to this CA.</summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509CertificatePair.Reverse">
+            <summary>Returns the certificate from this CA to the other CA.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CertificateParser">
+            class for dealing with X509 certificates.
+            <p>
+            At the moment this will deal with "-----BEGIN CERTIFICATE-----" to "-----END CERTIFICATE-----"
+            base 64 encoded certs, as well as the BER binaries of certificates and some classes of PKCS#7
+            objects.</p>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificate(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificates(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificate(System.IO.Stream)">
+            Generates a certificate object and initializes it with the data
+            read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertificateParser.ReadCertificates(System.IO.Stream)">
+            Returns a (possibly empty) collection view of the certificates
+            read from the given input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertPairParser.ReadCertPair(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CertPairParser.ReadCertPairs(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509Crl">
+             The following extensions are listed in RFC 2459 as relevant to CRLs
+            
+             Authority Key Identifier
+             Issuer Alternative Name
+             CRL Number
+             Delta CRL Indicator (critical)
+             Issuing Distribution Point (critical)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Crl.ToString">
+             Returns a string representation of this CRL.
+            
+             @return a string representation of this CRL.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509Crl.IsRevoked(Org.BouncyCastle.X509.X509Certificate)">
+             Checks whether the given certificate is on this CRL.
+            
+             @param cert the certificate to check for.
+             @return true if the given certificate is on this CRL,
+             false otherwise.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509CrlEntry">
+             The following extensions are listed in RFC 2459 as relevant to CRL Entries
+            
+             ReasonCode Hode Instruction Code Invalidity Date Certificate Issuer
+             (critical)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlEntry.#ctor(Org.BouncyCastle.Asn1.X509.CrlEntry,System.Boolean,Org.BouncyCastle.Asn1.X509.X509Name)">
+             Constructor for CRLEntries of indirect CRLs. If <code>isIndirect</code>
+             is <code>false</code> {@link #getCertificateIssuer()} will always
+             return <code>null</code>, <code>previousCertificateIssuer</code> is
+             ignored. If this <code>isIndirect</code> is specified and this CrlEntry
+             has no certificate issuer CRL entry extension
+             <code>previousCertificateIssuer</code> is returned by
+             {@link #getCertificateIssuer()}.
+            
+             @param c
+                        TbsCertificateList.CrlEntry object.
+             @param isIndirect
+                        <code>true</code> if the corresponding CRL is a indirect
+                        CRL.
+             @param previousCertificateIssuer
+                        Certificate issuer of the previous CrlEntry.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrl(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrls(System.Byte[])">
+            <summary>
+            Create loading data from byte array.
+            </summary>
+            <param name="input"></param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrl(System.IO.Stream)">
+            Generates a certificate revocation list (CRL) object and initializes
+            it with the data read from the input stream inStream.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509CrlParser.ReadCrls(System.IO.Stream)">
+             Returns a (possibly empty) collection view of the CRLs read from
+             the given input stream inStream.
+            
+             The inStream may contain a sequence of DER-encoded CRLs, or
+             a PKCS#7 CRL set.  This is a PKCS#7 SignedData object, with the
+             only significant field being crls.  In particular the signature
+             and the contents are ignored.
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509KeyUsage">
+             A holding class for constructing an X509 Key Usage extension.
+            
+             <pre>
+                id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
+            
+                KeyUsage ::= BIT STRING {
+                     digitalSignature        (0),
+                     nonRepudiation          (1),
+                     keyEncipherment         (2),
+                     dataEncipherment        (3),
+                     keyAgreement            (4),
+                     keyCertSign             (5),
+                     cRLSign                 (6),
+                     encipherOnly            (7),
+                     decipherOnly            (8) }
+             </pre>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509KeyUsage.#ctor(System.Int32)">
+             Basic constructor.
+            
+             @param usage - the bitwise OR of the Key Usage flags giving the
+             allowed uses for the key.
+             e.g. (X509KeyUsage.keyEncipherment | X509KeyUsage.dataEncipherment)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509SignatureUtilities.GetDigestAlgName(Org.BouncyCastle.Asn1.DerObjectIdentifier)">
+            Return the digest algorithm using one of the standard JCA string
+            representations rather than the algorithm identifier (if possible).
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V1CertificateGenerator">
+            <summary>
+            Class to Generate X509V1 Certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.#ctor">
+            <summary>
+            Default Constructor.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Reset">
+            <summary>
+            Reset the generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>
+            Set the certificate's serial number.
+            </summary>
+            <remarks>Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data.
+            You will be surprised how ugly a serial number collision can get.</remarks>
+            <param name="serialNumber">The serial number.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the issuer distinguished name.
+            The issuer is the entity whose private key is used to sign the certificate.
+            </summary>
+            <param name="issuer">The issuers DN.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetNotBefore(System.DateTime)">
+            <summary>
+            Set the date that this certificate is to be valid from.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetNotAfter(System.DateTime)">
+            <summary>
+            Set the date after which this certificate will no longer be valid.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSubjectDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the subject distinguished name.
+            The subject describes the entity associated with the public key.
+            </summary>
+            <param name="subject"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetPublicKey(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Set the public key that this certificate identifies.
+            </summary>
+            <param name="publicKey"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm that will be used to sign this certificate.
+            This can be either a name or an OID, names are treated as case insensitive.
+            </summary>
+            <param name="signatureAlgorithm">string representation of the algorithm name</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate a new X509Certificate.
+            </summary>
+            <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V1CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate a new X509Certificate specifying a SecureRandom instance that you would like to use.
+            </summary>
+            <param name="privateKey">The private key of the issuer used to sign this certificate.</param>
+            <param name="random">The Secure Random you want to use.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V1CertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2AttributeCertificate">
+            <summary>An implementation of a version 2 X.509 Attribute Certificate.</summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator">
+            <remarks>Class to produce an X.509 Version 2 AttributeCertificate.</remarks>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Reset">
+            <summary>Reset the generator</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetHolder(Org.BouncyCastle.X509.AttributeCertificateHolder)">
+            <summary>Set the Holder of this Attribute Certificate.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetIssuer(Org.BouncyCastle.X509.AttributeCertificateIssuer)">
+            <summary>Set the issuer.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>Set the serial number for the certificate.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm. This can be either a name or an OID, names
+            are treated as case insensitive.
+            </summary>
+            <param name="signatureAlgorithm">The algorithm name.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddAttribute(Org.BouncyCastle.X509.X509Attribute)">
+            <summary>Add an attribute.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>Add a given extension field for the standard extensions tag.</summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            <summary>
+            Add a given extension field for the standard extensions tag.
+            The value parameter becomes the contents of the octet string associated
+            with the extension.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate an X509 certificate, based on the current issuer and subject.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate an X509 certificate, based on the current issuer and subject,
+            using the supplied source of randomness, if required.
+            </summary>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V2AttributeCertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V2CrlGenerator">
+            class to produce an X.509 Version 2 CRL.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Reset">
+            reset the generator
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the
+            certificate.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,System.Int32)">
+             Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise
+             or 0 if CrlReason is not to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,System.Int32,System.DateTime)">
+             Add a CRL entry with an Invalidity Date extension as well as a CrlReason extension.
+             Reason being as indicated by CrlReason, i.e. CrlReason.KeyCompromise
+             or 0 if CrlReason is not to be used
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrlEntry(Org.BouncyCastle.Math.BigInteger,System.DateTime,Org.BouncyCastle.Asn1.X509.X509Extensions)">
+             Add a CRL entry with extensions.
+            
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddCrl(Org.BouncyCastle.X509.X509Crl)">
+             Add the CRLEntry objects contained in a previous CRL.
+            
+             @param other the X509Crl to source the other entries from.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.SetSignatureAlgorithm(System.String)">
+             Set the signature algorithm. This can be either a name or an oid, names
+             are treated as case insensitive.
+            
+             @param signatureAlgorithm string representation of the algorithm name.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            add a given extension field for the standard extensions tag (tag 0)
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>Generate an X509 CRL, based on the current issuer and subject.</summary>
+            <param name="privateKey">The key used for signing.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V2CrlGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>Generate an X509 CRL, based on the current issuer and subject.</summary>
+            <param name="privateKey">The key used for signing.</param>
+            <param name="random">A user-defined source of randomness.</param>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V2CrlGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+        <member name="T:Org.BouncyCastle.X509.X509V3CertificateGenerator">
+            <summary>
+            A class to Generate Version 3 X509Certificates.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Reset">
+            <summary>
+            Reset the Generator.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSerialNumber(Org.BouncyCastle.Math.BigInteger)">
+            <summary>
+            Set the certificate's serial number.
+            </summary>
+            <remarks>Make serial numbers long, if you have no serial number policy make sure the number is at least 16 bytes of secure random data.
+            You will be surprised how ugly a serial number collision can Get.</remarks>
+            <param name="serialNumber">The serial number.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetIssuerDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the distinguished name of the issuer.
+            The issuer is the entity which is signing the certificate.
+            </summary>
+            <param name="issuer">The issuer's DN.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetNotBefore(System.DateTime)">
+            <summary>
+            Set the date that this certificate is to be valid from.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetNotAfter(System.DateTime)">
+            <summary>
+            Set the date after which this certificate will no longer be valid.
+            </summary>
+            <param name="date"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSubjectDN(Org.BouncyCastle.Asn1.X509.X509Name)">
+            <summary>
+            Set the DN of the entity that this certificate is about.
+            </summary>
+            <param name="subject"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetPublicKey(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Set the public key that this certificate identifies.
+            </summary>
+            <param name="publicKey"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSignatureAlgorithm(System.String)">
+            <summary>
+            Set the signature algorithm that will be used to sign this certificate.
+            </summary>
+            <param name="signatureAlgorithm"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetSubjectUniqueID(System.Boolean[])">
+            <summary>
+            Set the subject unique ID - note: it is very rare that it is correct to do this.
+            </summary>
+            <param name="uniqueID"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.SetIssuerUniqueID(System.Boolean[])">
+            <summary>
+            Set the issuer unique ID - note: it is very rare that it is correct to do this.
+            </summary>
+            <param name="uniqueID"/>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(System.String,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add a given extension field for the standard extensions tag (tag 3).
+            </summary>
+            <param name="oid">string containing a dotted decimal Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">The value.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.Asn1.Asn1Encodable)">
+            <summary>
+            Add an extension to this certificate.
+            </summary>
+            <param name="oid">Its Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">The value.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(System.String,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension using a string with a dotted decimal OID.
+            </summary>
+            <param name="oid">string containing a dotted decimal Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">byte[] containing the value of this extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.AddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,System.Byte[])">
+            <summary>
+            Add an extension to this certificate.
+            </summary>
+            <param name="oid">Its Object Identifier.</param>
+            <param name="critical">Is it critical.</param>
+            <param name="extensionValue">byte[] containing the value of this extension.</param>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.CopyAndAddExtension(System.String,System.Boolean,Org.BouncyCastle.X509.X509Certificate)">
+            <summary>
+            Add a given extension field for the standard extensions tag (tag 3),
+            copying the extension value from another certificate.
+            </summary>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.CopyAndAddExtension(Org.BouncyCastle.Asn1.DerObjectIdentifier,System.Boolean,Org.BouncyCastle.X509.X509Certificate)">
+            add a given extension field for the standard extensions tag (tag 3)
+            copying the extension value from another certificate.
+            @throws CertificateParsingException if the extension cannot be extracted.
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter)">
+            <summary>
+            Generate an X509Certificate.
+            </summary>
+            <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="M:Org.BouncyCastle.X509.X509V3CertificateGenerator.Generate(Org.BouncyCastle.Crypto.AsymmetricKeyParameter,Org.BouncyCastle.Security.SecureRandom)">
+            <summary>
+            Generate an X509Certificate using your own SecureRandom.
+            </summary>
+            <param name="privateKey">The private key of the issuer that is signing this certificate.</param>
+            <param name="random">You Secure Random instance.</param>
+            <returns>An X509Certificate.</returns>
+        </member>
+        <member name="P:Org.BouncyCastle.X509.X509V3CertificateGenerator.SignatureAlgNames">
+            <summary>
+            Allows enumeration of the signature names supported by the generator.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/crypto/src/asn1/DerUnknownTag.cs b/crypto/src/asn1/DerUnknownTag.cs
new file mode 100644
index 000000000..1e0e61495
--- /dev/null
+++ b/crypto/src/asn1/DerUnknownTag.cs
@@ -0,0 +1,80 @@
+using System;
+
+using Org.BouncyCastle.Utilities;
+
+namespace Org.BouncyCastle.Asn1
+{
+    /**
+     * We insert one of these when we find a tag we don't recognise.
+     */
+    public class DerUnknownTag
+        : Asn1Object
+    {
+		private readonly bool	isConstructed;
+        private readonly int	tag;
+        private readonly byte[]	data;
+
+        /**
+         * @param tag the tag value.
+         * @param data the contents octets.
+         */
+        public DerUnknownTag(
+            int		tag,
+            byte[]	data)
+			: this(false, tag, data)
+        {
+        }
+
+		public DerUnknownTag(
+			bool	isConstructed,
+			int		tag,
+			byte[]	data)
+		{
+			if (data == null)
+				throw new ArgumentNullException("data");
+
+			this.isConstructed = isConstructed;
+			this.tag = tag;
+			this.data = data;
+		}
+
+		public bool IsConstructed
+		{
+			get { return isConstructed; }
+		}
+
+		public int Tag
+        {
+			get { return tag; }
+        }
+
+		public byte[] GetData()
+        {
+            return data;
+        }
+
+        internal override void Encode(
+            DerOutputStream derOut)
+        {
+			derOut.WriteEncoded(isConstructed ? Asn1Tags.Constructed : 0, tag, data);
+        }
+
+		protected override bool Asn1Equals(
+			Asn1Object asn1Object)
+		{
+			DerUnknownTag other = asn1Object as DerUnknownTag;
+
+			if (other == null)
+				return false;
+
+			return this.isConstructed == other.isConstructed
+				&& this.tag == other.tag
+				&& Arrays.AreEqual(this.data, other.data);
+        }
+
+		protected override int Asn1GetHashCode()
+		{
+			return isConstructed.GetHashCode() ^ tag.GetHashCode() ^ Arrays.GetHashCode(data);
+        }
+    }
+}
diff --git a/crypto/src/cms/NullOutputStream.cs b/crypto/src/cms/NullOutputStream.cs
new file mode 100644
index 000000000..ed937bdeb
--- /dev/null
+++ b/crypto/src/cms/NullOutputStream.cs
@@ -0,0 +1,20 @@
+using System;
+
+using Org.BouncyCastle.Utilities.IO;
+
+namespace Org.BouncyCastle.Cms
+{
+	internal class NullOutputStream
+		: BaseOutputStream
+	{
+		public override void WriteByte(byte b)
+		{
+			// do nothing
+		}
+
+		public override void Write(byte[] buffer, int offset, int count)
+		{
+			// do nothing
+		}
+	}
+}
diff --git a/crypto/src/crypto/tls/AlwaysValidVerifyer.cs b/crypto/src/crypto/tls/AlwaysValidVerifyer.cs
new file mode 100644
index 000000000..e26c6fc3f
--- /dev/null
+++ b/crypto/src/crypto/tls/AlwaysValidVerifyer.cs
@@ -0,0 +1,24 @@
+using System;
+
+using Org.BouncyCastle.Asn1.X509;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	/// <remarks>
+	/// A certificate verifyer, that will always return true.
+	/// <pre>
+	/// DO NOT USE THIS FILE UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING.
+	/// </pre>
+	/// </remarks>
+	[Obsolete("Perform certificate verification in TlsAuthentication implementation")]
+	public class AlwaysValidVerifyer
+		: ICertificateVerifyer
+	{
+		/// <summary>Return true.</summary>
+		public bool IsValid(
+			X509CertificateStructure[] certs)
+		{
+			return true;
+		}
+	}
+}
diff --git a/crypto/src/crypto/tls/DigestAlgorithm.cs b/crypto/src/crypto/tls/DigestAlgorithm.cs
new file mode 100644
index 000000000..cede6b7f8
--- /dev/null
+++ b/crypto/src/crypto/tls/DigestAlgorithm.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	public enum DigestAlgorithm
+	{
+		/*
+		 * Note that the values here are implementation-specific and arbitrary.
+		 * It is recommended not to depend on the particular values (e.g. serialization).
+		 */
+		NULL,
+		MD5,
+		SHA,
+
+		/*
+		 * RFC 5289
+		 */
+		SHA256,
+		SHA384,
+	}
+}
diff --git a/crypto/src/crypto/tls/ICertificateVerifyer.cs b/crypto/src/crypto/tls/ICertificateVerifyer.cs
new file mode 100644
index 000000000..df5ea51d7
--- /dev/null
+++ b/crypto/src/crypto/tls/ICertificateVerifyer.cs
@@ -0,0 +1,18 @@
+using System;
+
+using Org.BouncyCastle.Asn1.X509;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	/// <remarks>
+	/// This should be implemented by any class which can find out, if a given
+	/// certificate chain is being accepted by an client.
+	/// </remarks>
+	[Obsolete("Perform certificate verification in TlsAuthentication implementation")]
+	public interface ICertificateVerifyer
+	{
+		/// <param name="certs">The certs, which are part of the chain.</param>
+		/// <returns>True, if the chain is accepted, false otherwise</returns>
+		bool IsValid(X509CertificateStructure[] certs);
+	}
+}
diff --git a/crypto/src/crypto/tls/LegacyTlsAuthentication.cs b/crypto/src/crypto/tls/LegacyTlsAuthentication.cs
new file mode 100644
index 000000000..5da9576af
--- /dev/null
+++ b/crypto/src/crypto/tls/LegacyTlsAuthentication.cs
@@ -0,0 +1,32 @@
+#if FALSE
+using System;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	/// <summary>
+	/// A temporary class to wrap old CertificateVerifyer stuff for new TlsAuthentication.
+	/// </summary>
+	[Obsolete]
+	public class LegacyTlsAuthentication
+		: TlsAuthentication
+	{
+		protected ICertificateVerifyer verifyer;
+
+		public LegacyTlsAuthentication(ICertificateVerifyer verifyer)
+		{
+			this.verifyer = verifyer;
+		}
+
+		public virtual void NotifyServerCertificate(Certificate serverCertificate)
+		{
+			if (!this.verifyer.IsValid(serverCertificate.GetCerts()))
+				throw new TlsFatalAlert(AlertDescription.user_canceled);
+		}
+
+		public virtual TlsCredentials GetClientCredentials(CertificateRequest certificateRequest)
+		{
+			return null;
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/crypto/src/crypto/tls/LegacyTlsClient.cs b/crypto/src/crypto/tls/LegacyTlsClient.cs
new file mode 100644
index 000000000..98a8bcbfc
--- /dev/null
+++ b/crypto/src/crypto/tls/LegacyTlsClient.cs
@@ -0,0 +1,28 @@
+#if FALSE
+using System;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	/// <summary>
+	/// A temporary class to use LegacyTlsAuthentication 
+	/// </summary>
+	[Obsolete]
+	public class LegacyTlsClient
+		: DefaultTlsClient
+	{
+		[Obsolete]
+		protected ICertificateVerifyer verifyer;
+
+		[Obsolete]
+		public LegacyTlsClient(ICertificateVerifyer verifyer)
+		{
+			this.verifyer = verifyer;
+		}
+
+		public override TlsAuthentication GetAuthentication()
+		{
+			return new LegacyTlsAuthentication(verifyer);
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/crypto/src/crypto/tls/TlsException.cs b/crypto/src/crypto/tls/TlsException.cs
new file mode 100644
index 000000000..fa3e73273
--- /dev/null
+++ b/crypto/src/crypto/tls/TlsException.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace Org.BouncyCastle.Crypto.Tls
+{
+	public class TlsException : Exception
+	{
+		public TlsException() : base() { }
+		public TlsException(string message) : base(message) { }
+		public TlsException(string message, Exception exception) : base(message, exception) { }
+	}
+}
diff --git a/crypto/src/math/ec/IntArray.cs b/crypto/src/math/ec/IntArray.cs
new file mode 100644
index 000000000..1089966a8
--- /dev/null
+++ b/crypto/src/math/ec/IntArray.cs
@@ -0,0 +1,485 @@
+using System;
+using System.Text;
+
+namespace Org.BouncyCastle.Math.EC
+{
+	internal class IntArray
+    {
+        // TODO make m fixed for the IntArray, and hence compute T once and for all
+
+		// TODO Use uint's internally?
+		private int[] m_ints;
+
+		public IntArray(int intLen)
+		{
+			m_ints = new int[intLen];
+		}
+
+		private IntArray(int[] ints)
+		{
+			m_ints = ints;
+		}
+
+		public IntArray(BigInteger bigInt)
+			: this(bigInt, 0)
+		{
+		}
+
+		public IntArray(BigInteger bigInt, int minIntLen)
+		{
+			if (bigInt.SignValue == -1)
+				throw new ArgumentException("Only positive Integers allowed", "bigint");
+
+			if (bigInt.SignValue == 0)
+			{
+				m_ints = new int[] { 0 };
+				return;
+			}
+
+			byte[] barr = bigInt.ToByteArrayUnsigned();
+			int barrLen = barr.Length;
+
+			int intLen = (barrLen + 3) / 4;
+			m_ints = new int[System.Math.Max(intLen, minIntLen)];
+
+			int rem = barrLen % 4;
+			int barrI = 0;
+
+			if (0 < rem)
+			{
+				int temp = (int) barr[barrI++];
+				while (barrI < rem)
+				{
+					temp = temp << 8 | (int) barr[barrI++];
+				}
+				m_ints[--intLen] = temp;
+			}
+
+			while (intLen > 0)
+			{
+				int temp = (int) barr[barrI++];
+				for (int i = 1; i < 4; i++)
+				{
+					temp = temp << 8 | (int) barr[barrI++];
+				}
+				m_ints[--intLen] = temp;
+			}
+		}
+
+		public int GetUsedLength()
+		{
+			int highestIntPos = m_ints.Length;
+
+			if (highestIntPos < 1)
+				return 0;
+
+			// Check if first element will act as sentinel
+			if (m_ints[0] != 0)
+			{
+				while (m_ints[--highestIntPos] == 0)
+				{
+				}
+				return highestIntPos + 1;
+			}
+
+			do
+			{
+				if (m_ints[--highestIntPos] != 0)
+				{
+					return highestIntPos + 1;
+				}
+			}
+			while (highestIntPos > 0);
+
+			return 0;
+		}
+
+		public int BitLength
+		{
+			get
+			{
+				// JDK 1.5: see Integer.numberOfLeadingZeros()
+				int intLen = GetUsedLength();
+				if (intLen == 0)
+					return 0;
+
+				int last = intLen - 1;
+				uint highest = (uint) m_ints[last];
+				int bits = (last << 5) + 1;
+
+				// A couple of binary search steps
+				if (highest > 0x0000ffff)
+				{
+					if (highest > 0x00ffffff)
+					{
+						bits += 24;
+						highest >>= 24;
+					}
+					else
+					{
+						bits += 16;
+						highest >>= 16;
+					}
+				}
+				else if (highest > 0x000000ff)
+				{
+					bits += 8;
+					highest >>= 8;
+				}
+
+				while (highest > 1)
+				{
+					++bits;
+					highest >>= 1;
+				}
+
+				return bits;
+			}
+		}
+
+		private int[] resizedInts(int newLen)
+		{
+			int[] newInts = new int[newLen];
+			int oldLen = m_ints.Length;
+			int copyLen = oldLen < newLen ? oldLen : newLen;
+			Array.Copy(m_ints, 0, newInts, 0, copyLen);
+			return newInts;
+		}
+
+		public BigInteger ToBigInteger()
+		{
+			int usedLen = GetUsedLength();
+			if (usedLen == 0)
+			{
+				return BigInteger.Zero;
+			}
+
+			int highestInt = m_ints[usedLen - 1];
+			byte[] temp = new byte[4];
+			int barrI = 0;
+			bool trailingZeroBytesDone = false;
+			for (int j = 3; j >= 0; j--)
+			{
+				byte thisByte = (byte)((int)((uint) highestInt >> (8 * j)));
+				if (trailingZeroBytesDone || (thisByte != 0))
+				{
+					trailingZeroBytesDone = true;
+					temp[barrI++] = thisByte;
+				}
+			}
+
+			int barrLen = 4 * (usedLen - 1) + barrI;
+			byte[] barr = new byte[barrLen];
+			for (int j = 0; j < barrI; j++)
+			{
+				barr[j] = temp[j];
+			}
+			// Highest value int is done now
+
+			for (int iarrJ = usedLen - 2; iarrJ >= 0; iarrJ--)
+			{
+				for (int j = 3; j >= 0; j--)
+				{
+					barr[barrI++] = (byte)((int)((uint)m_ints[iarrJ] >> (8 * j)));
+				}
+			}
+			return new BigInteger(1, barr);
+		}
+
+		public void ShiftLeft()
+		{
+			int usedLen = GetUsedLength();
+			if (usedLen == 0)
+			{
+				return;
+			}
+			if (m_ints[usedLen - 1] < 0)
+			{
+				// highest bit of highest used byte is set, so shifting left will
+				// make the IntArray one byte longer
+				usedLen++;
+				if (usedLen > m_ints.Length)
+				{
+					// make the m_ints one byte longer, because we need one more
+					// byte which is not available in m_ints
+					m_ints = resizedInts(m_ints.Length + 1);
+				}
+			}
+
+			bool carry = false;
+			for (int i = 0; i < usedLen; i++)
+			{
+				// nextCarry is true if highest bit is set
+				bool nextCarry = m_ints[i] < 0;
+				m_ints[i] <<= 1;
+				if (carry)
+				{
+					// set lowest bit
+					m_ints[i] |= 1;
+				}
+				carry = nextCarry;
+			}
+		}
+
+		public IntArray ShiftLeft(int n)
+		{
+			int usedLen = GetUsedLength();
+			if (usedLen == 0)
+			{
+				return this;
+			}
+
+			if (n == 0)
+			{
+				return this;
+			}
+
+			if (n > 31)
+			{
+				throw new ArgumentException("shiftLeft() for max 31 bits "
+					+ ", " + n + "bit shift is not possible", "n");
+			}
+
+			int[] newInts = new int[usedLen + 1];
+
+			int nm32 = 32 - n;
+			newInts[0] = m_ints[0] << n;
+			for (int i = 1; i < usedLen; i++)
+			{
+				newInts[i] = (m_ints[i] << n) | (int)((uint)m_ints[i - 1] >> nm32);
+			}
+			newInts[usedLen] = (int)((uint)m_ints[usedLen - 1] >> nm32);
+
+			return new IntArray(newInts);
+		}
+
+		public void AddShifted(IntArray other, int shift)
+		{
+			int usedLenOther = other.GetUsedLength();
+			int newMinUsedLen = usedLenOther + shift;
+			if (newMinUsedLen > m_ints.Length)
+			{
+				m_ints = resizedInts(newMinUsedLen);
+				//Console.WriteLine("Resize required");
+			}
+
+			for (int i = 0; i < usedLenOther; i++)
+			{
+				m_ints[i + shift] ^= other.m_ints[i];
+			}
+		}
+
+		public int Length
+		{
+			get { return m_ints.Length; }
+		}
+
+		public bool TestBit(int n)
+		{
+			// theInt = n / 32
+			int theInt = n >> 5;
+			// theBit = n % 32
+			int theBit = n & 0x1F;
+			int tester = 1 << theBit;
+			return ((m_ints[theInt] & tester) != 0);
+		}
+
+		public void FlipBit(int n)
+		{
+			// theInt = n / 32
+			int theInt = n >> 5;
+			// theBit = n % 32
+			int theBit = n & 0x1F;
+			int flipper = 1 << theBit;
+			m_ints[theInt] ^= flipper;
+		}
+
+		public void SetBit(int n)
+		{
+			// theInt = n / 32
+			int theInt = n >> 5;
+			// theBit = n % 32
+			int theBit = n & 0x1F;
+			int setter = 1 << theBit;
+			m_ints[theInt] |= setter;
+		}
+
+		public IntArray Multiply(IntArray other, int m)
+		{
+			// Lenght of c is 2m bits rounded up to the next int (32 bit)
+			int t = (m + 31) >> 5;
+			if (m_ints.Length < t)
+			{
+				m_ints = resizedInts(t);
+			}
+
+			IntArray b = new IntArray(other.resizedInts(other.Length + 1));
+			IntArray c = new IntArray((m + m + 31) >> 5);
+			// IntArray c = new IntArray(t + t);
+			int testBit = 1;
+			for (int k = 0; k < 32; k++)
+			{
+				for (int j = 0; j < t; j++)
+				{
+					if ((m_ints[j] & testBit) != 0)
+					{
+						// The kth bit of m_ints[j] is set
+						c.AddShifted(b, j);
+					}
+				}
+				testBit <<= 1;
+				b.ShiftLeft();
+			}
+			return c;
+		}
+
+		// public IntArray multiplyLeftToRight(IntArray other, int m) {
+		// // Lenght of c is 2m bits rounded up to the next int (32 bit)
+		// int t = (m + 31) / 32;
+		// if (m_ints.Length < t) {
+		// m_ints = resizedInts(t);
+		// }
+		//
+		// IntArray b = new IntArray(other.resizedInts(other.getLength() + 1));
+		// IntArray c = new IntArray((m + m + 31) / 32);
+		// // IntArray c = new IntArray(t + t);
+		// int testBit = 1 << 31;
+		// for (int k = 31; k >= 0; k--) {
+		// for (int j = 0; j < t; j++) {
+		// if ((m_ints[j] & testBit) != 0) {
+		// // The kth bit of m_ints[j] is set
+		// c.addShifted(b, j);
+		// }
+		// }
+		// testBit >>>= 1;
+		// if (k > 0) {
+		// c.shiftLeft();
+		// }
+		// }
+		// return c;
+		// }
+
+		// TODO note, redPol.Length must be 3 for TPB and 5 for PPB
+		public void Reduce(int m, int[] redPol)
+		{
+			for (int i = m + m - 2; i >= m; i--)
+			{
+				if (TestBit(i))
+				{
+					int bit = i - m;
+					FlipBit(bit);
+					FlipBit(i);
+					int l = redPol.Length;
+					while (--l >= 0)
+					{
+						FlipBit(redPol[l] + bit);
+					}
+				}
+			}
+			m_ints = resizedInts((m + 31) >> 5);
+		}
+
+		public IntArray Square(int m)
+		{
+			// TODO make the table static readonly
+			int[] table = { 0x0, 0x1, 0x4, 0x5, 0x10, 0x11, 0x14, 0x15, 0x40,
+									0x41, 0x44, 0x45, 0x50, 0x51, 0x54, 0x55 };
+
+			int t = (m + 31) >> 5;
+			if (m_ints.Length < t)
+			{
+				m_ints = resizedInts(t);
+			}
+
+			IntArray c = new IntArray(t + t);
+
+			// TODO twice the same code, put in separate private method
+			for (int i = 0; i < t; i++)
+			{
+				int v0 = 0;
+				for (int j = 0; j < 4; j++)
+				{
+					v0 = (int)((uint) v0 >> 8);
+					int u = (int)((uint)m_ints[i] >> (j * 4)) & 0xF;
+					int w = table[u] << 24;
+					v0 |= w;
+				}
+				c.m_ints[i + i] = v0;
+
+				v0 = 0;
+				int upper = (int)((uint) m_ints[i] >> 16);
+				for (int j = 0; j < 4; j++)
+				{
+					v0 = (int)((uint) v0 >> 8);
+					int u = (int)((uint)upper >> (j * 4)) & 0xF;
+					int w = table[u] << 24;
+					v0 |= w;
+				}
+				c.m_ints[i + i + 1] = v0;
+			}
+			return c;
+		}
+
+		public override bool Equals(object o)
+		{
+			if (!(o is IntArray))
+			{
+				return false;
+			}
+			IntArray other = (IntArray) o;
+			int usedLen = GetUsedLength();
+			if (other.GetUsedLength() != usedLen)
+			{
+				return false;
+			}
+			for (int i = 0; i < usedLen; i++)
+			{
+				if (m_ints[i] != other.m_ints[i])
+				{
+					return false;
+				}
+			}
+			return true;
+		}
+
+		public override int GetHashCode()
+		{
+			int i = GetUsedLength();
+			int hc = i;
+			while (--i >= 0)
+			{
+				hc *= 17;
+				hc ^= m_ints[i];
+			}
+			return hc;
+		}
+
+		internal IntArray Copy()
+		{
+			return new IntArray((int[]) m_ints.Clone());
+		}
+
+		public override string ToString()
+		{
+			int usedLen = GetUsedLength();
+			if (usedLen == 0)
+			{
+				return "0";
+			}
+
+			StringBuilder sb = new StringBuilder(Convert.ToString(m_ints[usedLen - 1], 2));
+			for (int iarrJ = usedLen - 2; iarrJ >= 0; iarrJ--)
+			{
+				string hexString = Convert.ToString(m_ints[iarrJ], 2);
+
+				// Add leading zeroes, except for highest significant int
+				for (int i = hexString.Length; i < 8; i++)
+				{
+					hexString = "0" + hexString;
+				}
+				sb.Append(hexString);
+			}
+			return sb.ToString();
+		}
+	}
+}
diff --git a/crypto/src/math/ec/multiplier/FpNafMultiplier.cs b/crypto/src/math/ec/multiplier/FpNafMultiplier.cs
new file mode 100644
index 000000000..7c034ce6e
--- /dev/null
+++ b/crypto/src/math/ec/multiplier/FpNafMultiplier.cs
@@ -0,0 +1,41 @@
+#if FALSE
+namespace Org.BouncyCastle.Math.EC.Multiplier
+{
+	/**
+	* Class implementing the NAF (Non-Adjacent Form) multiplication algorithm.
+	*/
+	internal class FpNafMultiplier
+		: ECMultiplier
+	{
+		/**
+		* D.3.2 pg 101
+		* @see org.bouncycastle.math.ec.multiplier.ECMultiplier#multiply(org.bouncycastle.math.ec.ECPoint, java.math.BigInteger)
+		*/
+		public ECPoint Multiply(ECPoint p, BigInteger k, PreCompInfo preCompInfo)
+		{
+			// TODO Probably should try to add this
+			// BigInteger e = k.Mod(n); // n == order of p
+			BigInteger e = k;
+			BigInteger h = e.Multiply(BigInteger.Three);
+
+			ECPoint neg = p.Negate();
+			ECPoint R = p;
+
+			for (int i = h.BitLength - 2; i > 0; --i)
+			{             
+				R = R.Twice();
+
+				bool hBit = h.TestBit(i);
+				bool eBit = e.TestBit(i);
+
+				if (hBit != eBit)
+				{
+					R = R.Add(hBit ? p : neg);
+				}
+			}
+
+			return R;
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/crypto/src/math/ec/multiplier/WNafMultiplier.cs b/crypto/src/math/ec/multiplier/WNafMultiplier.cs
new file mode 100644
index 000000000..484bb30e7
--- /dev/null
+++ b/crypto/src/math/ec/multiplier/WNafMultiplier.cs
@@ -0,0 +1,243 @@
+#if FALSE
+using System;
+
+namespace Org.BouncyCastle.Math.EC.Multiplier
+{
+	/**
+	* Class implementing the WNAF (Window Non-Adjacent Form) multiplication
+	* algorithm.
+	*/
+	internal class WNafMultiplier
+		: ECMultiplier 
+	{
+		/**
+		* Computes the Window NAF (non-adjacent Form) of an integer.
+		* @param width The width <code>w</code> of the Window NAF. The width is
+		* defined as the minimal number <code>w</code>, such that for any
+		* <code>w</code> consecutive digits in the resulting representation, at
+		* most one is non-zero.
+		* @param k The integer of which the Window NAF is computed.
+		* @return The Window NAF of the given width, such that the following holds:
+		* <code>k = &#8722;<sub>i=0</sub><sup>l-1</sup> k<sub>i</sub>2<sup>i</sup>
+		* </code>, where the <code>k<sub>i</sub></code> denote the elements of the
+		* returned <code>sbyte[]</code>.
+		*/
+		public sbyte[] WindowNaf(sbyte width, BigInteger k)
+		{
+			// The window NAF is at most 1 element longer than the binary
+			// representation of the integer k. sbyte can be used instead of short or
+			// int unless the window width is larger than 8. For larger width use
+			// short or int. However, a width of more than 8 is not efficient for
+			// m = log2(q) smaller than 2305 Bits. Note: Values for m larger than
+			// 1000 Bits are currently not used in practice.
+			sbyte[] wnaf = new sbyte[k.BitLength + 1];
+
+			// 2^width as short and BigInteger
+			short pow2wB = (short)(1 << width);
+			BigInteger pow2wBI = BigInteger.ValueOf(pow2wB);
+
+			int i = 0;
+
+			// The actual length of the WNAF
+			int length = 0;
+
+			// while k >= 1
+			while (k.SignValue > 0)
+			{
+				// if k is odd
+				if (k.TestBit(0))
+				{
+					// k Mod 2^width
+					BigInteger remainder = k.Mod(pow2wBI);
+
+					// if remainder > 2^(width - 1) - 1
+					if (remainder.TestBit(width - 1))
+					{
+						wnaf[i] = (sbyte)(remainder.IntValue - pow2wB);
+					}
+					else
+					{
+						wnaf[i] = (sbyte)remainder.IntValue;
+					}
+					// wnaf[i] is now in [-2^(width-1), 2^(width-1)-1]
+
+					k = k.Subtract(BigInteger.ValueOf(wnaf[i]));
+					length = i;
+				}
+				else
+				{
+					wnaf[i] = 0;
+				}
+
+				// k = k/2
+				k = k.ShiftRight(1);
+				i++;
+			}
+
+			length++;
+
+			// Reduce the WNAF array to its actual length
+			sbyte[] wnafShort = new sbyte[length];
+			Array.Copy(wnaf, 0, wnafShort, 0, length);
+			return wnafShort;
+		}
+
+		/**
+		* Multiplies <code>this</code> by an integer <code>k</code> using the
+		* Window NAF method.
+		* @param k The integer by which <code>this</code> is multiplied.
+		* @return A new <code>ECPoint</code> which equals <code>this</code>
+		* multiplied by <code>k</code>.
+		*/
+		public ECPoint Multiply(ECPoint p, BigInteger k, PreCompInfo preCompInfo)
+		{
+			WNafPreCompInfo wnafPreCompInfo;
+
+			if ((preCompInfo != null) && (preCompInfo is WNafPreCompInfo))
+			{
+				wnafPreCompInfo = (WNafPreCompInfo)preCompInfo;
+			}
+			else
+			{
+				// Ignore empty PreCompInfo or PreCompInfo of incorrect type
+				wnafPreCompInfo = new WNafPreCompInfo();
+			}
+
+			// floor(log2(k))
+			int m = k.BitLength;
+
+			// width of the Window NAF
+			sbyte width;
+
+			// Required length of precomputation array
+			int reqPreCompLen;
+
+			// Determine optimal width and corresponding length of precomputation
+			// array based on literature values
+			if (m < 13)
+			{
+				width = 2;
+				reqPreCompLen = 1;
+			}
+			else
+			{
+				if (m < 41)
+				{
+					width = 3;
+					reqPreCompLen = 2;
+				}
+				else
+				{
+					if (m < 121)
+					{
+						width = 4;
+						reqPreCompLen = 4;
+					}
+					else
+					{
+						if (m < 337)
+						{
+							width = 5;
+							reqPreCompLen = 8;
+						}
+						else
+						{
+							if (m < 897)
+							{
+								width = 6;
+								reqPreCompLen = 16;
+							}
+							else
+							{
+								if (m < 2305)
+								{
+									width = 7;
+									reqPreCompLen = 32;
+								}
+								else 
+								{
+									width = 8;
+									reqPreCompLen = 127;
+								}
+							}
+						}
+					}
+				}
+			}
+
+			// The length of the precomputation array
+			int preCompLen = 1;
+
+			ECPoint[] preComp = wnafPreCompInfo.GetPreComp();
+			ECPoint twiceP = wnafPreCompInfo.GetTwiceP();
+
+			// Check if the precomputed ECPoints already exist
+			if (preComp == null)
+			{
+				// Precomputation must be performed from scratch, create an empty
+				// precomputation array of desired length
+				preComp = new ECPoint[]{ p };
+			}
+			else
+			{
+				// Take the already precomputed ECPoints to start with
+				preCompLen = preComp.Length;
+			}
+
+			if (twiceP == null)
+			{
+				// Compute twice(p)
+				twiceP = p.Twice();
+			}
+
+			if (preCompLen < reqPreCompLen)
+			{
+				// Precomputation array must be made bigger, copy existing preComp
+				// array into the larger new preComp array
+				ECPoint[] oldPreComp = preComp;
+				preComp = new ECPoint[reqPreCompLen];
+				Array.Copy(oldPreComp, 0, preComp, 0, preCompLen);
+
+				for (int i = preCompLen; i < reqPreCompLen; i++)
+				{
+					// Compute the new ECPoints for the precomputation array.
+					// The values 1, 3, 5, ..., 2^(width-1)-1 times p are
+					// computed
+					preComp[i] = twiceP.Add(preComp[i - 1]);
+				}            
+			}
+
+			// Compute the Window NAF of the desired width
+			sbyte[] wnaf = WindowNaf(width, k);
+			int l = wnaf.Length;
+
+			// Apply the Window NAF to p using the precomputed ECPoint values.
+			ECPoint q = p.Curve.Infinity;
+			for (int i = l - 1; i >= 0; i--)
+			{
+				q = q.Twice();
+
+				if (wnaf[i] != 0)
+				{
+					if (wnaf[i] > 0)
+					{
+						q = q.Add(preComp[(wnaf[i] - 1)/2]);
+					}
+					else
+					{
+						// wnaf[i] < 0
+						q = q.Subtract(preComp[(-wnaf[i] - 1)/2]);
+					}
+				}
+			}
+
+			// Set PreCompInfo in ECPoint, such that it is available for next
+			// multiplication.
+			wnafPreCompInfo.SetPreComp(preComp);
+			wnafPreCompInfo.SetTwiceP(twiceP);
+			p.SetPreCompInfo(wnafPreCompInfo);
+			return q;
+		}
+	}
+}
+#endif
\ No newline at end of file
diff --git a/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs b/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs
index b950c8b4b..d4794d88e 100644
--- a/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs
+++ b/crypto/test/src/math/ec/test/ECAlgorithmsTest.cs
@@ -48,6 +48,7 @@ namespace Org.BouncyCastle.Math.EC.Tests
         }
 
         [Test]
+        [Ignore("SLOW")]
         public void TestSumOfTwoMultiplies()
         {
             foreach (X9ECParameters x9 in GetTestCurves())
diff --git a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
index 2bcd5b502..fdfc491c8 100644
--- a/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
+++ b/crypto/test/src/math/ec/test/ECPointPerformanceTest.cs
@@ -173,6 +173,7 @@ namespace Org.BouncyCastle.Math.EC.Tests
         }
 
         [Test]
+        [Ignore("SLOW")]
         public void TestMultiply()
         {
             ArrayList nameList = new ArrayList();
diff --git a/crypto/test/src/util/test/SimpleTest.cs b/crypto/test/src/util/test/SimpleTest.cs
index be846e20f..10c83374d 100644
--- a/crypto/test/src/util/test/SimpleTest.cs
+++ b/crypto/test/src/util/test/SimpleTest.cs
@@ -119,7 +119,7 @@ namespace Org.BouncyCastle.Utilities.Test
 #if BC_BUILD_MONODEVELOP
 			return "test.data." + name;
 #else
-			return "crypto.test.data." + name;
+			return "crypto.tests." + name;
 #endif
 		}
 
@@ -130,7 +130,7 @@ namespace Org.BouncyCastle.Utilities.Test
 #if BC_BUILD_MONODEVELOP
 			return fullName.Substring("test.data.".Length);
 #else
-			return fullName.Substring("crypto.test.data.".Length);
+			return fullName.Substring("crypto.tests.".Length);
 #endif
 		}
 
diff --git a/pack.cmd b/pack.cmd
new file mode 100644
index 000000000..0a0605ea0
--- /dev/null
+++ b/pack.cmd
@@ -0,0 +1 @@
+.nuget\nuget.exe pack Portable.BouncyCastle.nuspec -Symbols
\ No newline at end of file