Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComputeCertificateFingerprint ¶
func ComputeCertificateFingerprint(cert *x509.Certificate) dxo.Fingerprint
ComputeCertificateFingerprint ... 计算证书指纹
func ComputePublicKeyFingerprint ¶
func ComputePublicKeyFingerprint(pk crypto.PublicKey) dxo.Fingerprint
ComputePublicKeyFingerprint ... 计算公钥指纹
Types ¶
type CertificateContext ¶
type CertificateContext struct {
Parent *DomainContext
CertFile afs.Path
Cert *x509.Certificate
Chain []*x509.Certificate
CertSigner crypto.Signer
}
CertificateContext ...
type ContainerContext ¶
type ContainerContext struct {
Parent *GitContext
// files
MainConfigFile afs.Path // at '.git/../acme.config'
Config *vo.ContainerConfig
// domains
DomainList []*DomainListItem
Domains map[string]*DomainListItem
// session
UserName string
UserEmail string
UserSigner crypto.Signer
// services
KeyManager KeyManager
// time
Now time.Time
SessionTime time.Time
SessionInterval time.Duration
}
ContainerContext 包含关于一个证书仓库的上下文信息
type DomainContext ¶
type DomainContext struct {
Parent *ContainerContext
DomainDirectory afs.Path
DomainConfigFile afs.Path // 'domain.config'
CurrentFile afs.Path
LatestFile afs.Path
Config *vo.DomainConfig
DomainName dto.DomainName
DomainSigner crypto.Signer
}
DomainContext 包含关于一个域名的上下文信息
func (*DomainContext) GetCurrentCertificateFile ¶
func (inst *DomainContext) GetCurrentCertificateFile() (afs.Path, error)
GetCurrentCertificateFile ...
func (*DomainContext) GetLatestCertificateFile ¶
func (inst *DomainContext) GetLatestCertificateFile() (afs.Path, error)
GetLatestCertificateFile ...
type DomainListItem ¶
DomainListItem ...
type GitContext ¶
type GitContext struct {
Parent context.Context
Layout repositories.Layout
WD afs.Path
Worktree afs.Path
}
GitContext 包含关于一个 git 仓库的上下文信息
type KeyHolder ¶
type KeyHolder interface {
Fingerprint() dxo.Fingerprint
Signer() crypto.Signer
Algorithm() string
}
KeyHolder ...
type KeyManager ¶
type KeyManager interface {
Exists(ctx *ContainerContext, fingerprint dxo.Fingerprint) bool
Find(ctx *ContainerContext, fingerprint dxo.Fingerprint) (KeyHolder, error)
CreateNew(ctx *ContainerContext) (KeyHolder, error)
}
KeyManager ...
type Service ¶
type Service interface {
LoadGitContext(c context.Context) (*GitContext, error)
LoadContainerContext(c context.Context) (*ContainerContext, error)
LoadDomainContext(c context.Context) (*DomainContext, error)
LoadDomainContextWithConfigFile(c context.Context, cfg afs.Path) (*DomainContext, error)
}
Service 提供一组创建上下文的接口
Click to show internal directories.
Click to hide internal directories.