2
我想在Grails中通過SSL驗證發佈一個URL。 我已經導入了證書,並且生成了jks文件。 但似乎Grails沒有找到那些jks文件。 下面是我執行的代碼(這是在一個Grails服務類):Grails中的SSL驗證錯誤
def certificate = "mycert.jks"
def http = new HTTPBuilder(url)
def keyStore = KeyStore.getInstance(KeyStore.defaultType)
getClass().getResource(certificate).withInputStream {
keyStore.load(it, "test1234".toCharArray())
}
http.client.connectionManager.schemeRegistry.register(new Scheme("https", new SSLSocketFactory(keyStore), 443))
的錯誤是 「不能調用的空對象方法withInputStream()」 所以 方法getResource()方法是不工作,並返回null。
我看到這個代碼在一個functionalTest類中工作正常。
任何人都知道我該如何解決這個問題?
謝謝!!!!!!!
我也試過用Thread.currentThread()。getContextClassLoader()。的getResource(證書),但我仍然有同樣的問題(返回null) – NachoAsking
這是在run-app中,還是在部署的戰爭或單元或集成測試中?另外 - 證書文件位於何處? –
在run-app中,證書位於與服務類別相同的文件夾中 – NachoAsking