Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bundle ¶
type Bundle interface { X509CertificateRepository() X509CertificateRepository X509CertificateSubscriptionRepository() X509CertificateSubscriptionRepository X509PrivateKeyRepository() PrivateKeyRepository TransactionManager() TransactionManager }
type PrivateKeyRepository ¶
type PrivateKeyRepository interface { GetOrCreate(ctx context.Context, privKey *X509PrivateKeyDao) (*X509PrivateKeyDao, error) FindByIDs(ctx context.Context, ids []uuid.UUID) ([]*X509PrivateKeyDao, error) FindByPublicKeyHash(ctx context.Context, pubKeyHash []byte) (privKey *X509PrivateKeyDao, exists bool, err error) }
type PrivateKeyType ¶
type PrivateKeyType string
const ( PrivateKeyTypeRSA PrivateKeyType = "RSA" PrivateKeyTypeECDSA PrivateKeyType = "ECDSA" PrivateKeyTypeED25519 PrivateKeyType = "ED25519" )
Enum values for PrivateKeyType
type TransactionManager ¶
type X509CertificateDao ¶
type X509CertificateDao struct { ID uuid.UUID CommonName string SubjectAltNames []string IssuerHash []byte SubjectHash []byte BytesHash []byte Bytes []byte PublicKeyHash []byte ParentCertificateID *uuid.UUID PrivateKeyID *uuid.UUID NotBefore time.Time NotAfter time.Time CreatedAt time.Time }
X509CertificateDao serves as an abstraction for all the different per database x509 cert structs.
func NewX509CertificateDao ¶
func NewX509CertificateDao(ID uuid.UUID, commonName string, subjectAltNames []string, issuerHash []byte, subjectHash []byte, bytesHash []byte, bytes []byte, pubKeyHash []byte, parentCertID *uuid.UUID, privKeyID *uuid.UUID, notBefore time.Time, notAfter time.Time, createdAt time.Time) *X509CertificateDao
type X509CertificateRepository ¶
type X509CertificateRepository interface { GetOrCreate(ctx context.Context, cert *X509CertificateDao) (*X509CertificateDao, error) Update(ctx context.Context, cert *X509CertificateDao) (updatedCert *X509CertificateDao, updated bool, err error) FindByIssuerHashAndNoParentSet(ctx context.Context, issuerHash []byte) ([]*X509CertificateDao, error) FindByPublicKeyHashAndNoPrivateKeySet(ctx context.Context, pubKeyHash []byte) ([]*X509CertificateDao, error) FindBySubjectHash(ctx context.Context, subjectHash []byte) ([]*X509CertificateDao, error) FindAllByByteHashes(ctx context.Context, byteHashes []*[]byte) ([]*X509CertificateDao, error) FindLatestActiveBySANsAndCreatedAtAfter(ctx context.Context, subjectAltNames []string, sinceAfter time.Time) ([]*X509CertificateDao, error) FindCertificateChain(ctx context.Context, startCertId uuid.UUID) ([]*X509CertificateDao, error) }
type X509CertificateSubscriptionDao ¶
type X509CertificateSubscriptionDao struct { ID uuid.UUID `binding:"required" validate:"required" json:"id" toml:"id" yaml:"id"` SubjectAltNames []string `` /* 137-byte string literal not displayed */ IncludePrivateKey bool `binding:"required" validate:"required" json:"include_private_key" toml:"include_private_key" yaml:"include_private_key"` CreatedAt time.Time `binding:"required" validate:"required" json:"created_at" toml:"created_at" yaml:"created_at"` }
X509CertificateSubscriptionDao serves as an abstraction for all the different per database x509 Certificate subscription structs.
type X509CertificateSubscriptionRepository ¶
type X509CertificateSubscriptionRepository interface { Create(ctx context.Context, cert *X509CertificateSubscriptionDao) (*X509CertificateSubscriptionDao, error) FindByIDs(ctx context.Context, publicIDs []uuid.UUID) ([]*X509CertificateSubscriptionDao, error) Delete(ctx context.Context, subID uuid.UUID) (rowsDeleted int64, err error) }
type X509PrivateKeyDao ¶
type X509PrivateKeyDao struct { ID uuid.UUID Type PrivateKeyType PemBlockType string BytesHash []byte Bytes []byte PublicKeyHash []byte CreatedAt time.Time }
X509PrivateKeyDao serves as an abstraction for all the different per database private key structs.
func NewX509PrivateKeyDao ¶
func NewX509PrivateKeyDao(ID uuid.UUID, Type PrivateKeyType, pemBlockType string, bytesHash []byte, bytes []byte, pubKeyHash []byte, createdAt time.Time) *X509PrivateKeyDao
Click to show internal directories.
Click to hide internal directories.