如何解决在Scala中使用两个不同的自定义KeyStore
我正在用具有2个接口的Scala语言开发应用程序。对于第一个应用程序,behavies作为服务器,对于第二个应用程序behavies作为客户端。我希望双方都使用HTTPS安全连接(相互身份验证)。现在,我尝试将密钥库拆分为一个实例包含第一个接口的证书,另一个实例包含第二个接口的证书。因此,我实例化了KeyStore的2个变量,传递了不同的证书,然后初始化了2个不同的KeyManagerFactory。最后,我初始化2个不同的SSLContext以便在HTTPS连接中使用它们。启用ssl:握手调试我可以看到:
*** ServerHelloDone
Warning: no suitable certificate found - continuing without client authentication
*** Certificate chain
<Empty>
***
似乎我的应用程序无法满足服务器的CertificateRequest(此调试与客户端有关),而服务器端的连接运行良好。 所以,我的问题是:我可以使用两个不同的密钥库(和KeyManagerFactory)还是Java不支持呢?我该怎么做?
更新
我刚刚读到我只能在X509ExtendedKeyManager中使用一个KeyStore(我以前的解决方案是一个带有两个证书的KeyStore),并使用方法choiceClientAlias()选择要使用的证书。谁知道我该怎么做?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。