29 lines
485 B
Go
29 lines
485 B
Go
|
package ca
|
||
|
|
||
|
import (
|
||
|
"crypto/x509"
|
||
|
"math/big"
|
||
|
"time"
|
||
|
|
||
|
"gitlab.com/urkob/go-cert-gen/pkg/client"
|
||
|
)
|
||
|
|
||
|
type CaSubject struct {
|
||
|
Organization string
|
||
|
CommonName string
|
||
|
}
|
||
|
|
||
|
type CaConfig struct {
|
||
|
SerialNumber *big.Int
|
||
|
Subject CaSubject
|
||
|
KeyUsage x509.KeyUsage
|
||
|
ExtKeyUsage []x509.ExtKeyUsage
|
||
|
Duration time.Duration
|
||
|
}
|
||
|
|
||
|
type RootCACertificateIface interface {
|
||
|
WithClientCert(config *client.ClientCertConfig) (client.ClientCertIface, error)
|
||
|
Key() []byte
|
||
|
PEM() []byte
|
||
|
}
|