相关疑难解决方法(0)

Android 4.x中的SSL客户端身份验证

我想创建一个连接到服务器的应用程序.此服务器使用SSL客户端身份验证 应用程序的用户应该能够选择证书并允许使用它,就像它在浏览器应用程序中实现一样.

在浏览器应用程序中,身份验证按预期工作,因此我使用的证书是有效的.

当我尝试在我的应用程序中连接时,我收到以下错误:

javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException:
SSL handshake terminated: ssl=0x2a2d3b38:
Failure in SSL library, usually a protocol error
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
(external/openssl/ssl/s3_pkt.c:1290 0x2a2df880:0x00000003)
Run Code Online (Sandbox Code Playgroud)

我试着按照我的实现的android文档.

这是我的示例活动的代码:

public class ClientCertificateActivity extends Activity implements
    KeyChainAliasCallback {

protected static final String TAG = "CERT_TEST";
private String alias;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    choseCertificate();
    LinearLayout layout = new LinearLayout(this);
    Button connectToServer = new Button(this);
    connectToServer.setText("Try to connect to Server");
    connectToServer.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    connectToServer.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View …
Run Code Online (Sandbox Code Playgroud)

authentication https android ssl-certificate httpsurlconnection

7
推荐指数
1
解决办法
6184
查看次数