cerman updated
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
package config
|
||||
|
||||
const (
|
||||
confdirPath = "/home/ziggi/Projects/certman/etc/certmanager"
|
||||
rundirPath = "/home/ziggi/Projects/certman/tmp/run"
|
||||
logdirPath = "/home/ziggi/Projects/certman/tmp/log"
|
||||
datadirPath = "/home/ziggi/Projects/certman/tmp/data"
|
||||
confdirPath = "/home/ziggi/Projects/certman/etc/certmanager"
|
||||
rundirPath = "/home/ziggi/Projects/certman/tmp/run"
|
||||
logdirPath = "/home/ziggi/Projects/certman/tmp/log"
|
||||
datadirPath = "/home/ziggi/Projects/certman/tmp/data"
|
||||
)
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"path/filepath"
|
||||
|
||||
"certmanager/pkg/logger"
|
||||
@@ -10,18 +11,20 @@ import (
|
||||
)
|
||||
|
||||
const schema = `
|
||||
--- DROP TABLE IF EXISTS issuer;
|
||||
DROP TABLE IF EXISTS issuer;
|
||||
CREATE TABLE IF NOT EXISTS issuer (
|
||||
id INT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
cert TEXT NOT NULL,
|
||||
key TEXT,
|
||||
revoked BOOL
|
||||
id INT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
cert TEXT NOT NULL,
|
||||
key TEXT,
|
||||
signer_id INT NOT NULL,
|
||||
signer_name TEXT NOT NULL,
|
||||
revoked BOOL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS issuer_index
|
||||
ON issuer(id, name);
|
||||
|
||||
--- DROP TABLE IF EXISTS service;
|
||||
DROP TABLE IF EXISTS service;
|
||||
CREATE TABLE IF NOT EXISTS service (
|
||||
id INT NOT NULL,
|
||||
issuer_id INT NOT NULL,
|
||||
@@ -71,3 +74,16 @@ func (db *Database) InitDatabase() error {
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) CleanDatabase(ctx context.Context) error {
|
||||
var err error
|
||||
request := `
|
||||
DELETE FROM issuer;
|
||||
DELETE FROM service;
|
||||
`
|
||||
_, err = db.db.Exec(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -4,23 +4,20 @@ import (
|
||||
"context"
|
||||
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func (db *Database) InsertIssuer(ctx context.Context, issuer *descriptor.Issuer) (int64, error) {
|
||||
func (db *Database) InsertIssuer(ctx context.Context, issuer *descriptor.Issuer) error {
|
||||
var err error
|
||||
var res int64
|
||||
issuer.ID = auxid.GenID()
|
||||
request := `INSERT INTO issuer(id, name, cert, key, revoked)
|
||||
VALUES ($1, $2, $3, $4, $5)`
|
||||
_, err = db.db.Exec(request, issuer.ID, issuer.Name, issuer.Cert, issuer.Key, issuer.Revoked)
|
||||
request := `INSERT INTO issuer(id, name, cert, key, revoked, signer_id, signer_name)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)`
|
||||
_, err = db.db.Exec(request, issuer.ID, issuer.Name, issuer.Cert, issuer.Key, issuer.Revoked,
|
||||
issuer.SignerID, issuer.SignerName)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
res = issuer.ID
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) UpdateIssuerByID(ctx context.Context, issuerID int64, issuer *descriptor.Issuer) error {
|
||||
@@ -35,7 +32,7 @@ func (db *Database) UpdateIssuerByID(ctx context.Context, issuerID int64, issuer
|
||||
|
||||
func (db *Database) ListIssuers(ctx context.Context) ([]descriptor.Issuer, error) {
|
||||
var err error
|
||||
request := `SELECT id, name, revoked FROM issuer`
|
||||
request := `SELECT id, name, signer_id, signer_name, revoked FROM issuer`
|
||||
res := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&res, request)
|
||||
if err != nil {
|
||||
@@ -48,7 +45,7 @@ func (db *Database) GetIssuerByID(ctx context.Context, issuerID int64) (bool, *d
|
||||
var err error
|
||||
var res *descriptor.Issuer
|
||||
var exists bool
|
||||
request := `SELECT id, name, cert, key, revoked FROM issuer WHERE id = $1 LiMIT 1`
|
||||
request := `SELECT id, name, cert, key, revoked, signer_id, signer_name FROM issuer WHERE id = $1 LiMIT 1`
|
||||
dbRes := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&dbRes, request, issuerID)
|
||||
if err != nil {
|
||||
@@ -66,7 +63,7 @@ func (db *Database) GetIssuerByName(ctx context.Context, issuerName string) (boo
|
||||
var err error
|
||||
var res *descriptor.Issuer
|
||||
var exists bool
|
||||
request := `SELECT id, name, cert, key, revoked FROM issuer WHERE name = $1 LIMIT 1`
|
||||
request := `SELECT id, name, cert, key, revoked, signer_id, signer_name FROM issuer WHERE name = $1 LIMIT 1`
|
||||
dbRes := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&dbRes, request, issuerName)
|
||||
if err != nil {
|
||||
|
||||
@@ -4,24 +4,20 @@ import (
|
||||
"context"
|
||||
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func (db *Database) InsertService(ctx context.Context, service *descriptor.Service) (int64, error) {
|
||||
func (db *Database) InsertService(ctx context.Context, service *descriptor.Service) error {
|
||||
var err error
|
||||
var res int64
|
||||
service.ID = auxid.GenID()
|
||||
request := `INSERT INTO service(id, issuer_id, name, cert, key, revoked, issuer_name)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)`
|
||||
_, err = db.db.Exec(request, service.ID, service.IssuerID, service.Name, service.Cert,
|
||||
service.Key, service.Revoked, service.IssuerName)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
res = service.ID
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) UpdateServiceByID(ctx context.Context, serviceID int64, service *descriptor.Service) error {
|
||||
@@ -36,7 +32,7 @@ func (db *Database) UpdateServiceByID(ctx context.Context, serviceID int64, serv
|
||||
|
||||
func (db *Database) ListServices(ctx context.Context) ([]descriptor.Service, error) {
|
||||
var err error
|
||||
request := `SELECT * FROM service`
|
||||
request := `SELECT id, name, issuer_id, issuer_name, revoked FROM service`
|
||||
res := make([]descriptor.Service, 0)
|
||||
err = db.db.Select(&res, request)
|
||||
if err != nil {
|
||||
@@ -81,7 +77,7 @@ func (db *Database) GetServiceByName(ctx context.Context, serviceName string) (b
|
||||
return exists, res, err
|
||||
}
|
||||
|
||||
func (db *Database) XXXDeleteServiceByID(ctx context.Context, serviceID int64) error {
|
||||
func (db *Database) DeleteServiceByID(ctx context.Context, serviceID int64) error {
|
||||
var err error
|
||||
request := `DELETE FROM service WHERE id = $1`
|
||||
_, err = db.db.Exec(request, serviceID)
|
||||
@@ -91,7 +87,7 @@ func (db *Database) XXXDeleteServiceByID(ctx context.Context, serviceID int64) e
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) XXXDeleteServiceByName(ctx context.Context, serviceName string) error {
|
||||
func (db *Database) DeleteServiceByName(ctx context.Context, serviceName string) error {
|
||||
var err error
|
||||
request := `DELETE FROM service WHERE name = $1`
|
||||
_, err = db.db.Exec(request, serviceName)
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package descriptor
|
||||
|
||||
type Issuer struct {
|
||||
ID int64 `json:"id" yaml:"id" db:"id"`
|
||||
Name string `json:"name" yaml:"name" db:"name"`
|
||||
Cert string `json:"cert" yaml:"cert" db:"cert"`
|
||||
Key string `json:"key" yaml:"key" db:"key"`
|
||||
Revoked bool `json:"revoked" yaml:"revoked" db:"revoked"`
|
||||
ID int64 `json:"id" yaml:"id" db:"id"`
|
||||
Name string `json:"name" yaml:"name" db:"name"`
|
||||
SignerID int64 `json:"signerId" yaml:"signerId" db:"signer_id"`
|
||||
SignerName string `json:"signerName" yaml:"signerName" db:"signer_name"`
|
||||
Cert string `json:"cert" yaml:"cert" db:"cert"`
|
||||
Key string `json:"key" yaml:"key" db:"key"`
|
||||
Revoked bool `json:"revoked" yaml:"revoked" db:"revoked"`
|
||||
}
|
||||
|
||||
type Service struct {
|
||||
|
||||
@@ -6,72 +6,79 @@ import (
|
||||
"certmanager/pkg/cmctl"
|
||||
)
|
||||
|
||||
func (hand *Handler) CreateIssuerPair(ctx context.Context, req *cmctl.CreateIssuerPairParams) (*cmctl.CreateIssuerPairResult, error) {
|
||||
func (hand *Handler) CreateIssuerPair(ctx context.Context, params *cmctl.CreateIssuerPairParams) (*cmctl.CreateIssuerPairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle CreateIssuerPair request")
|
||||
res, err := hand.lg.CreateIssuerPair(ctx, req)
|
||||
hand.log.Debugf("Handle CreateIssuerPair call")
|
||||
res, err := hand.lg.CreateIssuerPair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) ImportIssuerPair(ctx context.Context, req *cmctl.ImportIssuerPairParams) (*cmctl.ImportIssuerPairResult, error) {
|
||||
func (hand *Handler) ImportIssuerPair(ctx context.Context, params *cmctl.ImportIssuerPairParams) (*cmctl.ImportIssuerPairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle ImportIssuerPair request")
|
||||
res, err := hand.lg.ImportIssuerPair(ctx, req)
|
||||
hand.log.Debugf("Handle ImportIssuerPair call")
|
||||
res, err := hand.lg.ImportIssuerPair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) RevokeIssuerPair(ctx context.Context, req *cmctl.RevokeIssuerPairParams) (*cmctl.RevokeIssuerPairResult, error) {
|
||||
func (hand *Handler) RevokeIssuerPair(ctx context.Context, params *cmctl.RevokeIssuerPairParams) (*cmctl.RevokeIssuerPairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle RevokeIssuerPair request")
|
||||
res, err := hand.lg.RevokeIssuerPair(ctx, req)
|
||||
hand.log.Debugf("Handle RevokeIssuerPair call")
|
||||
res, err := hand.lg.RevokeIssuerPair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) UnrevokeIssuerPair(ctx context.Context, req *cmctl.UnrevokeIssuerPairParams) (*cmctl.UnrevokeIssuerPairResult, error) {
|
||||
func (hand *Handler) UnrevokeIssuerPair(ctx context.Context, params *cmctl.UnrevokeIssuerPairParams) (*cmctl.UnrevokeIssuerPairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle UnrevokeIssuerPair request")
|
||||
res, err := hand.lg.UnrevokeIssuerPair(ctx, req)
|
||||
hand.log.Debugf("Handle UnrevokeIssuerPair call")
|
||||
res, err := hand.lg.UnrevokeIssuerPair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) ListIssuerPairs(ctx context.Context, req *cmctl.ListIssuerPairsParams) (*cmctl.ListIssuerPairsResult, error) {
|
||||
func (hand *Handler) ListIssuerPairs(ctx context.Context, params *cmctl.ListIssuerPairsParams) (*cmctl.ListIssuerPairsResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle ListIssuerPairs request")
|
||||
res, err := hand.lg.ListIssuerPairs(ctx, req)
|
||||
hand.log.Debugf("Handle ListIssuerPairs call")
|
||||
res, err := hand.lg.ListIssuerPairs(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) GetIssuerCertificate(ctx context.Context, req *cmctl.GetIssuerCertificateParams) (*cmctl.GetIssuerCertificateResult, error) {
|
||||
func (hand *Handler) GetIssuerCertificate(ctx context.Context, params *cmctl.GetIssuerCertificateParams) (*cmctl.GetIssuerCertificateResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle GetIssuerCertificate request")
|
||||
res, err := hand.lg.GetIssuerCertificate(ctx, req)
|
||||
hand.log.Debugf("Handle GetIssuerCertificate call")
|
||||
res, err := hand.lg.GetIssuerCertificate(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) CreateServicePair(ctx context.Context, req *cmctl.CreateServicePairParams) (*cmctl.CreateServicePairResult, error) {
|
||||
func (hand *Handler) CreateServicePair(ctx context.Context, params *cmctl.CreateServicePairParams) (*cmctl.CreateServicePairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle CreateServicePair request")
|
||||
res, err := hand.lg.CreateServicePair(ctx, req)
|
||||
hand.log.Debugf("Handle CreateServicePair call")
|
||||
res, err := hand.lg.CreateServicePair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) RevokeServicePair(ctx context.Context, req *cmctl.RevokeServicePairParams) (*cmctl.RevokeServicePairResult, error) {
|
||||
func (hand *Handler) RevokeServicePair(ctx context.Context, params *cmctl.RevokeServicePairParams) (*cmctl.RevokeServicePairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle RevokeServicePair request")
|
||||
res, err := hand.lg.RevokeServicePair(ctx, req)
|
||||
hand.log.Debugf("Handle RevokeServicePair call")
|
||||
res, err := hand.lg.RevokeServicePair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) ListServicePairs(ctx context.Context, req *cmctl.ListServicePairsParams) (*cmctl.ListServicePairsResult, error) {
|
||||
func (hand *Handler) UnrevokeServicePair(ctx context.Context, params *cmctl.UnrevokeServicePairParams) (*cmctl.UnrevokeServicePairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle ListServicePairs request")
|
||||
res, err := hand.lg.ListServicePairs(ctx, req)
|
||||
hand.log.Debugf("Handle UnrevokeServicePair call")
|
||||
res, err := hand.lg.UnrevokeServicePair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) GetServicePair(ctx context.Context, req *cmctl.GetServicePairParams) (*cmctl.GetServicePairResult, error) {
|
||||
func (hand *Handler) ListServicePairs(ctx context.Context, params *cmctl.ListServicePairsParams) (*cmctl.ListServicePairsResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle GetServicePair request")
|
||||
res, err := hand.lg.GetServicePair(ctx, req)
|
||||
hand.log.Debugf("Handle ListServicePairs call")
|
||||
res, err := hand.lg.ListServicePairs(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (hand *Handler) GetServicePair(ctx context.Context, params *cmctl.GetServicePairParams) (*cmctl.GetServicePairResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle GetServicePair call")
|
||||
res, err := hand.lg.GetServicePair(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"certmanager/pkg/cmctl"
|
||||
"certmanager/internal/logic"
|
||||
"certmanager/pkg/cmctl"
|
||||
"certmanager/pkg/logger"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
|
||||
@@ -6,9 +6,9 @@ import (
|
||||
"certmanager/pkg/cmctl"
|
||||
)
|
||||
|
||||
func (hand *Handler) GetStatus(ctx context.Context, req *cmctl.GetStatusParams) (*cmctl.GetStatusResult, error) {
|
||||
func (hand *Handler) GetStatus(ctx context.Context, params *cmctl.GetStatusParams) (*cmctl.GetStatusResult, error) {
|
||||
var err error
|
||||
hand.log.Debugf("Handle getStatus request")
|
||||
res, err := hand.lg.GetStatus(ctx, req)
|
||||
hand.log.Debugf("Handle getStatus call")
|
||||
res, err := hand.lg.GetStatus(ctx, params)
|
||||
return res, err
|
||||
}
|
||||
|
||||
@@ -5,14 +5,15 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
cmapi "certmanager/pkg/cmctl"
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
"certmanager/pkg/cm509"
|
||||
"certmanager/pkg/cmctl"
|
||||
)
|
||||
|
||||
func (lg *Logic) CreateIssuerPair(ctx context.Context, params *cmapi.CreateIssuerPairParams) (*cmapi.CreateIssuerPairResult, error) {
|
||||
func (lg *Logic) CreateIssuerPair(ctx context.Context, params *cmctl.CreateIssuerPairParams) (*cmctl.CreateIssuerPairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.CreateIssuerPairResult{}
|
||||
res := &cmctl.CreateIssuerPairResult{}
|
||||
|
||||
var signerDescr *descriptor.Issuer
|
||||
var signerExists bool
|
||||
@@ -47,10 +48,18 @@ func (lg *Logic) CreateIssuerPair(ctx context.Context, params *cmapi.CreateIssue
|
||||
}
|
||||
|
||||
issuerDescr := &descriptor.Issuer{
|
||||
ID: auxid.GenID(),
|
||||
Name: createIssuerPairRes.Name,
|
||||
Cert: createIssuerPairRes.Cert,
|
||||
Key: createIssuerPairRes.Key,
|
||||
}
|
||||
if signerDescr != nil {
|
||||
issuerDescr.SignerName = signerDescr.Name
|
||||
issuerDescr.SignerID = signerDescr.ID
|
||||
} else {
|
||||
issuerDescr.SignerName = issuerDescr.Name
|
||||
issuerDescr.SignerID = issuerDescr.ID
|
||||
}
|
||||
|
||||
issuerExists, _, err := lg.db.GetIssuerByName(ctx, issuerDescr.Name)
|
||||
if issuerExists {
|
||||
@@ -60,19 +69,21 @@ func (lg *Logic) CreateIssuerPair(ctx context.Context, params *cmapi.CreateIssue
|
||||
}
|
||||
}
|
||||
|
||||
issuerID, err := lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
err = lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
res.IssuerID = issuerID
|
||||
res.IssuerID = issuerDescr.ID
|
||||
res.IssuerName = createIssuerPairRes.Name
|
||||
res.Certificate = createIssuerPairRes.Cert
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) GetIssuerCertificate(ctx context.Context, params *cmapi.GetIssuerCertificateParams) (*cmapi.GetIssuerCertificateResult, error) {
|
||||
func (lg *Logic) GetIssuerCertificate(ctx context.Context, params *cmctl.GetIssuerCertificateParams) (*cmctl.GetIssuerCertificateResult, error) {
|
||||
var err error
|
||||
res := &cmapi.GetIssuerCertificateResult{}
|
||||
res := &cmctl.GetIssuerCertificateResult{
|
||||
SignerCertificates: make([]string, 0),
|
||||
}
|
||||
var issuerDescr *descriptor.Issuer
|
||||
var issuerExists bool
|
||||
switch {
|
||||
@@ -105,6 +116,14 @@ func (lg *Logic) GetIssuerCertificate(ctx context.Context, params *cmapi.GetIssu
|
||||
}
|
||||
}
|
||||
|
||||
signerDescrs, err := lg.GetIssuerChain(ctx, issuerDescr.SignerID)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
for _, signerDescr := range signerDescrs {
|
||||
res.SignerCertificates = append(res.SignerCertificates, signerDescr.Cert)
|
||||
}
|
||||
|
||||
res.IssuerID = issuerDescr.ID
|
||||
res.Certificate = issuerDescr.Cert
|
||||
res.Name = issuerDescr.Name
|
||||
@@ -112,9 +131,9 @@ func (lg *Logic) GetIssuerCertificate(ctx context.Context, params *cmapi.GetIssu
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) ImportIssuerPair(ctx context.Context, params *cmapi.ImportIssuerPairParams) (*cmapi.ImportIssuerPairResult, error) {
|
||||
func (lg *Logic) ImportIssuerPair(ctx context.Context, params *cmctl.ImportIssuerPairParams) (*cmctl.ImportIssuerPairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.ImportIssuerPairResult{}
|
||||
res := &cmctl.ImportIssuerPairResult{}
|
||||
|
||||
if params.Certificate == "" {
|
||||
err := fmt.Errorf("Empty issuer cerificata data")
|
||||
@@ -161,34 +180,35 @@ func (lg *Logic) ImportIssuerPair(ctx context.Context, params *cmapi.ImportIssue
|
||||
return res, err
|
||||
}
|
||||
issuerDescr := &descriptor.Issuer{
|
||||
ID: auxid.GenID(),
|
||||
Name: intermCertObj.Issuer.String(),
|
||||
Cert: intermCertString,
|
||||
Key: "",
|
||||
}
|
||||
_, err = lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
err = lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
issuerDescr := &descriptor.Issuer{
|
||||
ID: auxid.GenID(),
|
||||
Name: cert.Issuer.String(),
|
||||
Cert: params.Certificate,
|
||||
Key: params.Key,
|
||||
}
|
||||
issuerID, err := lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
err = lg.db.InsertIssuer(ctx, issuerDescr)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
res.IssuerName = cert.Subject.String()
|
||||
res.IssuerID = issuerID
|
||||
res.IssuerID = issuerDescr.ID
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) RevokeIssuerPair(ctx context.Context, params *cmapi.RevokeIssuerPairParams) (*cmapi.RevokeIssuerPairResult, error) {
|
||||
func (lg *Logic) RevokeIssuerPair(ctx context.Context, params *cmctl.RevokeIssuerPairParams) (*cmctl.RevokeIssuerPairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.RevokeIssuerPairResult{}
|
||||
res := &cmctl.RevokeIssuerPairResult{}
|
||||
|
||||
var issuerDescr *descriptor.Issuer
|
||||
var issuerExists bool
|
||||
@@ -231,9 +251,9 @@ func (lg *Logic) RevokeIssuerPair(ctx context.Context, params *cmapi.RevokeIssue
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) UnrevokeIssuerPair(ctx context.Context, params *cmapi.UnrevokeIssuerPairParams) (*cmapi.UnrevokeIssuerPairResult, error) {
|
||||
func (lg *Logic) UnrevokeIssuerPair(ctx context.Context, params *cmctl.UnrevokeIssuerPairParams) (*cmctl.UnrevokeIssuerPairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.UnrevokeIssuerPairResult{}
|
||||
res := &cmctl.UnrevokeIssuerPairResult{}
|
||||
|
||||
var issuerDescr *descriptor.Issuer
|
||||
var issuerExists bool
|
||||
@@ -276,10 +296,10 @@ func (lg *Logic) UnrevokeIssuerPair(ctx context.Context, params *cmapi.UnrevokeI
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) ListIssuerPairs(ctx context.Context, params *cmapi.ListIssuerPairsParams) (*cmapi.ListIssuerPairsResult, error) {
|
||||
func (lg *Logic) ListIssuerPairs(ctx context.Context, params *cmctl.ListIssuerPairsParams) (*cmctl.ListIssuerPairsResult, error) {
|
||||
var err error
|
||||
res := &cmapi.ListIssuerPairsResult{
|
||||
Issuers: make([]*cmapi.IssierShortDescriptor, 0),
|
||||
res := &cmctl.ListIssuerPairsResult{
|
||||
Issuers: make([]*cmctl.IssierShortDescriptor, 0),
|
||||
}
|
||||
|
||||
listIssuers, err := lg.db.ListIssuers(ctx)
|
||||
@@ -287,10 +307,12 @@ func (lg *Logic) ListIssuerPairs(ctx context.Context, params *cmapi.ListIssuerPa
|
||||
return res, err
|
||||
}
|
||||
for _, issuer := range listIssuers {
|
||||
issuerShortDescr := cmapi.IssierShortDescriptor{
|
||||
IssuerID: issuer.ID,
|
||||
Name: issuer.Name,
|
||||
Revoked: issuer.Revoked,
|
||||
issuerShortDescr := cmctl.IssierShortDescriptor{
|
||||
IssuerID: issuer.ID,
|
||||
Name: issuer.Name,
|
||||
SignerID: issuer.SignerID,
|
||||
SignerName: issuer.SignerName,
|
||||
Revoked: issuer.Revoked,
|
||||
}
|
||||
res.Issuers = append(res.Issuers, &issuerShortDescr)
|
||||
}
|
||||
|
||||
@@ -4,14 +4,15 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
cmapi "certmanager/pkg/cmctl"
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
"certmanager/pkg/cm509"
|
||||
"certmanager/pkg/cmctl"
|
||||
)
|
||||
|
||||
func (lg *Logic) CreateServicePair(ctx context.Context, params *cmapi.CreateServicePairParams) (*cmapi.CreateServicePairResult, error) {
|
||||
func (lg *Logic) CreateServicePair(ctx context.Context, params *cmctl.CreateServicePairParams) (*cmctl.CreateServicePairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.CreateServicePairResult{}
|
||||
res := &cmctl.CreateServicePairResult{}
|
||||
|
||||
var issuerDescr *descriptor.Issuer
|
||||
var issuerExists bool
|
||||
@@ -64,18 +65,19 @@ func (lg *Logic) CreateServicePair(ctx context.Context, params *cmapi.CreateServ
|
||||
}
|
||||
|
||||
serviceDescr := &descriptor.Service{
|
||||
ID: auxid.GenID(),
|
||||
Name: createSericePairRes.Name,
|
||||
IssuerID: issuerDescr.ID,
|
||||
IssuerName: issuerDescr.Name,
|
||||
Cert: createSericePairRes.Cert,
|
||||
Key: createSericePairRes.Key,
|
||||
}
|
||||
serviceID, err := lg.db.InsertService(ctx, serviceDescr)
|
||||
err = lg.db.InsertService(ctx, serviceDescr)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
res.ServiceName = createSericePairRes.Name
|
||||
res.ServiceID = serviceID
|
||||
res.ServiceID = serviceDescr.ID
|
||||
res.Certificate = createSericePairRes.Cert
|
||||
res.Key = createSericePairRes.Key
|
||||
res.IssuerID = issuerDescr.ID
|
||||
@@ -84,9 +86,11 @@ func (lg *Logic) CreateServicePair(ctx context.Context, params *cmapi.CreateServ
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) GetServicePair(ctx context.Context, params *cmapi.GetServicePairParams) (*cmapi.GetServicePairResult, error) {
|
||||
func (lg *Logic) GetServicePair(ctx context.Context, params *cmctl.GetServicePairParams) (*cmctl.GetServicePairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.GetServicePairResult{}
|
||||
res := &cmctl.GetServicePairResult{
|
||||
IssuerCertificates: make([]string, 0),
|
||||
}
|
||||
var serviceDescr *descriptor.Service
|
||||
var serviceExists bool
|
||||
switch {
|
||||
@@ -121,12 +125,57 @@ func (lg *Logic) GetServicePair(ctx context.Context, params *cmapi.GetServicePai
|
||||
|
||||
issuerExists, issuerDescr, err := lg.db.GetIssuerByID(ctx, serviceDescr.IssuerID)
|
||||
if !issuerExists {
|
||||
err := fmt.Errorf("No issuer for serice was found")
|
||||
err := fmt.Errorf("No issuer for service was found")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
serviceCertObj, err := cm509.ParseDoubleEncodedCerificate(serviceDescr.Cert)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
|
||||
issuerCertObj, err := cm509.ParseDoubleEncodedCerificate(issuerDescr.Cert)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
|
||||
if serviceCertObj.Subject.String() != serviceDescr.Name {
|
||||
err := fmt.Errorf("The subject's identities in the database and certificate do not match")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
if serviceCertObj.Issuer.String() != serviceDescr.IssuerName {
|
||||
err := fmt.Errorf("The issuer's identities in the database and certificate do not match")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
if serviceCertObj.Issuer.String() != issuerDescr.Name {
|
||||
err := fmt.Errorf("The issuer's and service identities in the database and certificate do not match")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
if serviceCertObj.Issuer.String() != issuerCertObj.Subject.String() {
|
||||
err := fmt.Errorf("The issuer's and service identities into certificates do not match")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
issuerDescrs, err := lg.GetIssuerChain(ctx, serviceDescr.IssuerID)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
for _, issuerDescr := range issuerDescrs {
|
||||
res.IssuerCertificates = append(res.IssuerCertificates, issuerDescr.Cert)
|
||||
}
|
||||
|
||||
res.Certificate = serviceDescr.Cert
|
||||
res.Key = serviceDescr.Key
|
||||
res.IssuerID = serviceDescr.IssuerID
|
||||
@@ -136,10 +185,72 @@ func (lg *Logic) GetServicePair(ctx context.Context, params *cmapi.GetServicePai
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) ListServicePairs(ctx context.Context, params *cmapi.ListServicePairsParams) (*cmapi.ListServicePairsResult, error) {
|
||||
func (lg *Logic) GetIssuerChain(ctx context.Context, firstIssuerID int64) ([]*descriptor.Issuer, error) {
|
||||
var err error
|
||||
res := &cmapi.ListServicePairsResult{
|
||||
Services: make([]*cmapi.ServiceShortDescriptor, 0),
|
||||
res := make([]*descriptor.Issuer, 0)
|
||||
|
||||
firstIssuerExists, firstIssuerDescr, err := lg.db.GetIssuerByID(ctx, firstIssuerID)
|
||||
if !firstIssuerExists {
|
||||
err := fmt.Errorf("No issuer for service was found")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
deep := 1
|
||||
nextDescrs, err := lg.GetNextIssuerChain(ctx, deep, firstIssuerDescr)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
|
||||
res = append(res, nextDescrs...)
|
||||
return res, err
|
||||
}
|
||||
func (lg *Logic) GetNextIssuerChain(ctx context.Context, deep int, firstIssuerDescr *descriptor.Issuer) ([]*descriptor.Issuer, error) {
|
||||
var err error
|
||||
res := make([]*descriptor.Issuer, 0)
|
||||
|
||||
res = append(res, firstIssuerDescr)
|
||||
|
||||
deep += 1
|
||||
const maxDeep = 12
|
||||
if deep > maxDeep {
|
||||
err := fmt.Errorf("Cannot found root issuer after %d loops", maxDeep)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
|
||||
firstIssuerCertObj, err := cm509.ParseDoubleEncodedCerificate(firstIssuerDescr.Cert)
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
|
||||
itIsSelfSignedRoot := (firstIssuerDescr.SignerID == firstIssuerDescr.SignerID) &&
|
||||
(firstIssuerCertObj.Issuer.String() == firstIssuerCertObj.Subject.String())
|
||||
if itIsSelfSignedRoot {
|
||||
return res, err
|
||||
}
|
||||
|
||||
lg.log.Debugf("%d %d", firstIssuerDescr.ID, firstIssuerDescr.SignerID)
|
||||
|
||||
nextIssuerExists, nextIssuerDescrs, err := lg.db.GetIssuerByID(ctx, firstIssuerDescr.SignerID)
|
||||
if !nextIssuerExists {
|
||||
err := fmt.Errorf("No issuer for service was found")
|
||||
if err != nil {
|
||||
return res, err
|
||||
}
|
||||
}
|
||||
nextDescrs, err := lg.GetNextIssuerChain(ctx, deep, nextIssuerDescrs)
|
||||
res = append(res, nextDescrs...)
|
||||
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) ListServicePairs(ctx context.Context, params *cmctl.ListServicePairsParams) (*cmctl.ListServicePairsResult, error) {
|
||||
var err error
|
||||
res := &cmctl.ListServicePairsResult{
|
||||
Services: make([]*cmctl.ServiceShortDescriptor, 0),
|
||||
}
|
||||
|
||||
listServices, err := lg.db.ListServices(ctx)
|
||||
@@ -147,7 +258,7 @@ func (lg *Logic) ListServicePairs(ctx context.Context, params *cmapi.ListService
|
||||
return res, err
|
||||
}
|
||||
for _, service := range listServices {
|
||||
serviceShortDescr := cmapi.ServiceShortDescriptor{
|
||||
serviceShortDescr := cmctl.ServiceShortDescriptor{
|
||||
ServiceID: service.ID,
|
||||
IssuerID: service.IssuerID,
|
||||
IssuerName: service.IssuerName,
|
||||
@@ -159,9 +270,9 @@ func (lg *Logic) ListServicePairs(ctx context.Context, params *cmapi.ListService
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) RevokeServicePair(ctx context.Context, params *cmapi.RevokeServicePairParams) (*cmapi.RevokeServicePairResult, error) {
|
||||
func (lg *Logic) RevokeServicePair(ctx context.Context, params *cmctl.RevokeServicePairParams) (*cmctl.RevokeServicePairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.RevokeServicePairResult{}
|
||||
res := &cmctl.RevokeServicePairResult{}
|
||||
|
||||
var serviceDescr *descriptor.Service
|
||||
var serviceExists bool
|
||||
@@ -204,9 +315,9 @@ func (lg *Logic) RevokeServicePair(ctx context.Context, params *cmapi.RevokeServ
|
||||
return res, err
|
||||
}
|
||||
|
||||
func (lg *Logic) UnrevokeServicePair(ctx context.Context, params *cmapi.UnrevokeServicePairParams) (*cmapi.UnrevokeServicePairResult, error) {
|
||||
func (lg *Logic) UnrevokeServicePair(ctx context.Context, params *cmctl.UnrevokeServicePairParams) (*cmctl.UnrevokeServicePairResult, error) {
|
||||
var err error
|
||||
res := &cmapi.UnrevokeServicePairResult{}
|
||||
res := &cmctl.UnrevokeServicePairResult{}
|
||||
|
||||
var serviceDescr *descriptor.Service
|
||||
var serviceExists bool
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
"certmanager/internal/config"
|
||||
"certmanager/internal/database"
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
yaml "gopkg.in/yaml.v3"
|
||||
@@ -29,13 +30,15 @@ func XXTestDatabaseIssuer(t *testing.T) {
|
||||
|
||||
ctx, _ := context.WithTimeout(context.Background(), 1*time.Second)
|
||||
|
||||
issuerID := auxid.GenID()
|
||||
issuer := &descriptor.Issuer{
|
||||
ID: issuerID,
|
||||
Name: "foo.bar",
|
||||
Cert: "ASDFF",
|
||||
Key: "QWERT",
|
||||
Revoked: true,
|
||||
}
|
||||
issuerID, err := db.InsertIssuer(ctx, issuer)
|
||||
err = db.InsertIssuer(ctx, issuer)
|
||||
require.NoError(t, err)
|
||||
fmt.Printf("issuerId: %d\n", issuerID)
|
||||
|
||||
@@ -80,14 +83,16 @@ func XXXTestDatabaseService(t *testing.T) {
|
||||
|
||||
ctx, _ := context.WithTimeout(context.Background(), 1*time.Second)
|
||||
|
||||
serviceID := auxid.GenID()
|
||||
service := &descriptor.Service{
|
||||
ID: serviceID,
|
||||
Name: "foo.bar",
|
||||
IssuerID: 123456,
|
||||
Cert: "ASDFF",
|
||||
Key: "QWERT",
|
||||
Revoked: true,
|
||||
}
|
||||
serviceID, err := db.InsertService(ctx, service)
|
||||
err = db.InsertService(ctx, service)
|
||||
require.NoError(t, err)
|
||||
fmt.Printf("serviceId: %d\n", serviceID)
|
||||
|
||||
|
||||
@@ -2,15 +2,16 @@ package test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
cmapi "certmanager/pkg/cmctl"
|
||||
"certmanager/internal/config"
|
||||
"certmanager/internal/database"
|
||||
"certmanager/internal/logic"
|
||||
"certmanager/pkg/cm509"
|
||||
"certmanager/pkg/cmctl"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -40,12 +41,12 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
|
||||
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
|
||||
signerCommonName := "foo.bar"
|
||||
signerCommonName := "make.love"
|
||||
var signerID int64
|
||||
var signerCert string
|
||||
var signerName string
|
||||
{
|
||||
createIssuerPairParams := &cmapi.CreateIssuerPairParams{
|
||||
createIssuerPairParams := &cmctl.CreateIssuerPairParams{
|
||||
IssuerCommonName: signerCommonName,
|
||||
}
|
||||
createIssuerPairRes, err := lg.CreateIssuerPair(ctx, createIssuerPairParams)
|
||||
@@ -56,7 +57,7 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
printObj("signerID", signerID)
|
||||
|
||||
signerCert = createIssuerPairRes.Certificate
|
||||
printObj("signerCert", signerCert)
|
||||
//printObj("signerCert", signerCert)
|
||||
|
||||
signerName = createIssuerPairRes.IssuerName
|
||||
printObj("signerName", signerName)
|
||||
@@ -66,13 +67,19 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
require.NotNil(t, signerCertObj)
|
||||
printObj("signerCertObj Subject", signerCertObj.Subject.String())
|
||||
printObj("signerCertObj Issuer", signerCertObj.Issuer.String())
|
||||
|
||||
signerPEM, err := base64.StdEncoding.DecodeString(signerCert)
|
||||
require.NoError(t, err)
|
||||
require.NotZero(t, len(signerPEM))
|
||||
printObj("signerPEM", string(signerPEM))
|
||||
|
||||
}
|
||||
issuerCommonName := "make.love.not.war"
|
||||
issuerCommonName := "not.war"
|
||||
var issuerID int64
|
||||
var issuerCert string
|
||||
var issuerName string
|
||||
{
|
||||
createIssuerPairParams := &cmapi.CreateIssuerPairParams{
|
||||
createIssuerPairParams := &cmctl.CreateIssuerPairParams{
|
||||
IssuerCommonName: issuerCommonName,
|
||||
SignerID: signerID,
|
||||
}
|
||||
@@ -84,7 +91,7 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
printObj("issuerID", issuerID)
|
||||
|
||||
issuerCert = createIssuerPairRes.Certificate
|
||||
printObj("issuerCert", issuerCert)
|
||||
//printObj("issuerCert", issuerCert)
|
||||
|
||||
issuerName = createIssuerPairRes.IssuerName
|
||||
printObj("issuerName", issuerName)
|
||||
@@ -96,13 +103,18 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
printObj("issuerCertObj Issuer", issuerCertObj.Issuer.String())
|
||||
|
||||
require.NotEqual(t, issuerCertObj.Subject.String(), issuerCertObj.Issuer.String())
|
||||
|
||||
issuerPEM, err := base64.StdEncoding.DecodeString(issuerCert)
|
||||
require.NoError(t, err)
|
||||
require.NotZero(t, len(issuerPEM))
|
||||
printObj("issuerPEM", string(issuerPEM))
|
||||
}
|
||||
serviceCommonName := "dont.worry"
|
||||
var serviceID int64
|
||||
var serviceCert string
|
||||
var serviceName string
|
||||
{
|
||||
createServicePairParams := &cmapi.CreateServicePairParams{
|
||||
createServicePairParams := &cmctl.CreateServicePairParams{
|
||||
ServiceCommonName: serviceCommonName,
|
||||
IssuerID: issuerID,
|
||||
InetAddresses: []string{"1.1.1.1", "1.1.1.2", "1.1.1.3"},
|
||||
@@ -116,7 +128,7 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
printObj("serviceID", serviceID)
|
||||
|
||||
serviceCert = createServicePairRes.Certificate
|
||||
printObj("serviceCert", serviceCert)
|
||||
//printObj("serviceCert", serviceCert)
|
||||
|
||||
serviceName = createServicePairRes.ServiceName
|
||||
printObj("serviceName", serviceName)
|
||||
@@ -130,10 +142,48 @@ func TestIssuerCreateN0(t *testing.T) {
|
||||
printObj("serviceCertObj IP addresses", serviceCertObj.IPAddresses)
|
||||
|
||||
require.NotEqual(t, serviceCertObj.Subject.String(), serviceCertObj.Issuer.String())
|
||||
|
||||
servicePEM, err := base64.StdEncoding.DecodeString(serviceCert)
|
||||
require.NoError(t, err)
|
||||
require.NotZero(t, len(servicePEM))
|
||||
printObj("servicePEM", string(servicePEM))
|
||||
}
|
||||
{
|
||||
listIssuerPairsParams := &cmctl.ListIssuerPairsParams{}
|
||||
listIssuerPairsRes, err := lg.ListIssuerPairs(ctx, listIssuerPairsParams)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, listIssuerPairsRes)
|
||||
require.NotZero(t, len(listIssuerPairsRes.Issuers))
|
||||
|
||||
printObj("listIssuerPairRes", listIssuerPairsRes)
|
||||
}
|
||||
{
|
||||
getServicePairParams := &cmctl.GetServicePairParams{
|
||||
ServiceID: serviceID,
|
||||
}
|
||||
getServicePairRes, err := lg.GetServicePair(ctx, getServicePairParams)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, getServicePairRes)
|
||||
require.NotZero(t, len(getServicePairRes.Certificate))
|
||||
require.False(t, getServicePairRes.Revoked)
|
||||
|
||||
printObj("getServicePairRes.IssuerCertificates", getServicePairRes.IssuerCertificates)
|
||||
}
|
||||
{
|
||||
getIssuerCertificateParams := &cmctl.GetIssuerCertificateParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
getIssuerCertificateRes, err := lg.GetIssuerCertificate(ctx, getIssuerCertificateParams)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, getIssuerCertificateRes)
|
||||
require.NotZero(t, len(getIssuerCertificateRes.Certificate))
|
||||
|
||||
printObj("getIssuerCertificateRes", getIssuerCertificateRes)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestIssuerCreateN2(t *testing.T) {
|
||||
func XXXTestIssuerCreateN2(t *testing.T) {
|
||||
var err error
|
||||
var lg *logic.Logic
|
||||
{
|
||||
@@ -163,7 +213,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
var issuerID int64
|
||||
var issuerCert string
|
||||
{
|
||||
createIssuerPairParams := &cmapi.CreateIssuerPairParams{
|
||||
createIssuerPairParams := &cmctl.CreateIssuerPairParams{
|
||||
IssuerCommonName: issuerCommonName,
|
||||
}
|
||||
createIssuerPairRes, err := lg.CreateIssuerPair(ctx, createIssuerPairParams)
|
||||
@@ -174,7 +224,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
printObj("issuerID", issuerID)
|
||||
}
|
||||
{
|
||||
getIssuerCertificateParams := &cmapi.GetIssuerCertificateParams{
|
||||
getIssuerCertificateParams := &cmctl.GetIssuerCertificateParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
getIssuerCertificateRes, err := lg.GetIssuerCertificate(ctx, getIssuerCertificateParams)
|
||||
@@ -190,7 +240,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
printObj("issuerCert", string(issuerCert))
|
||||
}
|
||||
{
|
||||
revokeIssuerPairParams := &cmapi.RevokeIssuerPairParams{
|
||||
revokeIssuerPairParams := &cmctl.RevokeIssuerPairParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
revokeIssuerPairRes, err := lg.RevokeIssuerPair(ctx, revokeIssuerPairParams)
|
||||
@@ -201,7 +251,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
{
|
||||
getIssuerCertificateParams := &cmapi.GetIssuerCertificateParams{
|
||||
getIssuerCertificateParams := &cmctl.GetIssuerCertificateParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
getIssuerCertificateRes, err := lg.GetIssuerCertificate(ctx, getIssuerCertificateParams)
|
||||
@@ -213,7 +263,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
printObj("getIssuerCertificateRes", getIssuerCertificateRes)
|
||||
}
|
||||
{
|
||||
unrevokeIssuerPairParams := &cmapi.UnrevokeIssuerPairParams{
|
||||
unrevokeIssuerPairParams := &cmctl.UnrevokeIssuerPairParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
unrevokeIssuerPairRes, err := lg.UnrevokeIssuerPair(ctx, unrevokeIssuerPairParams)
|
||||
@@ -224,7 +274,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
{
|
||||
getIssuerCertificateParams := &cmapi.GetIssuerCertificateParams{
|
||||
getIssuerCertificateParams := &cmctl.GetIssuerCertificateParams{
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
getIssuerCertificateRes, err := lg.GetIssuerCertificate(ctx, getIssuerCertificateParams)
|
||||
@@ -236,7 +286,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
printObj("getIssuerCertificateRes", getIssuerCertificateRes)
|
||||
}
|
||||
{
|
||||
listIssuerPairsParams := &cmapi.ListIssuerPairsParams{}
|
||||
listIssuerPairsParams := &cmctl.ListIssuerPairsParams{}
|
||||
listIssuerPairsRes, err := lg.ListIssuerPairs(ctx, listIssuerPairsParams)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, listIssuerPairsRes)
|
||||
@@ -246,7 +296,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
}
|
||||
{
|
||||
for i := 0; i < 3; i++ {
|
||||
createIssuerPairParams := &cmapi.CreateIssuerPairParams{
|
||||
createIssuerPairParams := &cmctl.CreateIssuerPairParams{
|
||||
IssuerCommonName: fmt.Sprintf("sub%0d.%s", i, issuerCommonName),
|
||||
}
|
||||
createIssuerPairRes, err := lg.CreateIssuerPair(ctx, createIssuerPairParams)
|
||||
@@ -257,7 +307,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
}
|
||||
}
|
||||
{
|
||||
listIssuerPairsParams := &cmapi.ListIssuerPairsParams{}
|
||||
listIssuerPairsParams := &cmctl.ListIssuerPairsParams{}
|
||||
listIssuerPairsRes, err := lg.ListIssuerPairs(ctx, listIssuerPairsParams)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, listIssuerPairsRes)
|
||||
@@ -268,7 +318,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
serviceCommonName := "make.love.not.war"
|
||||
var serviceID int64
|
||||
{
|
||||
createServicePairParams := &cmapi.CreateServicePairParams{
|
||||
createServicePairParams := &cmctl.CreateServicePairParams{
|
||||
ServiceCommonName: serviceCommonName,
|
||||
IssuerID: issuerID,
|
||||
}
|
||||
@@ -281,7 +331,7 @@ func TestIssuerCreateN2(t *testing.T) {
|
||||
printObj("serviceID", serviceID)
|
||||
}
|
||||
{
|
||||
getServicePairParams := &cmapi.GetServicePairParams{
|
||||
getServicePairParams := &cmctl.GetServicePairParams{
|
||||
ServiceID: serviceID,
|
||||
}
|
||||
getServicePairRes, err := lg.GetServicePair(ctx, getServicePairParams)
|
||||
|
||||
@@ -11,11 +11,11 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
cmapi "certmanager/pkg/cmctl"
|
||||
"certmanager/internal/config"
|
||||
"certmanager/internal/database"
|
||||
"certmanager/internal/logic"
|
||||
"certmanager/pkg/cm509"
|
||||
cmapi "certmanager/pkg/cmctl"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"certmanager/pkg/cmctl"
|
||||
"certmanager/pkg/auxhttp"
|
||||
"certmanager/pkg/cmctl"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user