Расшифровка C # RSA с использованием Bouncy Castle

Мне дали зашифрованную строку в кодировке Base64, которая была зашифрована на Java с помощью Bouncy Castle. Пример фрагмента Java ниже:

<code>Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());
byte[] encryptedText = cipher.doFinal("xxxxx|xxxxx".getBytes("UTF-8"));
String encodedText = new BASE64Encoder().encode(encryptedText);
</code>

Мне нужно расшифровать полученную строку с помощью Bouncy Castle, но в C # Мне дали фрагмент кода о том, как сделать это на Java, но я не могу преобразовать это для C # (причина в том, что мы создаем сайт .net и собираемся стать iFrame на сайте Java. Сайт Java собирается передать зашифрованную строку RSA на сайт .NET). Пример кода Java для расшифровки ниже:

<code>Cipher cipherDec = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipherDec.init(Cipher.DECRYPT_MODE, key.getPrivate());
byte[] decodedText = new BASE64Decoder().decodeBuffer(encodedText);
byte[] decryptedText = cipherDec.doFinal(decodedText);
String finalValue = new String(decryptedText, "UTF-8");
</code>

Я скачал примеры изhttp://www.bouncycastle.org/csharp/ но, по-видимому, нет примера ввода строкового значения для шифрования, и затем оно проходит через процесс шифрования / дешифрования.

Мне дали значения дляmodulus, public exponent, private expontent, prime P, prime q, prime exponent p, prime exponent q а такжеcrt coefficient.

Я видел, что я могу использовать следующее:

<code>IAsymmetricBlockCipher signer = new Pkcs1Encoding(new RsaEngine());
signer.Init(true, pubParameters);
</code>

Ноsigner объект, похоже, не имеет тех же методов, что и в приведенных выше примерах Java.

Единственный метод, который я могу использовать, это

<code>ProcessBlock(byte[] inbuf, int inOff, int inLen);
</code>

Но я не вижу, как использовать это в моем контексте.

Любая помощь здесь будет наиболее ценной.

Ответы на вопрос(3)

Ваш ответ на вопрос