Files
certimate/pkg/core/certmgr/provider.go
T

55 lines
1.5 KiB
Go

package certmgr
import (
"context"
"log/slog"
)
// 表示定义 SSL 证书管理器的抽象类型接口。
// 云服务商通常会提供 SSL 证书管理服务,可供用户集中管理证书。
type Provider interface {
// 设置日志记录器。
//
// 入参:
// - logger:日志记录器实例。
SetLogger(logger *slog.Logger)
// 上传证书。
//
// 入参:
// - ctx:上下文。
// - certPEM:证书 PEM 内容。
// - privkeyPEM:私钥 PEM 内容。
//
// 出参:
// - res:上传结果。
// - err: 错误。
Upload(ctx context.Context, certPEM, privkeyPEM string) (_res *UploadResult, _err error)
// 更新证书。
//
// 入参:
// - ctx:上下文。
// - certIdOrName:证书 ID 或名称,即云服务商处的证书标识符。
// - certPEM:证书 PEM 内容。
// - privkeyPEM:私钥 PEM 内容。
//
// 出参:
// - res:操作结果。
// - err: 错误。
Replace(ctx context.Context, certIdOrName string, certPEM, privkeyPEM string) (_res *OperateResult, _err error)
}
// 表示 SSL 证书管理操作结果的数据结构。
type OperateResult struct {
ExtendedData map[string]any `json:"extendedData,omitempty"`
}
// 表示 SSL 证书管理上传结果的数据结构,包含上传后的证书 ID、名称和其他数据。
type UploadResult struct {
OperateResult
CertId string `json:"certId,omitempty"`
CertName string `json:"certName,omitempty"`
ExtendedData map[string]any `json:"extendedData,omitempty"`
}