func (h *HasCertificate) GetCertificateFilePath() string {
	if h.IsSetCert {
		return GetCertFilePath()
	}
	return ""
}
GetCertificateFilePath gets a certificate via handler
package tls
import (
	"io/ioutil"
	"sync/atomic"
	"github.com/lf-edge/edge-home-orchestration-go/internal/common/logmgr"
	"github.com/satori/go.uuid"
)
const (
	CertificateFileName = "edge-orchestration.crt"
	KeyFileName         = "edge-orchestration.key"
)
var (
	certFilePath atomic.Value
	handler      Handler
	log          = logmgr.GetInstance()
)
func init() {
	certFilePath.Store("")
	handler = defaultIdentifier{}
}
func SetCertFilePath(path string) {
	log.Println("SetCertFilePath: ", path)
	certFilePath.Store(path)
}
func GetCertFilePath() string {
	return certFilePath.Load().(string)
}
type Handler interface {
	GetIdentity() string
	GetKey(identity string) ([]byte, error)
}
type CertificateSetter interface {
	SetCertificateFilePath(path string)
}
type certificateGetter interface {
	GetCertificateFilePath() string
}
type HasCertificate struct {
	IsSetCert bool
}
func SetHandler(h Handler) {
	handler = h
}
func (h *HasCertificate) SetCertificateFilePath(path string) {
	SetCertFilePath(path)
	h.IsSetCert = true
}