问题标签 [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 混合代码安全,从 JRE 1.6.0_19 开始

Java JRE 混合代码安全性,从 JRE 1.6.0_19 开始,到 2010 年左右,最初使用 JDK/JRE 1.6.0_12 实现、构建和部署了一个主 jar Java Applet;主 jar 和第三方 jar 已签名,一切正常。主 jar java applet 和第三方 jar 可以在 JRE 1.6.0_12 到 JRE 1.6.0_18 中正常工作。

但是,随着从 JRE 1.6.0_19 开始引入混合代码安全性,除非禁用混合代码安全性,否则主 jar 将不会随 JRE 11.6.0_27 一起启动。
我们正在将 JRE 从 1.6.0_12 移动到更新 27。我正在尝试解决这个问题,也就是说,当启用混合代码安全性时,允许签名的主 jar Java 小程序和签名的第三方 jar 启动。

我有一个包含 Java Applet 源代码的主 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 Applet 和第三方 jar 位于 Web 应用程序的 webcontent/applet 目录中,当使用 Web 应用程序启动小程序时,主 jar 和第三方 jar 被下载到用户的计算机中。数字签名部分工作正常,当 JRE 混合代码安全被禁用时,Java 小程序能够启动并成功运行。这仍然没有解决启用时的混合代码安全性。

我尝试将主 jar 部署为 Trusted-Only 和 Trusted-Library。在启用混合代码安全性的两种情况下,主 jar Java Applets 无法启动,我得到不同的异常但结果相同。

主 jar 小程序(富 Internet 应用程序)是使用带有 html 标记的 JavaServer Pages 文件(HTML 页面)中的 JavaScript 代码调用的。

据我了解,JavaScript 代码被视为未签名代码。当从 HTML 页面中的 JavaScript 代码访问已签名的小程序时,已签名的小程序将在安全沙箱中执行。这意味着签名的小程序本质上表现得像一个未签名的小程序。

我正在讨论是否应该将 JNLP 与 Deployment Tookit (deployJava.js) 一起使用来部署小程序,或者是否应该在主 JAR 文件的清单文件中将类添加到主 JAR 文件的类路径;其清单引用了一个不同的 JAR 文件(或几个不同的 JAR 文件),这些文件用作我的 applet 的实用程序。

关于如何解决这个混合代码问题的任何想法?

请指教,谢谢。

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

阅读此链接后,我有点困惑。根据此链接,我似乎需要在清单文件中提及“仅受信任”或“受信任库”属性。我查看了我的清单文件,它们没有这些属性,所以我应该把它们放进去,或者只是罐子签名的事实就足够了。

有人可以帮我理解为什么即使所有内容都已签名,我也会收到此错误?

0 投票
5 回答
10117 浏览

java - Java 小程序在更新到 JRE 7u21 后停止工作

一旦 JRE 更新到 7u21,我的 java 小程序就停止工作了。

简短的摘要:

  • 我得到的异常是:netscape.javascript.JSException 和
    java.lang.NoClassDefFoundError。该小程序在 JRE 7u21 之前运行良好。

  • 该小程序使用 Oracle 的 DeployJava.js 嵌入到网页中。

  • 小程序已签名,它使用 LiveConnect 触发事件,它通过 JNI 访问 USB 和串行端口,它使用来自多个 JAR 文件的代码。

  • 失败发生在所有测试的桌面浏览器(Firefox、chrome、IE8/9 和 Mac 上的 Safari)上。

细节:

  • 我有一个 Java 小程序,它允许我的网站与 USB 设备进行通信。

  • 该小程序在过去一年中运行良好。

  • 一旦 JRE7 更新 21 发布 - 小程序停止工作。

  • 小程序托管在使用 Oracle 的 DeployJava.js 库的网页 (ASP.NET) 中。

  • 它使用 LiveConnect 将事件引发回我的 javascript 代码。

我在 JRE 7u21 上遇到的第一个问题是第一次尝试通过 LiveConnect 引发事件时出现异常:

为了缓解这个问题,我在小程序的 ant 脚本中的“清单”部分添加了以下行:

我使用 JDK 7u21 构建了小程序,它似乎有帮助:

之后我开始遇到另一个错误 - 所以我相信这个问题已经解决,但它可能导致了下一个问题。

第二个问题是:applet 正在从几个 JAR 文件中调用代码。在第一次调用另一个 JAR 文件(不是小程序)中的代码时失败,并出现以下异常:

我已经尝试了以下措施 - 没有成功:

该小程序已经具有以下功能:

  • 在 jnlp 中标记安全性“所有权限”

  • 主 JAR 使用来自外部 CA 的证书进行签名

  • 小程序代码在AccessController.doPrivileged块内运行。

我是一个java新手,所以请不要忽视明显的解决方案......

在此先感谢您的帮助,

家伙。

0 投票
1 回答
513 浏览

java - 逻辑解决Java安全错误

当我打开小程序时,我看到以下安全警告/错误。

在此处输入图像描述

我用谷歌搜索并从http://java.com/en/download/help/error_mixedcode.xml找到了解决方案,说要从设置中编辑选项。它是有效的,但我的客户永远无法理解这一点。

只是想确认一下,我们可以通过在小程序/对象标签中添加任何内容来解决这个问题,还是有其他方法。请帮我解决这个问题。

0 投票
0 回答
349 浏览

java - 包含一组签名和未签名 jar 的 jnlp 文件

我有一组 jar,我在构建机器上构建和签名并部署到我们的服务器。还有另一个 jar 是在服务器本身上动态创建的,我无法对其进行签名。如 jnlp 文件中所述,所有 jar 都一起下载。

当我运行应用程序时,我从浏览器收到通知,通知此已签名和未签名的混合,并询问允许或拒绝?

我能做些什么来消除浏览器的通知吗?在我的 jnlp 中?

想法?

0 投票
0 回答
522 浏览

java - Java Signed Code Applet 混合代码警告即使在受信任的库之后:true

Java SE 7 update 21 为 applete 抛出了一个混合代码弹出窗口。

我已经将 Trusted-Library: true 添加到 Manifest.MF 并已辞职,但它仍然抛出此弹出窗口。

我使用了一些系统库,是否还需要在那些 jars 中添加 Trusted-Library: true 。我错过了什么吗?

0 投票
1 回答
870 浏览

c++ - 如何将 dispatch_queue_t 分配给结构中的变量

我对Objective C还是比较陌生,很容易被各种类型混淆。我正在使用 SquareCam 示例项目中的代码,该代码已合并到一个更大的项目中。它工作正常,但现在我想保存类型为 dispatch_queue_t 的 videoDataOutputQueue,以便我可以在项目的其他地方使用它。它必须通过一些 C++ 代码才能最终返回到 Objective C 代码。因此,我试图将它添加到我已经拥有的结构中,作为 void * (void *videoDataOutputQueue;)

但是,我还没有找到正确的方法来分配它而不会出现 EXC_BAD_ACCESS 运行时错误。由于 dispatch_queue_t 是一个 C++ 对象,我不能只使用它的地址吗?

稍后在代码中:

显然这不是正确的方法,我不明白我在做什么。我从其他帖子中得到了一些提示,但我遗漏了一些东西。

谢谢,肯

0 投票
0 回答
161 浏览

.net - 从本机类方法调用托管函数是否安全?

我有带有本机接口(导出类)的 C++ dll,它是用 /clr 开关编译的。导出类的一些方法有...参数。编译器在此类上显示 C4793 警告:函数被编译为本机代码。

由于该类被编译为本机,我不能直接在类方法中使用托管代码。但是,我可以调用托管函数,如代码示例所示。这样做安全吗?

0 投票
1 回答
61 浏览

performance - 调试混合应用程序时,Visual Studio 2010 加载符号太慢

我正在使用 Visual Studio 2010 调试混合应用程序。当我附加到该进程(托管 + 本机)时,VS 被挂起。然后 30 分钟后(不完全是这个时间,但它真的很长),它又回来了。

有人知道如何解决这个问题吗?在此先感谢!

我有'删除所有断点',尝试修复VS等等。问题依然存在。