微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Fuel Kotlin库时,如何配置信任库的路径?

如何解决使用Fuel Kotlin库时,如何配置信任库的路径?

背景

我正在使用kotlin Fuel库(https://github.com/kittinunf/fuel

我需要致电支持SSL的网站。 我不需要提供客户证书。 我只需要验证服务器的SSL证书。 我已使用以下命令将服务器的证书导入密钥库:

keytool -trustcacerts -keystore mykeystore.jks -storepass changeit -importcert -file "server.crt"

要求

我想在配置中指定mykeystore.jks的位置,并通过代码将信任库加载到FuelManager中。 我该怎么办?

我尝试了什么?

我成功使用此解决方案绕过了证书验证:

kotlin library that can do httpS connection without certificate verification (like curl --insecure)

这有效。

然后,我尝试构建自己的密钥库,从文件中加载它,并将其提供给FuelManager。

这行不通。

这是我使用的代码

private fun createFuelManager(): FuelManager {
   return FuelManager().apply {
     val ks: KeyStore = KeyStore.getInstance("JKS")
     ks.load(FileInputStream(<path to truststore.jks>),"changeit".tochararray())

     // sets the keystore field of the new FuelManager

     keystore = ks 
  }
}

在我的代码中,我调用createFuelManager()并使用它执行我的请求。 我收到以下错误

pkix path building Failed unable to find valid certification path to requested target

注意

在我的尝试中,我验证了密钥存储区已成功在上面提供的代码中加载。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。