Как избежать использования BouncyCastle в качестве провайдера с jCryption
Я использую jCryption для безопасного входа в систему. На клиентском компьютере я использую пакет JavaScript, а на Java-расшифровке я использую Jar BouncyCastle для расшифровки.
Проблема в том, что он работает нормально в Tomcat, но когда я беру одно и то же веб-приложение и развертываюсь на Jboss, у меня возникают проблемы с загрузкой фляги BouncyCastle.
Мой вопрос: есть ли способ шифрования с использованием jCryption, который даст более стандартизированный вывод RSA, который позволит мне использовать других поставщиков безопасности?
3 ответа
Вот фрагмент для декодирования RSA, совместимого с jCryption. Мы предполагаем, что encExternalKey
это то, что jCryption отправить в key
параметр при вызове рукопожатия. modulus
а также secretExponent
взяты из 100_1024_keys.inc.php
файл, который поставляется с jCryption.
RSAPrivateKeySpec privateKeySpec =
new RSAPrivateKeySpec(new BigInteger(modulus, 10), new BigInteger(secretExponent, 10));
RSAPrivateKey privateKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(privateKeySpec);
Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding");
cipher.init(Cipher.DECRYPT_MODE, privateKey);
StringBuilder externalKeyBuf =
new StringBuilder(new String(cipher.doFinal(new BigInteger(encExternalKey, 16).toByteArray())));
String externalKey = externalKeyBuf.reverse().toString().trim();
Вообще говоря, если вы хотите обеспечить безопасность, избегайте криптографии JavaScript, вместо этого используйте SSL/TLS.
Основными проблемами являются:
- недостаточное качество реализации криптографических процедур (например, случайных чисел)
- клиент не знает, был ли этот скрипт подделан злоумышленником MITM, даже если библиотека JavaScript имеет достаточное качество.
К сожалению, вы не повышаете уровень безопасности, используя криптографию JavaScript на своем веб-сайте.
JCryption не так безопасен, как вы думаете:
http://www.securityfocus.com/archive/1/520683
Моя рекомендация... сделать что-то похожее на это:
http://www.frostjedi.com/terra/dev/rsa/index.php
Следующий URL уточняет:
http://area51.phpbb.com/phpBB/viewtopic.php?f=84&t=33024&start=0