問題タブ [jce]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bouncycastle - JDK 6 を使用した Ubuntu Server 10.04 への JCE のインストール
私は暗号化を扱ってきましたが、いくつかの問題があります。私はいつもこの例外を受け取ります。
java.io.IOException: データの復号化例外 - java.security.InvalidKeyException: org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(Unknown Source) での不正な鍵サイズ (Unknown Source) org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(Unknown Source) )
google one を検索すると、JCE Unlimited Policy File が必要であることがわかります。ダウンロードすると、インストール手順には、含まれている両方の jar ファイルを JRE の /security/ フォルダーにコピーするだけでよいことが示されています。うまくいきません。マシンのすべてのディレクトリを検索して、他の Java インストールを見つけましたが、何も見つかりませんでした。ファイルが正しいことを再確認しました
いくつかの情報:
java -version レポート:
Java バージョン "1.6.0_26"
Java(TM) SE ランタイム環境 (ビルド 1.6.0_26-b03)
Java HotSpot(TM) クライアント VM (ビルド 20.1-b02、混合モード、共有)
apt-get install sun-java6 を使用してこの Java バージョンをインストールしました
これに関するアイデアはありますか?
ssl - Java 7 および DH キーペアを生成できませんでした
サーバーが 1024 ビットより長いキーを送信したときに発生するエラー「DH キーペアを生成できませんでした」に関する以前の投稿を読みました。JCE 無制限の jar をダウンロードすると、この問題が修正されます。テスト環境では、同じ Web サーバーで Java 6 を使用すると https クエリを実行してもエラーは発生しませんが、Java 7 を使用すると「DH キーペアを生成できませんでした」というメッセージが表示されます。
JCE 無制限の jar ファイルを置き換えようとしましたが、それでも同じエラーが発生します。このバグは 2007 年から報告されていますが、Java 7 ではなく Java 6 で実行されるのはなぜですか? ダウンロードするファイルは適切なものではありませんか? 以前の投稿Java: Why does SSL handshake give 'Could not generate DH keypair' exception?からリンクを取得しました。.
この時点で、私は何をすべきかわかりません。BouncyCastle プロバイダーをロードしようとすると、ArrayOutOfIndex 例外が発生します。私のサーバーでは DH アルゴリズムしか許可されていないため、上記の投稿で提案されているような別のアルゴリズムを使用することはできません。
java - Javaポリシーファイルを使用してアプリケーションをJCE制限から免除する
AES-256を使用して暗号化を実行するJavaアプリケーションがあります。ご存知のように、これにはJCE Unlimited Strength JurisdictionPolicyFilesが必要です。ただし、アプリケーションが配布されているすべてのマシンにこれらをインストールする必要はありません。それで、いくつか掘った後、私はこれに出くわしました:
http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#ExemptApps
これは、JAR内にポリシーファイルを含める方法のようです。その記事から、これを達成するためのステップは次のとおりです。
ステップ1:アプリケーションコードを記述してコンパイルする
手順2:適切な暗号化アクセス許可を付与するアクセス許可ポリシーファイルを作成する
ステップ3:テストの準備
ステップ3a:制限を義務付ける政府からの政府承認を申請します。
ステップ3b:コード署名証明書を取得する
ステップ3c:アプリケーションとアクセス許可のポリシーファイルをJARファイルにバンドルする
ステップ3d:JARファイルに署名します
ステップ3e:制限された国のユーザーのような環境を設定する
手順3f:(免除メカニズムを使用するアプリの場合のみ)アクセス許可ポリシーファイルで指定された免除メカニズムを実装するプロバイダーをインストールする
ステップ4:アプリケーションをテストする
ステップ5:必要に応じて米国政府の輸出承認を申請する
ステップ6:アプリケーションをデプロイする
私が疑問に思っているのは、ステップ3b〜3dです。このJARファイルにどのように署名すればよいですか?誰がそれに署名する必要がありますか?クライアントが持っていない署名に自己署名証明書を使用できますか?この署名に対して行われた認証はありますか?
誰かがこれを経験したことがありますか?
java - Javaの暗号パディング文字列は何ですか
誰もが暗号のパディング スキームについて話しますが、暗号に渡す必要がある実際の文字列は何ですか? それらが対称か非対称かは気にしません。可能な値のリストが欲しいだけです。
java - Java取得エラー'未処理の例外タイプXYZ'
私はこのコードを持っています:
コンパイルすると、このエラーが発生します。
エラーを調査したとき、私はこれを見つけました。しかし、Unlimited Strength Jurisdiction Policy Filesをダウンロード、インストール、および確認した後も、エラーが発生します。
java - Java-PNS を使用してプッシュ通知を iPhone に送信中にエラーが発生しましたか?
javaPNS_2.2.jar ファイルを使用して、プッシュ通知メッセージを iPhone デバイスに送信しています。
私のコードは次のとおりです。
ただし、次のエラーが表示されます。
この例外の原因は何ですか?
java - AES/CBC/PKCS5Padding の問題
簡単なテキストを暗号化および復号化しようとしています。しかし、何らかの理由で奇妙なエラーが発生しています: javax.crypto.BadPaddingException
. JCE が正しくパディングされていないバイトを生成するのはなぜですか?
次のコードがあります。
しかし、何らかの理由で機能しません。次の例外で失敗します。
何がうまくいかないのですか?データサイズは 16 バイトの長さですが、それでも「適切にパディングされていません」?
java - JCE の初期化に MD5 が必要な理由
Java アプリケーションで FIPS 180-3 を有効にしようとしています。FIPS 180-3 では、5 つの安全な [ハッシュ] (http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf) の使用のみが許可されていますが、MD5 はその 1 つではありません。したがって、Sun プロバイダーから MD5 アルゴリズムをプログラムで削除しようとしています。これがサンプルコードです。
しかし、これは次の例外をスローしています。「sun.remove(..」とコメントすると、プログラムは正常に動作します。MD5 の代わりに MD2 を削除すると、正常に動作します。
私には、jre ライブラリが署名に MD5 を使用しているように見えますが、jre/lib/ext/sunjce_provider.jar 署名者とその使用 sha1 を確認しました。
私のコードがこのエラーで失敗する理由は何ですか?
TestRemoveMD5.main(TestRemoveMD5.java:20) での javax.crypto.Cipher.getInstance(DashoA13*..) でのスレッド「メイン」java.lang.ExceptionInInitializerError での例外
原因: java.lang.SecurityException: Cannot set up certs for trusted CAs at javax.crypto.SunJCE_b.(DashoA13*..) ... 3 詳細
原因: java.lang.SecurityException: javax.crypto.SunJCE_b.d(DashoA13*..) で javax.crypto.SunJCE_b.c(DashoA13*..) で javax.crypto.SunJCE_b$1 で署名クラスが改ざんされました.run(DashoA13*..) at java.security.AccessController.doPrivileged(Native Method) ... 4 詳細
java - ここで使用する正しいランダムアルゴリズムは何ですか?
署名アルゴリズムとして使用する場合MD5WithRSAEncryption
、対応するランダムアルゴリズムは何ですか?
試しMD5PRNG
ましたが、次のようになりました。
java.security.NoSuchAlgorithmException:SecureRandomMD5PRNG実装が見つかりません
ここで初期化するために使用される適切なランダムアルゴリズムは何 KeyPairGenerator
ですか?私たちが使うとき
のようにSHA1PRNG
SHA256WithRSAEncryption
つまり、SHA256WithRSAEncryption
は、でkey pair algorithm
あり、はキーペアアルゴリズムで使用されます。例
(クラスはどこにありますか)
それらはどういうわけか適切なペアリングに依存していますか?つまり、SHA1PRNGでMD5WithRSAEncryptionを使用できますか?SHA1PRNG
random generator
keyPairGenerator.initialize(keySize, secureRandom);
keyPairGenerator
KeyPairGenerator