CalDAV Clients/Calendar Sync for Android

From Davical
< CalDAV Clients
Revision as of 03:02, 24 March 2010 by Mir (talk) (Problems)
Jump to navigationJump to search

From March 2010 a CalDAV solution for Android has appeared in the Android App store. Find it on a search for 'caldav'. The company has a page at is http://www.hypermatix.com/products/calendar_sync_for_android with some more information.

Operation

Calendar Sync for Android will synchronise the calendar on your phone with a remote CalDAV server, including a DAViCal server.

Configuration

This is a calendar synchronisation program, and as such it needs to be given a calendar URL, which in DAViCal's case will be something of the form:

http://davical.myserver.com/caldav.php/username/calendar/

Where 'calendar' is generally 'home', by default, on DAViCal.

Using Self-signed SSL Certificates

If you use a self-signed SSL certificate on the Android the process of making it work is somewhat convoluted...

According to Brendan Whelan from Hypermatix, the following steps are needed:

  1. First, you need to create a keystore containing the cert of your Certification Authority (albeit your own server).
    • Bob Lee has an excellent blog post on how to do this. Just follow his steps one and two from http://crazybob.org/20120/02/android-trusting-ssl-certificates.html
    • Essentially this involves getting old of the root certificate. I use the CACert.org root authority myself, and their root is downloadable from their website, but you need to follow part of the above process to convert it to a .bks file.
  2. Rename your file to "CA.bks".
  3. Create a new directory on your phone's SD card at /CalDAVSync/CA/ and drop the CA.bks in there.
  4. Then in CalendarSync, Advanced connection settings, check to enable using the keystore and enter the password you chose for the keystore.

Do a sync and it should work!

One caveat though: the app can't read the keystore while your phone is connected to a PC and in USB hard drive mode, so you'll need disable USB drive mode before sync will work without error.

Problems

  • It seems to synchronise my calendar into the local calendar app, just fine, but I don't see it synchronising changes I enter into the Android calendar back into DAViCal.
  • After each synchronisation attempt it reports "Last Synchronized: Never" and "Synchronisation status: java.lang.nullPointException" - maybe this is related to the above!

It works for me when using http. I have not tried https yet because of problems with instructing the device to use the newly created keystore. I will try your instructions and return with my result. Using the above instructions I am able to sync over https as well.