2

我正在尝试使用 Amazon S3 和 Amazon Cloudfront CDN 来传递我的小程序应用程序的 jar 文件。

我看到 java 插件对我的 jar 进行了几次缓存未命中。这对我来说很重要,因为我的应用程序大小约为 3Mb,而且我不能让我的客户每次都重新下载应用程序。

问题是,由于“安全漏洞问题”,java 插件缓存正在解析 jar 远程主机的 IP 地址,但 Amazon S3 使用动态 IP。我猜 Akamai 或任何其他体面的 CDN 服务也会出现同样的问题。

有什么我可以做的吗?

4

1 回答 1

0

好吧,地址必须在某个时候解决,这不完全是问题。

问题是小程序希望确保 .jar 来自与保存小程序的页面相同的来源,以确保没有人返回恶意 jar 而不是原件。但是,当使用 URL 打开套接字时,它会解析到不同的地址,是的,因为您使用的是云而不是单个服务器。

我相信你可以通过签署 .jars 来解决它。这样,无论来源如何,applet 都知道它们是原创的。

我所做的是手动创建证书。像他一样:

keytool  -genkey -keyalg rsa -keysize 1024 -alias {put a name for the cert here} -validity 3650 -keystore {.. and a file name here.}

请注意,这将提示您为证书设置用户和密码。

然后像这样签署你所有的罐子 - >

$1/jarsigner  -keystore { the above file name} -storepass password  -keypass password     whatEver.jar         {cert name, from above.}

我使用这种方法看到的唯一问题是,由于证书不是由浏览器中公认的权威机构签署的,它会在第一时间提示将其添加到受信任的证书中。通常不是问题。

否则,您可以:

1)在浏览器中从公认的权威机构(Thwate、Verisign)获取证书(有些是免费的)

2)设置权限并要求您的用户将其添加到浏览器的认可权限中。

希望这可以帮助!

-亚历克斯

于 2012-07-13T19:14:26.250 回答