I believe, HTTPS redirection needs be disabled by default to be able to make sure "unzip and run" use-cases work smoothly. For instance, say some user who intends to evaluate the product downloads it and tries to get a simple device management flow running end-to-end. Enforcing an additional step to set up certs at the server-end matching an applicable CN, and then getting those installed into the devices would not quite make things easy, particularly to such evaluation users, which makes it a valid case to have HTTPs disabled by default IMO.
On the other hand, should someone put things in production, then they'd have to enable HTTPS as part of the recommended deployment practices. We, however, need to carefully look at this particular aspect as well, as it might make things tedious for someone to go and manually enable this for all plugin-based JAX-RS services one by one. Have we tried any mechanism to probably do this in one-go at tomcat level (since it's hard to foresee anyone wanting to access part of the services over HTTPS while the rest exposed over HTTP)? Cheers, Prabath On Monday, October 12, 2015, Milan Perera <mi...@wso2.com> wrote: > Hi Dileesha, > > The reason to fail Android enrollment at that stage because of the https > redirection that is enabled in the *mdm-android-agent *jax-rs. > Ex: *web.xml* > > <security-constraint> > <web-resource-collection> > <web-resource-name>MDM-Android</web-resource-name> > <url-pattern>/*</url-pattern> > </web-resource-collection> > <user-data-constraint> > <transport-guarantee>CONFIDENTIAL</transport-guarantee> > </user-data-constraint> > </security-constraint> > > So in order to call the APIs of this service, Android agent has to be > configured for SSL by adding a BKS file (*emm_truststore.bks*) to the > *res/raw/* folder of the *IDPProxy* > module of the agent. > > Regards, > > On Mon, Oct 12, 2015 at 7:40 PM, Sachith Punchihewa <sachi...@wso2.com> > wrote: > >> Hi Dileesha, >> >> The issue might be in the server.This happens when the server not >> returning the full certificate chain.Try changing that. >> For more information refer [1] and [2]. >> >> [1]. http://superuser.com/questions/347588/how-do-ssl-chains-work >> [2]. >> http://stackoverflow.com/questions/13862908/ssl-certificate-is-not-trusted-on-mobile-only >> >> Thanks & Regards. >> >> Kamidu Sachith Punchihewa >> *Software Engineer* >> WSO2, Inc. >> lean . enterprise . middleware >> Mobile : +94 (0) 770566749 <%2B94%20%280%29%20773%20451194> >> >> >> Disclaimer: This communication may contain privileged or other >> confidential information and is intended exclusively for the addressee/s. >> If you are not the intended recipient/s, or believe that you may have >> received this communication in error, please reply to the sender indicating >> that fact and delete the copy you received and in addition, you should not >> print, copy, retransmit, disseminate, or otherwise use the information >> contained in this communication. Internet communications cannot be >> guaranteed to be timely, secure, error or virus-free. The sender does not >> accept liability for any errors or omissions. >> >> On Mon, Oct 12, 2015 at 5:56 PM, Dileesha Rajapakse <dilee...@wso2.com> >> wrote: >> >>> Hi, >>> >>> The Android Enrollment fails and produces the error below. >>> >>> 10-12 17:42:06.494 7068-10049/org.wso2.emm.agent E/ServerUtilities﹕ >>> Error occurred while sending 'Post' request due to failure of server >>> connection >>> 10-12 17:42:06.504 7068-10049/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:252) >>> at >>> org.wso2.emm.agent.proxy.utils.ServerUtilities.postData(ServerUtilities.java:142) >>> at >>> org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:137) >>> at >>> org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:125) >>> 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:818) >>> *Caused by: javax.net.ssl.SSLPeerUnverifiedException: No peer >>> certificate* >>> at >>> com.android.org.conscrypt.SSLNullSession.getPeerCertificates(SSLNullSession.java:104) >>> 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:214) >>> at >>> org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:167) >>> at >>> org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125) >>> at >>> org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1292) >>> at >>> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:700) >>> at >>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:691) >>> at >>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:514) >>> at >>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492) >>> at >>> org.wso2.emm.agent.proxy.utils.ServerUtilities.sendPostRequest(ServerUtilities.java:235) >>> at >>> org.wso2.emm.agent.proxy.utils.ServerUtilities.postData(ServerUtilities.java:142) >>> at >>> org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:137) >>> at >>> org.wso2.emm.agent.services.DynamicClientManager$SendRequest.doInBackground(DynamicClientManager.java:125) >>> 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:818) >>> >>> One of the causes could be a conflict in resolving "http" and "https" at >>> the back-end. >>> >>> Thank You >>> -- >>> Dileesha Rajapakse >>> *Intern - Engineering* >>> Mobile : +94 (0) 772 555 933 >>> Tel : +94 112 741 505 >>> dilee...@wso2.com >>> >> >> > > > -- > *Milan Harindu Perera *| Software Engineer > WSO2, Inc | lean. enterprise. middleware. > #20, Palm Grove, Colombo 03, Sri Lanka > Mobile: +94 77 309 7088 | Work: +94 11 214 5345 > Email: mi...@wso2.com | Web: www.wso2.com > <http://lk.linkedin.com/in/milanharinduperera> >
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev