【问题标题】:Issue in using a self signed certificate in IBM MobileFirst android在 IBM MobileFirst android 中使用自签名证书的问题
【发布时间】:2016-06-03 08:22:05
【问题描述】:

我正在尝试从我的 android 应用程序连接到 https mobilefirst 服务器。使用自签名证书,但不确定它是否是自签名 CA 证书。

我使用了以下代码。 证书文件名:mycer.der 我已将此证书放在资产文件夹中。

现在我正在使用以下代码来验证证书。

WLClient client= new WLClient(getApplicationContext()); client.pinTrustedCertificatePublicKey("dev1mfp.mtb.der");

但我仍然收到以下错误

06-03 03:58:04.803 20647-20699/? W/System.err: javax.net.ssl.SSLPeerUnverifiedException: Cannot verify hostname: 00.00.00.00 06-03 03:58:04.803 20647-20699/? W/System.err: at android.net.SSLCertificateSocketFactory.verifyHostname(SSLCertificateSocketFactory.java:205) 06-03 03:58:04.803 20647-20699/? W/System.err: at android.net.SSLCertificateSocketFactory.createSocket(SSLCertificateSocketFactory.java:443) 06-03 03:58:04.803 20647-20699/? W/System.err: at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:394) 06-03 03:58:04.803 20647-20699/? W/System.err: at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:170) 06-03 03:58:04.803 20647-20699/? W/System.err: at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169) 06-03 03:58:04.803 20647-20699/? W/System.err: at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)

请建议我需要在我的代码中添加什么或者是证书的问题。

【问题讨论】:

    标签: android ibm-mobilefirst mobilefirst-server


    【解决方案1】:

    证书固定文档明确指出不支持自签名证书。您必须使用从证书颁发机构购买的证书:https://www.ibm.com/support/knowledgecenter/SSHSCD_7.1.0/com.ibm.worklight.dev.doc/monitor/c_cert_pinning_intro.html

    我建议在尝试实施证书固定之前,您应该联系您的 IT 部门以验证您的证书的来源。以免浪费您的时间。

    此外,您的证书可能没有使用正确的主机设置...您还需要检查它,它是使用正确的主机生成的。

    【讨论】:

    • 感谢伊丹的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 1970-01-01
    • 2018-11-16
    • 2020-02-17
    • 1970-01-01
    • 2020-09-20
    相关资源
    最近更新 更多