Я пытаюсь написать апплет, который подписывал бы электронную почту с помощью S / MIME.
Очевидно, я хочу сделать одну маленькую банку только с необходимыми вещами. Очевидно, что в Java это делается с помощью огромной священной подписанной банки JCE Bouncy Castle.
Возникает вопрос: как проще всего получить S / MIME, не касаясь JCE и не заставляя его жаловаться на «аутентификацию» «провайдеров»? Может быть, есть реализация S / MIME, не зависящая от JCE? Может быть, можно использовать Bouncy Castle S / MIME, используя их легкий API, не касаясь JCE? Может есть другой выход?
Для меня очевидно, что ничто не может помешать работе криптографических алгоритмов с открытым исходным кодом на чистом Java, независимо от того, одобряет ли Sun, так что это не вопрос теоретической возможности, скорее: какой путь наименее болезненен?
Конечно, я всегда могу пойти некрасиво на ранней стадии, схватив реализацию JCE на чистом java в Bouncy Castle, переименовав ее пакеты в java.security1 и внося любые изменения, которые я хочу, но сейчас этот способ выглядит слишком болезненным.
ОБНОВЛЕНИЕ Моя текущая проблема с использованием Bouncy Castle напрямую: я пытаюсь загрузить ключи из хранилища ключей, что включает использование SecretKeyFactory, которая, в свою очередь, отклоняет мою сборку Bouncy Castle.