Can I sync my KOrganizer and iCloud calendars?

Here is how I did this, thanks to the advice from @Khurshid_Alam:

  1. Download an iCloud CloudDav discovery program called icloud from its GitHub page.
  2. Extract icloud-master/groovy_java/gui-2.0.1.zip. (Be sure to read the README as apparently there are legal issues...)
  3. Run icloud-master/groovy_java/gui-2.0.1/bin/gui.
  4. Type in Apple ID Credentials and select a server. Any server will work. Click "Get calendar URLs".
  5. Click the URL on the far right next to the name of the main Calendar, Ctrl+C to copy it.
  6. In KOrganizer, right click your calendar folder display (by default it is on the bottom left) and select Add Calendar.
  7. Click "DAV Groupware Resource". Enter in your Apple ID credentials, select the "Configure the resource manually".
  8. Allow access to the wallet, if the window comes up, and if applicable.
  9. A new window will come up with "Server configuration" at the bottom. Click "Add" to the right of it, paste the copied URL into the "Remote URL" box, and click "Fetch". When you click "OK", the calendar will be added and automatic uploading and downloading of calendar data will be possible.
  10. Have fun!

Right now I can verify that KOrganizer is not sending authorization headers:

See this post on Sync with icloud Caldav

There is a bug open for this, but no action in 6 months:

https://bugs.kde.org/show_bug.cgi?id=434757