133 lines
3.1 KiB
Go
133 lines
3.1 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"encoding/base64"
|
|
"os"
|
|
|
|
cmapi "certmanager/pkg/cmctl"
|
|
"certmanager/pkg/client"
|
|
)
|
|
|
|
func (util *Util) CreateIssuerPair(ctx context.Context) (*cmapi.CreateIssuerPairResult, error) {
|
|
var err error
|
|
res := &cmapi.CreateIssuerPairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.CreateIssuerPairParams{
|
|
IssuerCommonName: util.issuerCommonName,
|
|
SignerID: util.signerID,
|
|
}
|
|
res, err = cli.CreateIssuerPair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
certPEM, err := base64.StdEncoding.DecodeString(res.Certificate)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
res.Certificate = string(certPEM)
|
|
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) ImportIssuerPair(ctx context.Context) (*cmapi.ImportIssuerPairResult, error) {
|
|
var err error
|
|
res := &cmapi.ImportIssuerPairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
certBytes, err := os.ReadFile(util.certFilename)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
cert := base64.StdEncoding.EncodeToString(certBytes)
|
|
keyBytes, err := os.ReadFile(util.certFilename)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
key := base64.StdEncoding.EncodeToString(keyBytes)
|
|
|
|
params := &cmapi.ImportIssuerPairParams{
|
|
Certificate: cert,
|
|
Key: key,
|
|
}
|
|
res, err = cli.ImportIssuerPair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) RevokeIssuerPair(ctx context.Context) (*cmapi.RevokeIssuerPairResult, error) {
|
|
var err error
|
|
res := &cmapi.RevokeIssuerPairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.RevokeIssuerPairParams{
|
|
IssuerID: util.issuerID,
|
|
IssuerName: util.issuerName,
|
|
}
|
|
res, err = cli.RevokeIssuerPair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) UnrevokeIssuerPair(ctx context.Context) (*cmapi.UnrevokeIssuerPairResult, error) {
|
|
var err error
|
|
res := &cmapi.UnrevokeIssuerPairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.UnrevokeIssuerPairParams{
|
|
IssuerID: util.issuerID,
|
|
IssuerName: util.issuerName,
|
|
}
|
|
res, err = cli.UnrevokeIssuerPair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) ListIssuerPairs(ctx context.Context) (*cmapi.ListIssuerPairsResult, error) {
|
|
var err error
|
|
res := &cmapi.ListIssuerPairsResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.ListIssuerPairsParams{}
|
|
res, err = cli.ListIssuerPairs(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) GetIssuerCertificate(ctx context.Context) (*cmapi.GetIssuerCertificateResult, error) {
|
|
var err error
|
|
res := &cmapi.GetIssuerCertificateResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.GetIssuerCertificateParams{
|
|
IssuerID: util.issuerID,
|
|
IssuerName: util.issuerName,
|
|
}
|
|
res, err = cli.GetIssuerCertificate(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|