我想在ColdFusion里面的cfscript中的java.security.Keystore对象上使用方法load() 。没有找到匹配的方法/函数用于java.security.KeyStore.load(java.io.FileInputStream,字符串)找到
这里是我的代码(不是全部的代码,但足以看出元素的层次):
<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>
我收到一个错误,指出:
就行 ks.load(的inputStream没有匹配的方法/函数对于 java.security.KeyStore.load(java.io.FileInputStream中,字符串)发现
” 1221" );。
我确保inputStream不为null,并且inputStream是java.security.Keystore类型的对象。我还确保加载了库java.security.Keystore。这样的证明是代码在该行之前不会中断。该代码位于.cfm文件中。
记录InputStream和ksfile,我得到这个:
- 的inputStream:密钥库的实际内容
- ksfile:/用户/卡尔/ keystore_test
还有什么问题可能是?
转储您的ksfile和inputStream对象以查找线索。 –
我已经做了,他们看起来很好。我在问题中添加了详细信息。 – Carl