fix: wildcard certificates names on Windows.
This commit is contained in:
parent
ac45aaac27
commit
1001ead866
@ -23,7 +23,7 @@ type FileInfo struct {
|
|||||||
// Dump Dumps data to certificates.
|
// Dump Dumps data to certificates.
|
||||||
func Dump(data *StoredData, baseConfig *BaseConfig) error {
|
func Dump(data *StoredData, baseConfig *BaseConfig) error {
|
||||||
if baseConfig.Clean {
|
if baseConfig.Clean {
|
||||||
err := clean(baseConfig.DumpPath)
|
err := cleanDir(baseConfig.DumpPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -61,10 +61,10 @@ func Dump(data *StoredData, baseConfig *BaseConfig) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func writeCert(dumpPath string, cert *Certificate, info FileInfo, domainSubDir bool) error {
|
func writeCert(dumpPath string, cert *Certificate, info FileInfo, domainSubDir bool) error {
|
||||||
certPath := filepath.Join(dumpPath, certsSubDir, cert.Domain.Main+info.Ext)
|
certPath := filepath.Join(dumpPath, certsSubDir, safeName(cert.Domain.Main+info.Ext))
|
||||||
if domainSubDir {
|
if domainSubDir {
|
||||||
certPath = filepath.Join(dumpPath, cert.Domain.Main, info.Name+info.Ext)
|
certPath = filepath.Join(dumpPath, safeName(cert.Domain.Main), info.Name+info.Ext)
|
||||||
if err := os.MkdirAll(filepath.Join(dumpPath, cert.Domain.Main), 0755); err != nil {
|
if err := os.MkdirAll(filepath.Join(dumpPath, safeName(cert.Domain.Main)), 0755); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -73,10 +73,10 @@ func writeCert(dumpPath string, cert *Certificate, info FileInfo, domainSubDir b
|
|||||||
}
|
}
|
||||||
|
|
||||||
func writeKey(dumpPath string, cert *Certificate, info FileInfo, domainSubDir bool) error {
|
func writeKey(dumpPath string, cert *Certificate, info FileInfo, domainSubDir bool) error {
|
||||||
keyPath := filepath.Join(dumpPath, keysSubDir, cert.Domain.Main+info.Ext)
|
keyPath := filepath.Join(dumpPath, keysSubDir, safeName(cert.Domain.Main+info.Ext))
|
||||||
if domainSubDir {
|
if domainSubDir {
|
||||||
keyPath = filepath.Join(dumpPath, cert.Domain.Main, info.Name+info.Ext)
|
keyPath = filepath.Join(dumpPath, safeName(cert.Domain.Main), info.Name+info.Ext)
|
||||||
if err := os.MkdirAll(filepath.Join(dumpPath, cert.Domain.Main), 0755); err != nil {
|
if err := os.MkdirAll(filepath.Join(dumpPath, safeName(cert.Domain.Main)), 0755); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -104,7 +104,7 @@ func extractPEMPrivateKey(account *Account) []byte {
|
|||||||
return pem.EncodeToMemory(block)
|
return pem.EncodeToMemory(block)
|
||||||
}
|
}
|
||||||
|
|
||||||
func clean(dumpPath string) error {
|
func cleanDir(dumpPath string) error {
|
||||||
_, errExists := os.Stat(dumpPath)
|
_, errExists := os.Stat(dumpPath)
|
||||||
if os.IsNotExist(errExists) {
|
if os.IsNotExist(errExists) {
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
7
dumper/filename.go
Normal file
7
dumper/filename.go
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// +build !windows
|
||||||
|
|
||||||
|
package dumper
|
||||||
|
|
||||||
|
func safeName(filename string) string {
|
||||||
|
return filename
|
||||||
|
}
|
||||||
9
dumper/filename_windows.go
Normal file
9
dumper/filename_windows.go
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// +build windows
|
||||||
|
|
||||||
|
package dumper
|
||||||
|
|
||||||
|
import "strings"
|
||||||
|
|
||||||
|
func safeName(filename string) string {
|
||||||
|
return strings.ReplaceAll(filename, "*", "_")
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user