Java Android和Tomcat的相互认证

Java Android和Tomcat的相互认证,java,android,tomcat,ssl,Java,Android,Tomcat,Ssl,我想为我的应用程序和服务器进行相互身份验证。 我遵循以下步骤: 1创建证书。以及服务器tomcat tomcat.keystore的密钥库 2创建证书。为客户 3导入客户端证书。进入服务器密钥库 4为Android smartssl.bks创建bks密钥库 5进口证书。服务器和客户端进入密钥库Android 现在,我将Tomcat配置为: <Connector SSLEnabled="true" clientAuth="true" keystoreFile="/ho

我想为我的应用程序和服务器进行相互身份验证。 我遵循以下步骤:

1创建证书。以及服务器tomcat tomcat.keystore的密钥库

2创建证书。为客户

3导入客户端证书。进入服务器密钥库

4为Android smartssl.bks创建bks密钥库

5进口证书。服务器和客户端进入密钥库Android

现在,我将Tomcat配置为:

<Connector SSLEnabled="true" clientAuth="true"
            keystoreFile="/home/antonio/Documenti/keystore/tomcat.keystore"
            keystorePass="pass" maxThreads="150" port="8443" scheme="https"
            secure="true" sslProtocol="TLS"
            truststoreFile="/home/antonio/Documenti/keystore/tomcat.keystore"
            truststorePass="pass" />
如果我尝试使用以下命令更改Tomcat配置:

clientAuth="false"

有效,那么问题在bks文件中?或者在哪里?

我在应用程序中放入密钥库和BKS中的信任库来解决问题

以下是创建自我证书的指南:

这里有一个截击交互身份验证的类示例:


嗨@antonio,我试过上面的教程,但没有成功。你能给我提供一个android项目的例子吗。我的android应用程序引发以下异常:java.security.GeneralSecurityException:读取密钥库时出现问题stream@IB可能你的密钥库是BKS2。。尝试使用keyexplorer创建密钥库并选择bks
no peer certificate 
clientAuth="false"