Deszyfrowanie C # RSA przy użyciu Bouncy Castle

Otrzymałem zaszyfrowany ciąg Base64 Encoded, który został zaszyfrowany w Javie za pomocą Bouncy Castle. Przykładowy fragment kodu Java poniżej:

<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>

Muszę odszyfrować wynikowy ciąg za pomocą Bouncy Castle, ale w języku C # otrzymałem urywek kodu na temat tego, jak to zrobić w Javie, ale nie mogę go przekonwertować na C # (powody, dla których budujemy witrynę .net i ma być ramką iFrame w witrynie Java. Strona Java przejdzie w łańcuch RSA Encrypted do strony .NET). Przykład kodu Java do odszyfrowania poniżej:

<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>

Pobrałem przykłady zhttp://www.bouncycastle.org/csharp/ ale wydaje się, że nie ma przykładu wprowadzania wartości ciągu w celu zaszyfrowania, a następnie przechodzenia przez proces szyfrowania / deszyfrowania.

Otrzymałem wartości dlamoduł, wykładnik publiczny, prywatny wykładnik, pierwsza P, pierwsza q, główny wykładnik p, główny wykładnik q iwspółczynnik crt.

Widziałem, że mogę użyć następujących:

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

Alesigner obiekt nie wydaje się mieć takich samych metod jak powyższe przykłady Java.

Jedyną metodą, której mogę użyć, jest

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

Ale nie widzę, jak to wykorzystać w moim kontekście.

Każda pomoc tutaj byłaby najbardziej doceniana.

questionAnswers(3)

yourAnswerToTheQuestion