0

安全なログインのために jCryption を使用しています。クライアントでは JavaScript パッケージを使用しており、Java 復号化では BouncyCastle jar を使用して復号化しています。

問題は、Tomcat で問題なく動作することですが、同じ webapp を使用して Jboss にデプロイすると、BouncyCastle jar の読み込みに問題が発生します。

私の質問は: jCryption を使用して暗号化し、他のセキュリティ プロバイダーを使用できるようにする、より標準化された RSA 出力を生成する方法はありますか?

4

3 に答える 3

0

jCryption と互換性のある RSA デコードのスニペットを次に示します。encExternalKeyこれが、jCryption がkeyハンドシェイク呼び出しのパラメーターで送信するものであると想定しています。modulusjCryptionに付属のファイルsecretExponentから取得されます。100_1024_keys.inc.php

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();
于 2013-08-22T13:52:07.333 に答える
0

一般的に言えば、セキュリティが必要な場合は、JavaScript 暗号化を避け、代わりに SSL/TLS を使用してください。

主な問題は次のとおりです。

  • 暗号化ルーチンの実装の不十分な品質 (例: 乱数)
  • JavaScript ライブラリの品質が十分であっても、スクリプトが MITM 攻撃者によって改ざんされた可能性があるかどうか、クライアントにはわかりません。

残念ながら、Web サイトで JavaScript 暗号化を使用しても、実際には多くのセキュリティが追加されているわけではありません。

于 2012-03-29T16:33:45.537 に答える
0

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

于 2012-03-29T16:26:50.647 に答える