diff --git a/internal/clis/hmpki/file_utils.go b/internal/clis/hmpki/file_utils.go new file mode 100644 index 0000000..3a9641e --- /dev/null +++ b/internal/clis/hmpki/file_utils.go @@ -0,0 +1,24 @@ +package hmpki + +import ( + "os" +) + +// CreateFileWith Creates a new file (fails it if already exists) with the +// given content and permissions. +func createFileWith(name string, content []byte, perms os.FileMode) error { + f, err := os.OpenFile( + name, + // Write only, and fail if it alreay exists. + os.O_WRONLY|os.O_CREATE|os.O_EXCL, + perms, + ) + if err != nil { + return err + } + defer f.Close() + if _, err = f.Write(content); err != nil { + return err + } + return nil +}