我正在使用Apache为我的web应用程序构建一个FTPS插件。用户可以使用我的应用程序并连接到他/她的FTPS服务器,并将文件拖到我的应用程序中,这会对这些文件做一些功能。如果用户使用的是自签名证书,我看到的是Java引起的问题,这些问题可以用几种方式解决,就像@dave_thompson_085回答的那样。我不能更改JRE trustStore,因为我的应用程序托管在我无法访问的服务器上。最后一个选项--“编写您自己的信任库。创建一个java.security.KeyStore并使用包含您的证书的数据加载它,然后创建一个真正的javax.net.ssl.TrustManager并与您的密钥存储库一起.init;然后在您的SSLContext中使用该TrustManager。”我不太明白这意味着什么。这是否再次涉及更改密钥存储库,并要求JRE获取这些更改?此外,库中是否存在添加证书文件的显式方法?首先,我应该在哪里添加用于Java的证书文件或要验证的库。
发布于 2015-11-11 20:21:02
要直接回答你的问题,不要直接通过命令行或keytool之类的方式编辑仙人掌文件。此方法指的是创建KeyStore或JKS的对象实例,因此JRE不会在代码中进行任何更改,然后使用您创建的通过SSL连接的密钥存储库中的信任管理器。松散地说,您正在以编程的方式重写默认的keystore文件,即cacerts文件,以避免彻底更改平面文件。
有一些显式方法可以将文件添加到密钥存储区。
将证书添加到KeyStore实例。
你可能想去看看邦西卡塞尔的图书馆。这对你想要做的事来说真的很棒。也许有点过火,但真的很棒。
https://stackoverflow.com/questions/33658303
复制相似问题