Insync Authorization Failure on Fedora 44 — Support Summary
Environment
- OS: Fedora 44 (recently upgraded from Fedora 43)
- Hardware: Minisforum UM890 Pro (Ryzen 9 8945HS, x86_64)
- Desktop: GNOME on Wayland
- Insync version: 3.9.8.60034 (Fedora repo build, package
insync-3.9.8.60034-fc44.x86_64) - Insync Nautilus extension: 3.9.5.60024 (
insync-nautilus-3.9.5.60024-1.noarch, downloaded from insynchq.com — the F44 yum repo does not advertise this package) - System CA infrastructure:
ca-certificatespackage installed; consolidated bundle at/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem - Account type: Personal Google account, previously authorized to Insync for several years without incident on Fedora 43
Problem
Authorization fails immediately when attempting to add the Google account to Insync. Both the standard browser-redirect OAuth flow and the manual copy/paste authorization code method produce the same error inside the Insync GUI:
Unexpected error CurlError: (60, 'SSL certificate problem: unable to get local issuer certificate')
curl error 60 indicates libcurl could not verify the peer’s TLS certificate against any known certificate authority. This points to Insync’s bundled libcurl being unable to locate or load the system CA trust store.
Background — How This Started
Insync was working normally on Fedora 43 until a sync job got stuck on a phantom delete of a directory inside Google Drive:Projects/oscope/ that no longer existed on either side. After Fedora 43 → 44 upgrade the stuck state persisted. Decision was made to fully uninstall Insync (packages and all state directories under ~/.config/Insync/, ~/.local/share/Insync/, ~/.cache/Insync/), reboot, and reinstall.
After the clean reinstall on Fedora 44, the OAuth/authorization step fails with the curl error 60 above. The pre-uninstall Insync 3.9.8 install on Fedora 43 did not exhibit this error — authorization worked.
Diagnostics Performed
1. System trust store is functional
$ curl -sI https://accounts.google.com/ -o /dev/null -w "%{http_code}\n"
302
System-wide TLS validation works against Google’s OAuth endpoint. The system curl binary (which uses the system libcurl) successfully validates Google’s certificate. Trust failure is isolated to Insync’s bundled libcurl.
2. Fedora 44 CA layout
$ ls -la /etc/pki/tls/certs/ca-bundle.crt
ls: cannot access '/etc/pki/tls/certs/ca-bundle.crt': No such file or directory
$ ls -la /etc/ssl/certs/ca-certificates.crt
lrwxrwxrwx. 1 root root 49 Mar 31 19:00 /etc/ssl/certs/ca-certificates.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
$ ls /etc/ssl/certs/
ca-bundle.crt
ca-bundle.trust.crt
ca-certificates.crt
The historical Fedora canonical bundle path /etc/pki/tls/certs/ca-bundle.crt does not exist on Fedora 44. The consolidated bundle now lives at /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem. The directory /etc/ssl/certs/ contains only three bundle-format files — no individual hash-named certificate symlinks of the kind libcurl expects when configured with CURLOPT_CAPATH against a directory.
3. What Insync’s bundled libcurl looks for
$ find /usr/lib/insync -name 'libcurl*' -exec strings {} \; | grep -iE '(ca-bundle|/etc/(pki|ssl))'
/etc/ssl/certs/
Insync’s bundled libcurl has only one CA-related path string compiled in: /etc/ssl/certs/. It is calling CURLOPT_CAPATH against this directory and walking it looking for hash-named individual cert files (the OpenSSL c_rehash convention used by Debian/Ubuntu). On Fedora the directory is essentially empty, so libcurl finds no CA certs and rejects the TLS handshake with curl error 60.
The Insync top-level binary (/usr/lib/insync/insync) contains no CA path strings of its own. No bundled CA .pem file ships with Insync.
4. Symptom is reproducible across reboots
A clean reboot was performed. Authorization was retried immediately — same error.
Fixes Attempted
Attempt 1 — Create the historical Fedora bundle path as a symlink
sudo ln -s /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/certs/ca-bundle.crt
Result: No effect. Subsequent authorization attempt produced the same error.
This was based on the assumption that Insync’s libcurl might fall back to the Fedora canonical path if its primary lookup failed. The strings analysis (above, performed afterward) confirmed Insync’s libcurl does not look at this path at all — it only uses /etc/ssl/certs/.
Attempt 2 — Force-regenerate the system trust store
sudo update-ca-trust extract
(Note: sudo update-ca-trust force-enable was attempted first but returned Error: unknown command: 'force-enable' — that subcommand has been removed in Fedora 44’s update-ca-trust.)
Result: Trust store extracted. /etc/ssl/certs/ still contains only three bundle files, no individual hash-named cert symlinks. Subsequent authorization attempt produced the same error.
This appears to be Fedora 44’s default behavior: update-ca-trust extract produces consolidated bundle files only, not the rehashed individual-cert directory layout that Debian/Ubuntu produces and that Insync’s libcurl expects.
Attempt 3 — Override CA bundle path via libcurl environment variable
insync quit
CURL_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem insync start &
Result: Same error. Insync’s bundled libcurl ignores CURL_CA_BUNDLE.
Attempt 4 — Override CA via OpenSSL environment variables
insync quit
SSL_CERT_FILE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem \
SSL_CERT_DIR=/etc/ssl/certs \
insync start &
Result: Same error. Neither SSL_CERT_FILE nor SSL_CERT_DIR is honored by Insync’s bundled libcurl.
Current State
- Insync 3.9.8 is installed but not authorized.
- All previously-discussed fixes have failed.
- The next step under consideration was to manually split
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.peminto individual.pemfiles, place them in/etc/ssl/certs/, and runopenssl rehashto create the hash-named symlinks Insync’s libcurl requires. This is invasive (adds ~130 files to a system-managed directory), unsupported (would conflict with futureupdate-ca-trustruns), and amounts to a workaround for what appears to be an Insync bug or packaging gap on Fedora 44.
Questions for Insync Support
- Is there a known incompatibility between Insync 3.9.8 and Fedora 44’s CA trust layout?
- Does Insync’s bundled libcurl honor any CA-related environment variable, or is the lookup hardcoded entirely?
- Should the Fedora-targeted Insync RPM ship with a CA bundle of its own, or with a
Requires:on a Fedora package that produces the rehashed/etc/ssl/certs/layout (e.g.,ca-certificateswith aupdate-ca-trustpost-install hook)? - What is the supported fix on Fedora 44 systems where
/etc/ssl/certs/is bundle-only?
Reference — Files and Versions
| Item | Value |
|---|---|
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
exists, valid |
/etc/pki/tls/certs/ca-bundle.crt |
does not exist (created as symlink during attempt 1) |
/etc/ssl/certs/ca-bundle.crt |
exists, bundle file |
/etc/ssl/certs/ca-certificates.crt |
symlink → /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
/etc/ssl/certs/ hash-named symlinks |
none |
| Insync libcurl CA path strings | /etc/ssl/certs/ only |
Fedora ca-certificates package |
installed |
update-ca-trust force-enable |
not available on Fedora 44 |
System curl against Google |
succeeds (HTTP 302) |