Oracle电子商务套件安全性-签名的JAR文件-您应该怎么做

直到最近,Oracle电子商务套件仍允许自行设计的证书来确保最终用户浏览器中运行的Java代码的有效性。这意味着最终用户的浏览器使用您和/或您的组织在安装过程中创建的证书对从中间层服务器下载的Java JAR文件进行了有效性测试。现在始终需要使用受信任的证书颁发机构(CA)颁发的证书,而始终是增强安全性的一种选择。 Oracle最近认为自签名证书不再安全。 Oracle强烈建议Oracle电子商务套件用户现在使用受信任的CA对Java内容进行签名。

常问问题

  • 这适用于我吗? 如果您正在运行更高版本的JRE版本(特别是7u40或更高版本),则此要求适用于您。随着Oracle随着时间的推移发布Java的新版本,并且出于许多良好的安全原因,Integrigy建议您开始使用Trusted CA对JAR文件进行签名。
  • 什么是Java JAR签名? -- 简而言之,签名代码可以确认代码的作者(来自何处),并且该代码没有被更改或破坏。对Java归档文件(JAR)中的每个文件进行编程配置,然后将清单文件添加到JAR文件中。然后,您可以使用公共密钥加密对该清单文件进行签名。您使用私钥进行签名,签名后,公钥会自动插入JAR文件中-这是您的真实性数字证书。使用JAR文件时,最终用户的浏览器将验证您的公钥,以测试它是否应该信任JAR文件。您可以从证书颁发机构(CA)购买公钥和私钥。 Java JAR签名的一个很好的参考是 这里。
  • 如何签署电子商务JAR文件? -- 请遵循Oracle支持说明中的说明 ID 1591073.1,以生成证书请求,将请求发送到CA,在CA生成证书后导入证书,然后使用adadmin实用程序重新生成JAR文件。
  • 什么是CA?这会花钱吗? CA通常是第三方,例如Verisign或Thawte,后者会收费出售给您证书。然后,该证书将由所有主要浏览器附带的主根证书进行验证。您也可以成为自己的CA。但是,如果您决定成为自己的CA,则需要负责在整个最终用户社区的台式机和笔记本电脑中分发CA根证书。  
  • 我可以使用现有的SSL证书对Java JAR文件进行签名吗? 你不能。这两个证书用于两个不同的目的。 SSL证书对您的服务器进行身份验证,而代码签名证书则对服务器上的代码进行身份验证。因此,两个证书的构建方式不同,可以完成两个不同的任务。
  • 为什么Oracle不签名他们的代码? – 有一个针对Oracle的增强请求。 Oracle不签署其代码的原因还有很多,这些原因涉及Oracle打包和​​发布补丁程序的灵活性。
  • 我可以忽略这个吗? – 与您的IT安全团队联系。根据您的Java版本,可以设置一些应用程序“白名单”,这些应用程序可以忽略对签名代码的检查。这涉及使用“例外站点列表”或“部署规则集”。  如果尝试使用“部署”规则集,则需要将文件分发到每个最终用户的桌面。但是,这是在拥有CA签名后的DeploymentRuleSet.jar。部署规则集的使用通常与签名的JAR文件一起用作附加安全工具。
  • 这会需要停机吗? – 很有可能。您可能需要应用补丁程序才能开始对代码进行签名,并要对JAR文件进行签名,因此在重新生成JAR文件时,必须停止应用程序层。
  • 我需要多久签署一次JAR文件? -- 每次修补或潜在克隆时,根据是否或如何决定在生产,测试和开发之间共享证书。
  • 我可以在实例之间共享证书吗? -是的一个证书可用于多个电子商务套件环境。 
  • 如何保护用于签名JAR文件的私钥? – 答案非常仔细。不要将您的私钥(adkeystore。*文件)放在中间层。使用后,请从操作系统中安全擦除,并将其存储在安全的位置。您还可以潜在地使用Symantec(赛门铁克)或Vormetric等供应商的解决方案,这些解决方案提供硬件安全模块,智能卡和智能卡类型的设备(如USB令牌)。最后,您也可以只使用已锁定在保险箱中的USB拇指驱动器。
  • 我该怎么办? -- Java安全性只会随着时间的流逝变得越来越严格。 Integrigy建议您开始对代码进行签名,最好使用第三方CA颁发的证书。为一个小型项目留出时间,并准备应用补丁程序,并根据您是否决定在生产,测试和开发之间共享证书,来更改克隆和克隆后的步骤和过程。

如有疑问,请通过以下方式与我们联系 [email protected]

参考文献

 Share this post

订阅RSS

将我们添加到您最喜欢的新闻阅读器中。

在Twitter上关注

获取最新更新。