問題タブ [java-security]
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.
java - すべての jar に署名する必要があることを JVM に強制的にチェックさせることは可能ですか?
クラスローダーにロードされたすべての JAR が署名されていることを JVM に強制的にチェックさせることはできますか?
私が期待する動作は次のとおりです。署名が間違っているか、jar ファイルが署名されていない場合、JVM はクラッシュします。それ以外の場合、プログラムはスムーズに実行されます。
java - Java 例外を介して機密情報を公開することは可能ですか?
信頼境界が交差Exceptions
するときに、機密性の高いアプリケーションまたはシステム情報を Java 経由で公開することは可能ですか?
つまり、理論的にだけではなく、実際の環境でそれが起こる場合.
たとえばjava.io.FileNotFoundException
、呼び出し元にアプリケーションのファイル システム構造などを伝える場合があります。
java.util.ConcurrentModificationException
アプリのスレッドセーフでないクラスに関する情報を提供する場合があります。
この状況は、以下の 2 つの方法以外で処理できますか?
他の人がアクセスするはずのコード
Sysouts
の代わりに (カスタマイズされたメッセージのみで)使用しますか?throwing exceptions
例外をスローする必要がある場合は、メッセージをサニタイズしてから例外をスローします
ポイント#2が完全に回避可能であり、例外をスローするための必須の状況がないかどうかも疑問に思っています。
私の質問は、特定のアプリケーションに関するものではなく、一般的なプログラミングの実践に関するものです (2 つの異なる銀行などの大企業でアプリケーション間通信が必要な場合)。
java - セキュリティの観点から、非最終的なパブリック静的フィールドと非最終的なパブリック インスタンス フィールドの違いは?
このリンクOBJ10-J を使用しています。public static nonfinal フィールドを使用しないでください。
public static フィールドへのアクセスはセキュリティ マネージャによってチェックされないため、クライアント コードは簡単に public static フィールドにアクセスできます。
それは実際にはどういう意味ですか?つまり、セキュリティ マネージャからエスケープするということは何を意味するのでしょうか?
field がfinalおよびpublic
ではないという理由だけでそれを意味しているのであれば、なぜfinal 以外のインスタンスpublic
フィールドが対応するフィールドと異なるstatic
のでしょうか? (コードのセキュリティに関する限り)
私はこの質問をしてきましたが、セキュリティに関する言及は見たことがありません。静的変数はなぜ悪と見なされるのですか
public
クラスのpublic static
フィールドはどこからでもアクセスできるので、public
インスタンス フィールドにもアクセスできるので、違いはどこにあるのでしょうか? 非最終 public
インスタンス フィールドがセキュリティ上の問題ではなく、存在するのはなぜstatic
ですか?
java - MessageDigest と Cipher を java.security.Signature と同等にする
暗号アルゴリズムとして RSA を使用し、ハッシュ関数として SHA-1 を使用して独自の署名関数を実装したいので、これら 2 つの関数を実装しました。
次に、これらの関数を使用すると、結果として常に false が得られます。これは、関数が正しく機能していないことを意味します。
java - com.sun.security.* パッケージはどこからダウンロードできますか?
com.sunライブラリのダウンロード
これは私がコードを使用しているものであり、必要なライブラリが必要であり、どこからダウンロードできますか? Googleで検索しましたが、見つかりませんでした。
java - JWS アプリケーションの disabledAlgorithms を変更できますか?
重複の可能性: JNLP の java.security.properties
Java WebStart を使用して開始するデスクトップ アプリケーションがあります。JDK 1.8.71 以降、X509 証明書の検証で MD5 が無効になりました。残念ながら、使用している証明書を変更することはできません。
回避策は、"jdk.certpath.disabledAlgorithms" に MD5 が含まれないように java.security ファイル (jre/lib/security/java.security) を変更することですが、アクセスできないため、これは問題外です。クライアント コンピュータ。JNLP ファイルでプロパティを設定し (機能しませんでした)、以下を呼び出してみました。
上記のコードは、ローカルで開始された JAR では機能しますが、JNLP では機能しません。これが機能するかどうかはわかりませんか?JNLP で編集可能なセキュリティ プロパティに関するドキュメントは見つかりませんでした。
java - 「PKIX パスの構築に失敗しました: 要求されたターゲットへの有効な証明書パスが見つかりません」 リリース バージョンのみ
問題は何かトリッキーです。war ファイルを LDAPS 経由で Active Directory に接続しようとしました。IntelliJ IDEA のデバッグ モードで実行している間、コードは完全に正常に動作しています。
war ファイルを同じマシンまたは別のマシンにインストールすると、このエラーが発生します。
証明書は自己署名されています。truststore.jks
CA.crt を に、LDAP.cerを に追加しましたcacerts
。「jssecacerts」も追加してみましたが、結果は同じでした。
注: Apache Shiro フレームワークを使用しています。
このエラーを回避するにはどうすればよいですか? デバッグモードで来ないのはなぜですか?
java - RMI 経由で javax.security.auth.Subject オブジェクトを送信するときに NullPointerException が発生しました
ユーザーが認証に RMI (over SSL) を使用するクライアント サーバー システムを開発しています。
クライアントは LoginInf.login() メソッドを呼び出します。
サーバーでは、LoginImpl.login() メソッドは次のように実装されます。
ただし、クライアント側で LoginIntf.login() メソッドを実行した後、NullPointerException が発生します。
返された Subject オブジェクトをローカル変数に格納してアクセスしなくても、NPE を取得します。
NPEの原因がわかりません。私は開発段階にあり、ポリシーファイルで AllPermission を付与しているため、許可に関連しているとは思わない:
javax.security.auth.Subject が Serializable を実装していることは知っているので、これを RMI 経由で送信しても問題ありません。
どんな助けでも大歓迎です。前もって感謝します!