- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在部署一个通过 SSL 连接与第三方应用程序连接的应用程序。为此,我之前使用了这些证书并将它们保存在构建包中并从那里挑选它们。现在由于生产版本数量有限,我需要外部化 SSL 证书。到目前为止,我已经外部化了从 jre/lib/security/wasadm. via a SSLConnectionFactory.
中挑选的证书。但是有一些证书是 cacert 的一部分,需要从 JAVA_OPTS
中挑选。在 PCF 上作为环境变量,如 -Djavax.net.ssl.trustStore=<URL to a Path on Server>
如何使用 -D or JAVA_OPTS
以便从那里检索 trustStore。
Jdk -> 1.7xx
Target Environment -> PCF
environment OS -> Linux
在此感谢任何帮助。
最佳答案
keeping them in the build pack and pick them from there.
如果可能的话,不要这样做。它要求您 fork 构建包,这很糟糕。它会给您带来维护负担,并会降低您向 Cloud Foundry 上运行的应用程序部署更新和安全补丁的能力。
But there are some certs which are part of cacert and needs to be picked from the JAVA_OPTS on PCF as environment variable like -Djavax.net.ssl.trustStore=
我不确定为什么你会被迫走这条路。 -Djavax.net.ssl.trustStore
选项只是为 JVM 设置默认信任库。它有时很方便,但也有缺点。
当您需要信任不是由知名 CA 签名的证书时,我建议您创建自己的特定于应用程序的信任库,而不是将更多证书添加到 JVM 的默认信任库。
如果您的应用程序不依赖于系统特定的自定义设置(例如修改默认信任库),那么它的可移植性会更高。更改默认信任库也有问题,因为在 JVM 中运行的所有内容都使用它。如果您只是添加到默认信任库,这通常是可以的,但如果您试图从中删除,您可能最终会破坏其他代码。此外,如果您使用自己的信任库,则可以仅包含您的应用或应用中的特定服务所需的最少数量的证书(因为您可以通过这种方式使用多个信任库)。
我不知道您使用的是什么 HTTP 客户端,但是有一个使用 HTTPClient 执行此操作的好示例 here .请参阅自定义 SSL 上下文
示例。
除此之外,如果您真的想调整在 Cloud Foundry 上运行您的应用程序的 JVM 的默认信任存储,您只需修改应用程序的 JAVA_OPTS
环境变量并重新加载。
例如:
cf set-env my-cool-app JAVA_OPTS '-Djavax.net.ssl.trustStore=path/to/my/new/default-truststore.jks'
我相信您可以使用指向您的信任库的相对路径,就像您将它与您的应用程序捆绑在一起一样。如果不是,/home/vcap/app
是 JAR/WAR 文件根目录的路径,所以如果您需要完整路径,可以插入它。它需要是容器上的本地路径,但我认为 JVM 不支持远程路径/URL。
Jdk -> 1.7xx
你真的需要升级:)
关于java - 在 JAVA_OPTS PCF 中使用 URL 并将其解析为 -Djavax.net.ssl.trustStore=<url>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50389794/
我有以下序列 ubuntu@ip-10-63-3-254:/mnt$ export JAVA_OPTS=-Dmt.config.from=Enubuntu@ip-10-63-3-254:/mnt$ e
我想增加堆大小。我怎样才能使用 JAVA_OPTS 这样做。我收到以下错误可能是因为堆大小低 UNEXPECTED TOP-LEVEL ERROR: java.lang.OutOfMemoryErro
我的应用程序部署在 Tomcat 上,我在 /etc/default/tomcat7 中配置了 JAVA_OPTS 环境变量。 似乎有上百万个不同的地方可以将这些变量提供给 Tomcat,所以我想检查
我在 Heroku 的下一个教程中特别针对这部分出现了错误 [ https://devcenter.heroku.com/articles/getting-started-with-java#run-
我有一个在 Windows 7 上运行的 tomcat 6。我最近在 catalina.sh 文件中增加了 permSize、maxSize 等,我想看看 tomcat 是否正确获取新选项,我如何从命
我为 Apache Tomcat 设置环境(通过 setenv.sh) export JAVA_OPTS="-XX:PermSize=256m -XX:MaxPermSize=356m" 如何在 JS
我只需要为一个 Java 应用程序设置 Java_opts 内存。我的程序是一个 Maven 项目。有什么方法可以将其设置为我的程序,而不是整个环境? 最佳答案 如果您在 Maven 生命周期构建期间
我正在尝试为 Heroku 平台配置 Procfile 文件以在本地运行应用程序。我正在尝试运行基于 Tomcat 的 Java Web 应用程序。 他们在教程中说: To build your ap
我开始学习 Java。运行我的代码后,我得到了一些额外的行以及预期的输出。有人可以告诉我他们的意思吗? 我的代码: public class HelloWorld { public stati
我正在调整我的 JVM 应用程序。我设置的JAVA_OPTS如下: JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8" JAVA_OPTS="$JAVA_OPTS
我很难为 tomcat 8 的 RedHat 环境设置 JAVA_OPTS。我需要加载 tomcat 安装目录之外的属性。文件夹结构: ----/home/tomcat -----/apache-to
CentOS 7 服务器安装了 Java 7 和 tomcat 8。我需要设置 permgen 空间,但输入 printenv在命令行上不包括 JAVA_OPTS在环境变量列表中。我输入了 ps获取正
我在获取门户服务器的standalone.conf.bat中添加了非代理主机 -Dhttp.proxyHost=10.111.1.00 -Dhttp.proxyPort=80 -Dhttp.nonPr
我们的应用程序部署 JBoss 服务器然后抛出错误 PermGen 空间然后在 jboss bat 和配置文件中设置 permgen 变量中的 java_OPTS。JAVA_OPTs中的值assige
当我执行以下命令时: root@starwars:/# export JAVA_OPTS="-Xms756m -Xmx756m -Xss128m -Xmn512m" 值 "-Xms756m -Xmx7
如何使用 JAVA_OPTS 变量来配置 Web 服务器(Linux 服务器)? 如何使用 JAVA_OPTS 设置 -Djava.awt.headless=true? 最佳答案 JAVA_OPTS
我正在阅读教程 here关于如何让 jboss 管理控制台工作 - 它说如下; The Console, as well as the JMX and JBossWS consoles, are de
我已将 java 最小/最大堆大小设置为与 Sun Docs 中概述的相同。使用以下命令来精确调整堆大小: -Xms768m -Xmx768m 当我启动 tomcat 时,这工作正常,但如果我从命令行
我在 windows server 2012 上运行 java 程序,我想设置 JAVA_OPTS 变量并使用它,我是这样做的: 在安装jdk的bin中打开命令提示符,执行以下命令: $set JAV
当我部署到 tomcat 时,我可以将 JAVA_OPTS 编辑成如下内容: export JAVA_OPTS="$JAVA_OPTS -someswitch:/myotherJar.jar" 现在如
我是一名优秀的程序员,十分优秀!