Browse Source

Support SLES & OpenSUSE (#162)

* Add support for SLES & OpenSUSE

* Update README.md with support for SLES & OpenSUSE

* Fix CertutilInstallHelp
Ricardo Branco 5 years ago
parent
commit
b90c9c60cb
2 changed files with 7 additions and 2 deletions
  1. 3 1
      README.md
  2. 4 1
      truststore_linux.go

+ 3 - 1
README.md

@@ -59,6 +59,8 @@ sudo apt install libnss3-tools
 sudo yum install nss-tools
     -or-
 sudo pacman -S nss
+    -or-
+sudo zypper install mozilla-nss-tools
 ```
 
 Then you can install using [Linuxbrew](http://linuxbrew.sh/)
@@ -111,7 +113,7 @@ mkcert supports the following root stores:
 * Windows system store
 * Linux variants that provide either
     * `update-ca-trust` (Fedora, RHEL, CentOS) or
-    * `update-ca-certificates` (Ubuntu, Debian) or
+    * `update-ca-certificates` (Ubuntu, Debian, OpenSUSE, SLES) or
     * `trust` (Arch)
 * Firefox (macOS and Linux only)
 * Chrome and Chromium

+ 4 - 1
truststore_linux.go

@@ -17,7 +17,7 @@ import (
 
 var (
 	FirefoxProfile      = os.Getenv("HOME") + "/.mozilla/firefox/*"
-	CertutilInstallHelp = `apt install libnss3-tools" or "yum install nss-tools`
+	CertutilInstallHelp = `apt install libnss3-tools" or "yum install nss-tools" or "zypper install mozilla-nss-tools`
 	NSSBrowsers         = "Firefox and/or Chrome/Chromium"
 
 	SystemTrustFilename string
@@ -34,6 +34,9 @@ func init() {
 	} else if pathExists("/etc/ca-certificates/trust-source/anchors/") {
 		SystemTrustFilename = "/etc/ca-certificates/trust-source/anchors/%s.crt"
 		SystemTrustCommand = []string{"trust", "extract-compat"}
+	} else if pathExists("/usr/share/pki/trust/anchors") {
+		SystemTrustFilename = "/usr/share/pki/trust/anchors/%s.pem"
+		SystemTrustCommand = []string{"update-ca-certificates"}
 	}
 	if SystemTrustCommand != nil {
 		_, err := exec.LookPath(SystemTrustCommand[0])