Offer a less confusing warning about Firefox on Windows

This commit is contained in:
Filippo Valsorda
2018-08-12 21:44:02 -04:00
parent 5fc72d92bc
commit e5f9c16f8c
3 changed files with 6 additions and 4 deletions

View File

@@ -101,7 +101,7 @@ func (m *mkcert) Run(args []string) {
warning = true warning = true
log.Println("Warning: the local CA is not installed in the system trust store! ⚠️") log.Println("Warning: the local CA is not installed in the system trust store! ⚠️")
} }
if hasNSS && !m.checkNSS() { if hasNSS && CertutilInstallHelp != "" && !m.checkNSS() {
warning = true warning = true
log.Printf("Warning: the local CA is not installed in the %s trust store! ⚠️", NSSBrowsers) log.Printf("Warning: the local CA is not installed in the %s trust store! ⚠️", NSSBrowsers)
} }
@@ -176,6 +176,8 @@ func (m *mkcert) install() {
if hasNSS && !m.checkNSS() { if hasNSS && !m.checkNSS() {
if hasCertutil && m.installNSS() { if hasCertutil && m.installNSS() {
log.Printf("The local CA is now installed in the %s trust store (requires browser restart)! 🦊", NSSBrowsers) log.Printf("The local CA is now installed in the %s trust store (requires browser restart)! 🦊", NSSBrowsers)
} else if CertutilInstallHelp == "" {
log.Printf(`Note: %s support is not available on your platform. `, NSSBrowsers)
} else if !hasCertutil { } else if !hasCertutil {
log.Printf(`Warning: "certutil" is not available, so the CA can't be automatically installed in %s! ⚠️`, NSSBrowsers) log.Printf(`Warning: "certutil" is not available, so the CA can't be automatically installed in %s! ⚠️`, NSSBrowsers)
log.Printf(`Install "certutil" with "%s" and re-run "mkcert -install" 👈`, CertutilInstallHelp) log.Printf(`Install "certutil" with "%s" and re-run "mkcert -install" 👈`, CertutilInstallHelp)
@@ -200,7 +202,7 @@ func (m *mkcert) uninstall() {
if hasNSS { if hasNSS {
if hasCertutil { if hasCertutil {
m.uninstallNSS() m.uninstallNSS()
} else { } else if CertutilInstallHelp != "" {
log.Print("") log.Print("")
log.Printf(`Warning: "certutil" is not available, so the CA can't be automatically uninstalled from %s (if it was ever installed)! ⚠️`, NSSBrowsers) log.Printf(`Warning: "certutil" is not available, so the CA can't be automatically uninstalled from %s (if it was ever installed)! ⚠️`, NSSBrowsers)
log.Printf(`You can install "certutil" with "%s" and re-run "mkcert -uninstall" 👈`, CertutilInstallHelp) log.Printf(`You can install "certutil" with "%s" and re-run "mkcert -uninstall" 👈`, CertutilInstallHelp)

View File

@@ -20,6 +20,7 @@ func init() {
for _, path := range []string{ for _, path := range []string{
"/usr/bin/firefox", nssDB, "/Applications/Firefox.app", "/usr/bin/firefox", nssDB, "/Applications/Firefox.app",
"/Applications/Firefox Developer Edition.app", "/Applications/Firefox Developer Edition.app",
"C:\\Program Files\\Mozilla Firefox",
} { } {
_, err := os.Stat(path) _, err := os.Stat(path)
hasNSS = hasNSS || err == nil hasNSS = hasNSS || err == nil

View File

@@ -13,9 +13,8 @@ import (
) )
var ( var (
FirefoxPath = "C:\\Program Files\\Mozilla Firefox"
FirefoxProfile = os.Getenv("USERPROFILE") + "\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles" FirefoxProfile = os.Getenv("USERPROFILE") + "\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles"
CertutilInstallHelp = "<certutil unsupported on Windows>" CertutilInstallHelp = "" // certutil unsupported on Windows
NSSBrowsers = "Firefox" NSSBrowsers = "Firefox"
) )