title: IOS Mobile device management failed to install profile
body: <p>I'm trying to setup a MDM Check-in connection from my device to server. In my .mobileconfig I already put in the identity which is from the credential, I generate it from keychain access and using the .p12 file. For Server &amp; Check-in URL - <a href="https://address.To.Server:9769/mdm/" rel="nofollow">https://address.To.Server:9769/mdm/</a></p>
  
  <p>I'm hosting my server in tomcat with SSL enabled which i generate the JKS using keytools, - "keytool -importkeystore -srckeystore client-cert.p12 -srcstoretype PKCS12 -destkeystore keystore.jks"</p>
  
  <p>*<strong>client-cert.p12 is same with the .p12 file i put in mobileconfig's identity.</strong></p>
  
  <p>If i'm not mistaken, all the request from IOS to server are using HTTP PUT method. I already tried access my server directly from chrome browser and got no problem with it. I believe it is the certificate problem, but i got no clue what happening.</p>
  
  <p>I got all these error when i tried to install the profile from safari.</p>
  
  <pre><code>&gt;Notice: (Error) MC: Connection to &lt;server&gt; failed with error: NSError:
  Desc   : The server certificate for &lt;server&gt; is invalid.
  US Desc: The server certificate for &lt;server&gt; is invalid.
  Domain : MCHTTPTransactionErrorDomain
  Code   : 23002
  Type   : MCFatalError
  Params : (
  "&lt;server&gt;"
  )
  
  &gt;Notice: (Error) MC: Cannot install MDM Mobile Device Management. Error: NSError:
  Desc   : The payload Mobile Device Management could not be installed.
  Sugg   : The server certificate for &lt;server&gt; is invalid.
  US Desc: The payload Mobile Device Management could not be installed.
  US Sugg: The server certificate for &lt;server&gt; is invalid.
  Domain : MCInstallationErrorDomain
  Code   : 4001
  Type   : MCFatalError
  Params : (
  "Mobile Device Management"
  )
  
  &gt;Desc   : The profile SilverlakeMDM could not be installed.
  Sugg   : The payload Mobile Device Management could not be installed.
  US Desc: The profile SilverlakeMDM could not be installed.
  US Sugg: The payload Mobile Device Management could notbe installed.
  Domain : MCProfileErrorDomain
  Code   : 1009
  Type   : MCFatalError
  Params : (
  SilverlakeMDM
  )
  </code></pre>
  
  <p>Below are from my server console:</p>
  
  <pre><code>&gt;httpsConnector.receiver.02 ERROR DefaultSystemExceptionStrategy:300 logException - Caught exception in Exception Strategy: Received close_notify during handshake
  javax.net.ssl.SSLException: Received close_notify during handshake
          at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
          at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1868)
          at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1821)
          at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1922)
          at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1059)
          at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294)
          at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848)
          at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
          at sun.security.ssl.AppInputStream.read(AppInputStream.java:69)
          at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
          at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
          at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:219)
          at org.mule.transport.http.HttpServerConnection.readRequest(HttpServerConnection.java:185)
          at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:155)
          at org.mule.work.WorkerContext.run(WorkerContext.java:311)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
          at java.lang.Thread.run(Thread.java:722)
  </code></pre>