java - 找不到 java.security.KeyStore.load(java.io.FileInputStream, string) 的匹配方法/函数

标签 java xml coldfusion saml cfml

我正在尝试在 cfscript 内的 Coldfusion 中的 java.security.Keystore 对象上使用方法 load()。

这是我的代码(不是完整的代码,但足以查看元素的层次结构):

<cfoutput>

  <cfsavecontent variable="responseOpen">

    <?xml version="1.0" encoding="UTF-8"?>

    ...

  </cfsavecontent>


  <cfxml variable="samlAssertionXML">

    ...

  </cfxml>


  <cfsavecontent variable="responseClose">

    </samlp:Response>

  </cfsavecontent>

  <cfscript>

     // 1) Injest the XML

     ...

     // 5) Keystore

     ksfile = CreateObject("Java", "java.io.File").init("Users/carl/keystore_test");

     inputStream = CreateObject("Java", "java.io.FileInputStream").init(ksfile);

     KeyStoreClass = CreateObject("Java" , "java.security.KeyStore");

     ks = KeyStoreClass.getInstance("JKS");

     ks.load(inputStream,"1221");

     ...

  </cfscript>

    ...

</cfoutput>

我收到一条错误消息:

No matching Method/Function for java.security.KeyStore.load(java.io.FileInputStream, string) found

在线ks.load(inputStream,"1221");

我确保 inputStream 不为 null,并且 inputStream 是 java.security.Keystore 类型的对象。我还确保加载了 java.security.Keystore 库。证明这一点的是代码在该行之前不会中断。代码位于 .cfm 文件中。

记录 inputStream 和 ksfile,我得到了这个:

  • inputStream: keystore 的实际内容
  • ks文件:/Users/carl/keystore_test

问题可能是什么?

最佳答案

查看 java.security.KeyStore 的文档,看起来使用 InputStream 调用时的 load() 方法实际上需要一个字符数组 (char[]),而不是字符串。我猜这就是您看到“无匹配方法”错误的原因。您可以尝试将字符串转换为字符数组吗?例如:

password = "1221";
ks.load(inputStream, password.toCharArray());

关于java - 找不到 java.security.KeyStore.load(java.io.FileInputStream, string) 的匹配方法/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45639790/

相关文章:

php - xslt 1.0 base64 编码模板的内容

xml - 使用 XSLT : `position()` returning double the expected value 在标签值上添加索引

java - JAXB 解码返回属性的空值

coldfusion - 使用 REFind 查找字符串中的多次出现

java - 如何使用 Java 在 SAML 2.0 中的签名下添加 KeyInfo 和 X509Data

java - 将 SQL 开发人员与 EC2 中 Docker 容器上运行的 MYSQL 服务器连接起来

java - 防止浏览器在 gwt 中显示弹出窗口警告

sql - 选择 * 不返回所有列 - Coldfusion/SQL Server 2008

validation - IsValid()是否可以防御XSS?

java - CSV 内容被 Spark 读取为空