Microsoft Azure 安装 Java 加密扩展 (JCE)

Microsft Azure installing Java Cryptography Extension (JCE)

我在 Azure 上有一个 Java 8 Wep 应用程序。

我在 Web 应用程序的应用程序设置中使用默认的 JRE 构建。我 运行 Tomcat。

我在安装 Java 加密扩展来处理某些加密时遇到问题。我无法访问 Java 主页来安装它,我只能将 WAR 文件上传到网络应用程序。

有人知道如何在 Azure 上安装 JCE 吗?

谢谢! 很棒

在Azure Webapp上,您只有路径D:\home\的操作权限,其他路径%JAVA_HOME%和ApacheTomcat都没有权限D:\Program Files (x86)\ ].

一般使用一些包,直接将这些jar文件导入到工程目录WEB-INF\lib或war文件中即可。这种方式只对当前项目有效,对其他人来说是安全的,避免冲突。

路径D:\home的文件结构,可以参考wiki页面https://github.com/projectkudu/kudu/wiki/File-structure-on-azure了解。

但是,根据 JCE 中的文档 README.txt,似乎无法在 Azure Webapp 上安装,所以我认为您可以尝试使用其他加密包而不是 JCE 用于您的应用程序,例如 apache commons codec.

对于仍然有此问题的人,我通过示例分享我的解决方案:

  1. 从 D:\Program Files (x86)\Java\jdk1.8.0_111 复制 JDK 到 D:\home\site\jdk1.8.0_111
  2. 从以下位置下载并提取 jce 策略文件:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
  3. 将文件 local_policy.jar 和 US_export_policy.jar 复制到 D:\home\site\jdk1.8\jre\lib\security(替换现有文件)
  4. 在 Azure 门户中设置应用程序设置:JRE_HOME = D:/home/site/jdk1.8.0_111/jre
  5. 现在 JDK 已启用 JCE。在 Azure 门户中选择的 "Java minor version" 不再使用或此应用服务。