Java 签署证明书及;SSL

Java 签署证明书及;SSL,java,security,web,applet,Java,Security,Web,Applet,我目前有一个由Hostgator托管的网站,它有一个java上传小程序;但是,在页面访问时,浏览器会阻止java小程序执行。给出的原因是安全设置已阻止自签名应用程序运行 我的问题是,在不修改java安全级别的情况下,如何克服这个问题。我希望用户能够访问小程序而不出现此错误,并且不必修改任何当前浏览器设置 (我自己用keytool为小程序签名) 谢谢。有两种方法: 您需要从信任方(如或)购买SSL证书。然后,您需要使用此证书对小程序进行签名。由于此类证书将由全局受信任方提供,因此用户的JVM将自动

我目前有一个由Hostgator托管的网站,它有一个java上传小程序;但是,在页面访问时,浏览器会阻止java小程序执行。给出的原因是安全设置已阻止自签名应用程序运行

我的问题是,在不修改java安全级别的情况下,如何克服这个问题。我希望用户能够访问小程序而不出现此错误,并且不必修改任何当前浏览器设置

(我自己用keytool为小程序签名)

谢谢。

有两种方法:

  • 您需要从信任方(如或)购买SSL证书。然后,您需要使用此证书对小程序进行签名。由于此类证书将由全局受信任方提供,因此用户的JVM将自动信任它

    如果您决定使用更便宜的ssl提供程序,请确保它的根证书位于JVM的受信任证书的默认列表中。您可以通过列出Java安装附带的证书来检查,如下所示:

    keytool -list -keystore cacerts -storepass changeit
    
    其中,
    changeit
    是默认的
    cacerts
    密钥库密码,
    cacerts
    文件可以在jour JRE安装的
    lib\security
    文件夹中找到-在Windows上,这类似于:

    c:\Program Files (x86)\Java\jre[version]\lib\security\
    
  • 将公钥发送给您的用户,并让他们将其添加到JVM的受信任证书中(通常意味着,将您提供的证书导入到前面提到的
    cacerts
    文件中。但是,这一步骤需要使用
    keytool
    和命令行,对于大多数用户来说很可能很麻烦


  • 太好了!谢谢你的帮助。上面的选项1似乎是最合理的,因为它不需要用户做任何进一步的事情。