Я пытаюсь использовать Bouncy Castle v1.7 на устройстве Windows Mobile 6.5.
Я пытаюсь выполнить следующий код:
ISigner signer = SignerUtilities.GetSigner("SHA256withRSA");
Использование двоичных файлов Bouncy Castle
На устройстве с Windows Mobile код вызывает следующее исключение:
"Эта версия сборки Microsoft .NET Compact Framework не может быть загружена версия системы сборки, версия = 1.0.5000.0, культура = нейтральная, PublicKeyToken = B77A5C561934E089."
В классическом настольном приложении (использующем всю платформу .NET) этот код выполняется без проблем.
Так что я предполагаю, что между Bouncy Castle и Compact Framework есть несовместимость.
Однако на индексной странице Bouncy Castle C # написано « Source теперь основан на .NET Compact Framework 1.0 » для версии 1.2
Компиляция Bouncy Castle из исходного кода
Я также пытался скомпилировать Bouncy Castle из его исходного кода.
Я скомпилировал его с помощью Visual Studio 2008 (пришлось преобразовать проект и удалить классы, связанные с алгоритмом шифрования IDEA, на которые были ссылки, но отсутствующие) со следующими символами компиляции: NET_1_1; NETCF_2_0
Когда я ссылаюсь на DLL, полученную в результате компиляции, и запускаю код, упомянутый выше (на устройстве), я получаю следующее исключение:
"Метод не найден: GetSigner Org.BouncyCastle.Security.SignerUtilities."
Это кажется действительно странным, поскольку я получаю IntelliSense в Visual Studio во время кодирования.
Может кто-нибудь сказать мне, как запустить Bouncy Castle на Compact Framework 3.5?
Большое спасибо,
Christophe