我正在尝试使用 com.sun.grizzly.SSLConfig.setKeyStoreFile()为 Grizzly 设置 SSL。它只需要一个字符串作为输入(而不是 InputStream 或 File)。我想使用 JAR 文件中的 jks 文件。如果我为 jar 路径传递字符串(例如 C:\dir\my.jar!\resources\my.jks),它会失败。除了从 JAR 中解压缩文件外,我还可以如何将 JKS 用于 grizzly。
最佳答案
除了文件名之外,您似乎无法传入任何内容。如果您查看 source并查看 validateConfiguration()
和 createSSLContext()
方法,您会看到它将 keyStoreFile
变量直接传递到 FileInputStream
构造函数。
短期内,您可能无法解压缩并使用直接文件名。或者您可以覆盖上面列出的两种方法以正确验证和初始化 SSLContext。从长远来看,我会提交一个补丁。
关于java - 将 Grizzly 的 keystore 设置为使用 jar 中的 jks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2104512/