Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我是否需要对我的.jar应用程序文件进行签名才能让它们在OS X或Windows中运行?_Java_Macos_Sign - Fatal编程技术网

Java 我是否需要对我的.jar应用程序文件进行签名才能让它们在OS X或Windows中运行?

Java 我是否需要对我的.jar应用程序文件进行签名才能让它们在OS X或Windows中运行?,java,macos,sign,Java,Macos,Sign,我几乎完成了我的第一个Java应用程序,并将其编译为.jar(附带的“lib”文件中有第二个.jar)。令我惊讶的是,这个完全未签名的应用程序在我的Mac(OS X 10.11 El Capitan)上运行,甚至没有请求管理员密码。这让我感到惊讶 以前在Mac上安装应用程序时,我总是必须键入管理员密码 我以为SIP应该阻止未签名的应用程序运行。这是我在大多数编程和编译中使用的同一台机器 因此,我的问题是: 我的未签名Java应用程序是否会在安装了兼容JRE的任何Mac上运行 如果没有,我需要苹

我几乎完成了我的第一个Java应用程序,并将其编译为.jar(附带的“lib”文件中有第二个.jar)。令我惊讶的是,这个完全未签名的应用程序在我的Mac(OS X 10.11 El Capitan)上运行,甚至没有请求管理员密码。这让我感到惊讶

  • 以前在Mac上安装应用程序时,我总是必须键入管理员密码
  • 我以为SIP应该阻止未签名的应用程序运行。这是我在大多数编程和编译中使用的同一台机器
  • 因此,我的问题是:

    • 我的未签名Java应用程序是否会在安装了兼容JRE的任何Mac上运行
    • 如果没有,我需要苹果公司的签名密钥和证书吗?或者任何公司都可以吗?那么Windows(甚至Linux)呢(似乎很多人都很难在Windows10中运行.jar)

    我应该提到的是,无论如何,我都会尝试对应用程序进行签名,以安抚用户,避免人们将恶意软件冒充为我的程序的危险。说到这一切,我完全是个新手

    您不需要这样做,但是要让Jar运行而不必更改计算机上的安全详细信息,您应该这样做只是为了告诉用户,“这是我做的,当您运行我的应用程序时,您的计算机不会发生任何事”


    “默认情况下,没有证书的应用程序(即未签名的应用程序)或缺少应用程序名称和发布者信息的应用程序将被阻止。运行此类应用程序可能不安全,并且存在更高的风险。”——

    您不需要这样做,但要在不更改计算机上的安全详细信息的情况下运行Jar,您应该这样做只是为了告诉用户,“这是我做的,当您运行我的应用程序时,您的计算机不会发生任何事情”


    “默认情况下,没有证书的应用程序(即未签名的应用程序)或缺少应用程序名称和发布者信息的应用程序将被阻止。运行此类应用程序可能不安全,并且存在更高的风险。”——

    您不需要超级用户权限的原因是您实际上没有运行新的应用程序,仅使用不同的参数调用现有的一个(java)

    java是安装在您的计算机上并已签名的应用程序。就操作系统而言,您的jar文件只是您提供给java的一个数据文件


    将其视为解压缩文件或查看文本文件-所使用的应用程序与它所操作的文件不同

    不需要超级用户权限的原因是,您实际上并没有运行新的应用程序,而只是使用不同的参数调用现有的应用程序(java)

    java是安装在您的计算机上并已签名的应用程序。就操作系统而言,您的jar文件只是您提供给java的一个数据文件


    可以将其想象为解压缩文件或查看文本文件-所使用的应用程序与它所操作的文件不同

    ,这非常有意义,谢谢。这有点吓人,因为我的应用程序能够删除文件和文件夹(尽管是它创建的副本)。我确实需要输入管理员密码才能将其移动到“应用程序”文件夹中,因此,如果没有此密码,它只需单用户安装,而不是全系统安装。这非常合理,谢谢。这有点吓人,因为我的应用程序能够删除文件和文件夹(尽管是它创建的副本)。我确实需要输入管理员密码才能将其移动到“应用程序”文件夹中,因此,如果没有此密码,它只需单用户安装,而不是全系统安装。非常有趣,谢谢。根据Wiggles先生上面所说的,我是否认为您引用的这段话意味着JRE而不是OS可能会阻止未签名的.jar应用程序?如果是这样,我想知道为什么它不适合我?可能是因为它是在同一台机器上编写/编译的?如果是这样的话,我想知道是否有一种方法可以欺骗JRE,使其认为它不是这样的,这样我就可以确切地看到它在用户机器上的行为了?这么多问题!非常有趣,谢谢。根据Wiggles先生上面所说的,我是否认为您引用的这段话意味着JRE而不是OS可能会阻止未签名的.jar应用程序?如果是这样,我想知道为什么它不适合我?可能是因为它是在同一台机器上编写/编译的?如果是这样的话,我想知道是否有一种方法可以欺骗JRE,使其认为它不是这样的,这样我就可以确切地看到它在用户机器上的行为了?这么多问题!