我想在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