emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: need help with certificate bundles for ALL the platforms Emacs suppo


From: Stefan Monnier
Subject: Re: need help with certificate bundles for ALL the platforms Emacs supports
Date: Sun, 12 Feb 2012 22:28:24 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

> +(defcustom gnutls-trustfiles '(
> +                               ;; Debian, Ubuntu, Gentoo and Arch Linux
> +                               "/etc/ssl/certs/ca-certificates.crt"
> +                               ;; Fedora and RHEL
> +                               "/etc/pki/tls/certs/ca-bundle.crt"
> +                               ;; Suse
> +                               "/etc/ssl/ca-bundle.pem"
> +                               )
> +  "List of functions or filenames yielding CA bundle locations.
> +The files may be in PEM or DER format, as per the GnuTLS documentation.
> +The files may not exist, in which case they will be ignored.
> +Functions will be called and may return a filename or a list of filenames."
> +  :group 'gnutls
> +  :type '(repeat (choice (function :tag "Function")
> +                         (file :tag "Bundle filename"))))

How 'bout something like

   (defcustom gnutls-trustfile
       (let ((file (if (boundp 'cert-bundle-location)
                       cert-bundle-location))
             (candidates 
              '("/etc/ssl/certs/ca-certificates.crt" ; Debian, Gentoo, Arch.
                "/etc/pki/tls/certs/ca-bundle.crt"   ; Fedora and RHEL.
                "/etc/ssl/ca-bundle.pem"             ; Suse.
                )))
         (while candidates
           (if (file-readable-p (car candidates))
               (setq file (car candidate) candidates nil)
             (setq candidates (cdr candidates))))
         file)
     "Name of the CA bundle file.
   The file may be in PEM or DER format, as per the GnuTLS documentation."
     :group 'gnutls
     :type '(choice (const nil) (file :tag "Bundle filename")))


-- Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]