在android studio代码中,根据创建bks(emmtruststore.bks)文件并将其粘贴到原始文件夹中的文档,我们使用密钥和信任

设备注册过程中出现以下错误

Android Studio的错误日志

03-30 11:36:11.930 2200-2817 / org.wso2.emm.agent I / System.out:URL:https://192.168.4.216:9443/dynamic-client-web/register

03-30 11:36:12.135 2200-2817/org.wso2.emm.agent E/ServerUtilities: Error occurred while sending 'Post' request due to failure of server connection
03-30 11:36:12.135 2200-2817/org.wso2.emm.agent E/DynamicClientManager: Failed to contact server
    org.wso2.emm.agent.proxy.IDPTokenManagerException: Error occurred while sending 'Post' request due to failure of server connection
        at org.wso2.emm.agent.proxy.utils.ServerUtilities.sendPostRequest(ServerUtilities.java:325)
        at org.wso2.emm.agent.proxy.utils.ServerUtilities.postData(ServerUtilities.java:151)
        at org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:144)
        at org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:132)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)
     Caused by: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
        at com.android.org.conscrypt.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:146)
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93)
        at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:165)
        at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
        at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:670)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
        at org.wso2.emm.agent.proxy.utils.ServerUtilities.sendPostRequest(ServerUtilities.java:307)
        at org.wso2.emm.agent.proxy.utils.ServerUtilities.postData(ServerUtilities.java:151)
        at org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:144)
        at org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:132)
        at android.os.AsyncTask$2.call(AsyncTask.java:288)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
        at java.lang.Thread.run(Thread.java:841)
03-30 11:36:12.135 2200-2200/org.wso2.emm.agent E/AuthenticationActivity: error occurred while retrieving client credentials

最佳答案

由于您是通过HTTPS访问API,因此您的客户端必须拥有自己的信任库。为此,您可以将EMM的密钥库用作您的信任库。否则,您可以创建自己的信任库。

System.setProperty("javax.net.ssl.trustStore", "$EMM_HOME/repository/resources/security/wso2carbon.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");

08-28 21:50