96 lines
2.3 KiB
Go
96 lines
2.3 KiB
Go
package test
|
|
|
|
import (
|
|
"context"
|
|
"crypto/ecdsa"
|
|
"crypto/ed25519"
|
|
"crypto/rsa"
|
|
"encoding/base64"
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
|
|
cmapi "certmanager/pkg/cmctl"
|
|
"certmanager/internal/config"
|
|
"certmanager/internal/database"
|
|
"certmanager/internal/logic"
|
|
"certmanager/pkg/cm509"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func XXXTestLogicImportIssuer(t *testing.T) {
|
|
var err error
|
|
var lg *logic.Logic
|
|
{
|
|
conf := config.NewConfig()
|
|
err = conf.ReadFile()
|
|
require.NoError(t, err)
|
|
|
|
db, err := database.NewDatabase(conf.DataDir)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, db)
|
|
|
|
err = db.InitDatabase()
|
|
require.NoError(t, err)
|
|
|
|
logicConfig := &logic.LogicConfig{
|
|
Auths: conf.Auths,
|
|
Database: db,
|
|
}
|
|
lg, err = logic.NewLogic(logicConfig)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, lg)
|
|
}
|
|
|
|
certBytes, err := os.ReadFile("testchain_a00.crt")
|
|
require.NoError(t, err)
|
|
require.NotZero(t, len(certBytes))
|
|
certObj, err := cm509.ParseEncodedCerificate(string(certBytes))
|
|
require.NoError(t, err)
|
|
require.NotNil(t, certObj)
|
|
certString := base64.StdEncoding.EncodeToString(certBytes)
|
|
|
|
keyBytes, err := os.ReadFile("testchain_a00.key")
|
|
require.NoError(t, err)
|
|
require.NotZero(t, len(keyBytes))
|
|
keyString := base64.StdEncoding.EncodeToString(keyBytes)
|
|
keyObj, err := cm509.ParseDoubleEncodedKey(keyString)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, keyObj)
|
|
|
|
switch keyObj.(type) {
|
|
case ed25519.PrivateKey:
|
|
fmt.Printf("ED25519 key\n")
|
|
case *rsa.PrivateKey:
|
|
fmt.Printf("RSA key\n")
|
|
case *ecdsa.PrivateKey:
|
|
fmt.Printf("ECDSA key\n")
|
|
default:
|
|
fmt.Printf("Unknown key type\n")
|
|
}
|
|
|
|
certStrings := make([]string, 0)
|
|
for i := 2; i < 4; i++ {
|
|
certBytes, err := os.ReadFile(fmt.Sprintf("testchain_a%02d.crt", i))
|
|
require.NoError(t, err)
|
|
require.NotZero(t, len(certBytes))
|
|
certString := base64.StdEncoding.EncodeToString(certBytes)
|
|
certStrings = append(certStrings, certString)
|
|
}
|
|
|
|
ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
|
|
{
|
|
importIssuerPairParams := &cmapi.ImportIssuerPairParams{
|
|
Certificate: certString,
|
|
Key: keyString,
|
|
}
|
|
importIssuerPairRes, err := lg.ImportIssuerPair(ctx, importIssuerPairParams)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, importIssuerPairRes)
|
|
|
|
printObj("importIssuerPairRes", importIssuerPairRes)
|
|
}
|
|
}
|