134 lines
3.3 KiB
Go
134 lines
3.3 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"encoding/base64"
|
|
"strings"
|
|
|
|
cmapi "certmanager/pkg/cmctl"
|
|
"certmanager/pkg/client"
|
|
)
|
|
|
|
func (util *Util) CreateServicePair(ctx context.Context) (*cmapi.CreateServicePairResult, error) {
|
|
var err error
|
|
res := &cmapi.CreateServicePairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
inetAddresses := strings.Split(util.ipAdressesList, ",")
|
|
hostnames := strings.Split(util.hostnameList, ",")
|
|
|
|
params := &cmapi.CreateServicePairParams{
|
|
IssuerName: util.issuerName,
|
|
IssuerID: util.issuerID,
|
|
ServiceCommonName: util.serviceCommonName,
|
|
InetAddresses: inetAddresses,
|
|
Hostnames: hostnames,
|
|
}
|
|
res, err = cli.CreateServicePair(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)
|
|
keyPEM, err := base64.StdEncoding.DecodeString(res.Key)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
res.Key = string(keyPEM)
|
|
caPEM, err := base64.StdEncoding.DecodeString(res.IssuerCertificate)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
res.IssuerCertificate = string(caPEM)
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) RevokeServicePair(ctx context.Context) (*cmapi.RevokeServicePairResult, error) {
|
|
var err error
|
|
res := &cmapi.RevokeServicePairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.RevokeServicePairParams{
|
|
ServiceName: util.serviceName,
|
|
ServiceID: util.serviceID,
|
|
}
|
|
res, err = cli.RevokeServicePair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) UnrevokeServicePair(ctx context.Context) (*cmapi.UnrevokeServicePairResult, error) {
|
|
var err error
|
|
res := &cmapi.UnrevokeServicePairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.UnrevokeServicePairParams{
|
|
ServiceName: util.serviceName,
|
|
ServiceID: util.serviceID,
|
|
}
|
|
res, err = cli.UnrevokeServicePair(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) ListServicePairs(ctx context.Context) (*cmapi.ListServicePairsResult, error) {
|
|
var err error
|
|
res := &cmapi.ListServicePairsResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.ListServicePairsParams{}
|
|
res, err = cli.ListServicePairs(ctx, params)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
return res, err
|
|
}
|
|
|
|
func (util *Util) GetServicePair(ctx context.Context) (*cmapi.GetServicePairResult, error) {
|
|
var err error
|
|
res := &cmapi.GetServicePairResult{}
|
|
cli, err := client.NewClient(&util.access)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
params := &cmapi.GetServicePairParams{
|
|
ServiceID: util.serviceID,
|
|
ServiceName: util.serviceName,
|
|
}
|
|
res, err = cli.GetServicePair(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)
|
|
keyPEM, err := base64.StdEncoding.DecodeString(res.Key)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
res.Key = string(keyPEM)
|
|
caPEM, err := base64.StdEncoding.DecodeString(res.IssuerCertificate)
|
|
if err != nil {
|
|
return res, err
|
|
}
|
|
res.IssuerCertificate = string(caPEM)
|
|
return res, err
|
|
}
|