Files
certmanager/cmd/certmanagerctl/issuercli.go
Олег Бородин a21b4e2db9 cerman updated
2024-08-07 11:31:18 +02:00

133 lines
3.1 KiB
Go

package main
import (
"context"
"encoding/base64"
"os"
"certmanager/pkg/client"
cmapi "certmanager/pkg/cmctl"
)
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
}