問題タブ [mixed-code]

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.

0 投票する
3 に答える
323 参照

c++ - 混合 C/C ++ ソース: C コードで sizeof(C++ struct) を取得

このプロジェクトでは、C ファイル内からヘッダー ファイル内の構造体のサイズを取得する必要があります。

構造体には C でコンパイルされないクラスが含まれているため、C ファイルにヘッダー ファイルを含めることはできません。

何か案は?

0 投票する
1 に答える
4644 参照

java - Java JRE Mixed Code Security (JRE 1.6.0_19 以降)

Java JRE Mixed Code Security、JRE 1.6.0_19 以降 2010 年頃、メインの jar Java アプレットが JDK/JRE 1.6.0_12 を使用して実装、ビルド、デプロイされました。メインの jar とサード パーティの jar は署名済みで、すべて正常に動作します。メインの jar Java アプレットとサード パーティの jar は、JRE 1.6.0_12 から JRE 1.6.0_18 まで正常に動作します。

ただし、JRE 1.6.0_19 以降の Mixed Code セキュリティの導入により、Mixed Code セキュリティが無効になっていない限り、メイン jar は JRE 11.6.0_27 で起動しません。
JRE を 1.6.0_12 からアップデート 27 に移行しています。この問題を修正しようとしています。つまり、混合コード セキュリティが有効な場合に、署名済みメイン jar Java アプレットと署名済みサード パーティ jar を起動できるようにすることです。

Java アプレットのソース コードを含むメインの jar と、メインの jar で使用されるいくつかのサード パーティの jar があります。たとえば、activation.jar、log4j-1.2.13.jar、ojdbc14.jar などです。

JDK 1.6.0_27 で keytool.exe を使用して、Java アプレットの秘密鍵と公開鍵のペアを持つ新しいキーストアを作成しました。JDK 1.6.0_27 で jarsigner.exe を使用して、メインの jar とすべてのサード パーティの jar を秘密鍵で正常に署名しました。各 jar には署名ファイル .SF と署名ブロック ファイル .DSA (デジタル署名アルゴリズム) があります。署名済みの jar を検証するために使用する公開鍵をエクスポートしました。

Java アプレットとサードパーティの jar は Web アプリの webcontent/applet ディレクトリにあります。Web アプリを使用してアプレットを起動すると、メインの jar とサードパーティの jar がユーザーのコンピューターにダウンロードされます。JRE Mixed Code セキュリティが無効になっている場合、デジタル署名部分は正常に動作し、Java アプレットは起動して正常に動作します。が有効になっている場合でも、混合コード セキュリティは解決されません。

メイン jar を Trusted-Only および Trusted-Library としてデプロイしてみました。混合コード セキュリティが有効になっている両方の状況で、メインの jar Java アプレットを起動できません。異なる例外が発生しますが、結果は同じです。

メインの jar アプレット (Rich Internet Application) は、JavaServer Pages ファイル (HTML ページ) 内の JavaScript コードを使用して html タグで呼び出されます。

JavaScript コードは署名されていないコードのように扱われることを理解しています。署名付きアプレットが HTML ページの JavaScript コードからアクセスされると、署名付きアプレットはセキュリティ サンドボックス内で実行されます。これは、署名されたアプレットが基本的に署名されていないアプレットのように動作することを意味します。

JNLP を Deployment Toolkit (deployJava.js) と一緒に使用してアプレットをデプロイするべきか、それともメイン JAR ファイルのマニフェスト ファイル内のメイン JAR ファイルのクラスパスにクラスを追加するべきかを検討しています。そのマニフェストは、私のアプレットの目的でユーティリティとして機能する別の JAR ファイル (またはいくつかの異なる JAR ファイル) を参照します。

この混合コードの問題を解決する方法について何か考えはありますか?

アドバイスしてください、ありがとう。

0 投票する
4 に答える
17552 参照

java - アプリケーションに署名されていないコードと署名されたコードの両方が含まれていることを示す Java ポップアップ

Java 1.7.0_21 を実行している Mac 10.7 を使用しています。署名された Java アプレット アプリケーションを実行しようとしていますが、アプリケーションの最後に「安全でない可能性のあるコンポーネントの実行をブロックしますか?」という混合モードのセキュリティ ポップアップが表示されます。私が使用しているすべての瓶は署名されています。

Java 6 を実行している Mac 10.6 で同じアプレット アプリケーションを実行できますが、混合モードの警告は表示されません。また、混合モードの警告が表示されることなく、Windows でアプリケーションを実行することもできます。

すべての jar が署名されているのに、このエラーが発生し続けるのはなぜですか?

混合モードの警告をグーグルで検索したところ、このリンクが見つかりました。

http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/mixed_code.html#manifest

このリンクを読んだ後、私は少し混乱しています。このリンクによると、マニフェスト ファイル内に「Trusted-Only」または「Trusted-Library」属性を記載する必要があるようです。私は自分のマニフェスト ファイルを調べましたが、それらにはこれらの属性がありません。

すべてが署名されているにもかかわらず、なぜこのエラーが発生するのかを誰かが理解するのを手伝ってくれますか?

0 投票する
5 に答える
10117 参照

java - JRE 7u21 への更新後に Java アプレットが動作しなくなった

JRE が 7u21 に更新されると、Java アプレットが動作しなくなりました。

簡単な要約:

  • 私が取得する例外は、netscape.javascript.JSException と
    java.lang.NoClassDefFoundError です。アプレットは JRE 7u21 まで正常に動作しました。

  • アプレットは、Oracle の DeployJava.js を使用して Web ページに埋め込まれます。

  • アプレットは署名され、LiveConnect を使用してイベントを起動し、JNI を介して USB およびシリアル ポートにアクセスし、複数の JAR ファイルのコードを使用します。

  • テストしたすべてのデスクトップ ブラウザー (Firefox、Chrome、IE8/9、および Mac 上の Safari) でエラーが発生します。

詳細:

  • Web サイトが USB デバイスと通信できるようにする Java アプレットがあります。

  • このアプレットは、この 1 年間、うまく機能しています。

  • JRE7 update 21 がリリースされると、アプレットが機能しなくなりました。

  • アプレットは、Oracle の DeployJava.js ライブラリを使用して Web ページ (ASP.NET) でホストされます。

  • LiveConnect を使用して、イベントを JavaScript コードに戻します。

JRE 7u21 で最初に発生した問題は、LiveConnect を介してイベントを発生させようとした最初の試行での例外でした。

この問題を軽減するために、アプレットの ant スクリプトの「マニフェスト」セクションに次の行を追加しました。

私は JDK 7u21 を使用してアプレットを構築しました。

その後、別のエラーが発生し始めたので、これは解決されたと思いますが、次の問題が発生した可能性があります。

2 つ目の問題は、アプレットが複数の JAR ファイルからコードを呼び出していることです。別の JAR ファイル (アプレットの JAR ファイルではない) のコードへの最初の呼び出しは、次の例外で失敗します。

私はすでに次の対策を試しましたが、成功しませんでした:

  • HTTP ヘッダー 'Cache-Control' = 'no-cache' を追加します

  • HTTP ヘッダー 'Cache-Control' = 'no-cache, no-store, must-revalidate' を追加します

  • http://java.com/js/deployJava.txtから最新の DeployJava.js を使用します(名前を .js に変更した後)

アプレットにはすでに次の機能があります。

  • jnlp でセキュリティの「すべての権限」をマークする

  • メインの JAR は、外部 CA からの証明書で署名されています

  • アプレット コードはAccessController.doPrivilegedブロック内で実行されます。

私はJavaの初心者なので、明らかな解決策を無視しないでください...

よろしくお願いいたします。

男。

0 投票する
0 に答える
522 参照

java - Java 署名済みコード アプレット混合コード警告 Trusted-Library の後でも: true

Java SE 7 update 21 は、アプレットの混合コード ポップアップをスローしています。

私はすでに Trusted-Library: true を Manifest.MF に追加し、辞任しましたが、まだこの popup をスローしています。

私はいくつかのシステム ライブラリを使用していますが、それらの jar に Trusted-Library: true を追加する必要もありますか。私は何かが足りないのですか?