cert

package
v0.0.0-...-5004fd2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 19, 2024 License: MIT Imports: 31 Imported by: 0

Documentation

Overview

Package cert provides primitives to interact with the openapi HTTP API.

Code generated by github.com/deepmap/oapi-codegen/v2 version v2.0.0 DO NOT EDIT.

Index

Constants

View Source
const (
	BearerAuthScopes = "BearerAuth.Scopes"
)

Variables

View Source
var (
	ErrTemplateInvalidSyntax = errors.New("template has invalid syntax")
)

Functions

func GetKeyStoreName

func GetKeyStoreName(nsKind base.NamespaceKind, nsID ID, policyIdentifier ID) string

func NewServer

func NewServer(apiServer api.APIServer) *server

func ProcessTemplate

func ProcessTemplate(c context.Context, templateName, templateStr string) (string, error)

func RegisterHandlers

func RegisterHandlers(router EchoRouter, si ServerInterface)

RegisterHandlers adds each server route to the EchoRouter.

func RegisterHandlersWithBaseURL

func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, baseURL string)

Registers handlers, and prepends BaseURL to the paths, so that the paths can be served under a prefix.

func SanitizeDNSNames

func SanitizeDNSNames(dnsNames []string) []string

func SanitizeEmailAddresses

func SanitizeEmailAddresses(emailAddresses []string) []string

func SanitizeIpAddresses

func SanitizeIpAddresses(ips []net.IP) []net.IP

Types

type AzureKeyvaultResourceCategory

type AzureKeyvaultResourceCategory string

AzureKeyvaultResourceCategory defines model for AzureKeyvaultResourceCategory.

const (
	AzureKeyvaultResourceCategoryCertificates AzureKeyvaultResourceCategory = "certificates"
	AzureKeyvaultResourceCategoryKeys         AzureKeyvaultResourceCategory = "keys"
	AzureKeyvaultResourceCategorySecrets      AzureKeyvaultResourceCategory = "secrets"
)

Defines values for AzureKeyvaultResourceCategory.

type CertDoc

type CertDoc struct {
	base.BaseDoc

	Status        CertificateStatus        `json:"status"`
	KeySpec       key.SigningKeySpec       `json:"keySpec"`
	KeyExportable bool                     `json:"keyExportable"`
	Subject       CertificateSubject       `json:"subject"`
	SANs          *SubjectAlternativeNames `json:"sans,omitempty"`
	Policy        base.DocLocator          `json:"policy"`
	PolicyVersion HexDigest                `json:"policyVersion"`
	Created       base.NumericDate         `json:"iat"`
	NotBefore     base.NumericDate         `json:"nbf"`
	NotAfter      base.NumericDate         `json:"exp"`
	Flags         []CertificateFlag        `json:"flags"`
	KeyVaultStore CertDocKeyVaultStore     `json:"keyVaultStore"`
	Issuer        base.DocLocator          `json:"issuer"`
}

func ApiReadCertDocByID

func ApiReadCertDocByID(c context.Context, rID base.ID) (*CertDoc, error)

wraps 404

func ReadCertDocByFullIdentifier

func ReadCertDocByFullIdentifier(c context.Context, fullIdentifier base.DocLocator) (*CertDoc, error)

func (*CertDoc) PopulateModel

func (d *CertDoc) PopulateModel(m *Certificate)

func (*CertDoc) PopulateModelRef

func (d *CertDoc) PopulateModelRef(m *CertificateRef)

type CertDocKeyVaultStore

type CertDocKeyVaultStore struct {
	Name string `json:"name"`
	ID   string `json:"id"`
	SID  string `json:"sid"`
}

type CertDocSigningPatch

type CertDocSigningPatch struct {
	KeySpec       key.SigningKeySpec   `json:"keySpec"`
	KeyVaultStore CertDocKeyVaultStore `json:"keyVaultStore"`
	Issuer        base.DocLocator      `json:"issuer"`
}

type CertPolicy

type CertPolicy = certPolicyComposed

CertPolicy defines model for CertPolicy.

type CertPolicyDoc

type CertPolicyDoc struct {
	base.BaseDoc

	DisplayName     string                   `json:"displayName"`
	KeySpec         key.SigningKeySpec       `json:"keySpec"`
	KeyExportable   bool                     `json:"keyExportable"`
	ExpiryTime      base.Period              `json:"expiryTime"`
	LifetimeAction  *key.LifetimeAction      `json:"lifetimeActions,omitempty"`
	Subject         CertificateSubject       `json:"subject"`
	SANs            *SubjectAlternativeNames `json:"sans,omitempty"`
	Flags           []CertificateFlag        `json:"flags"`
	Version         HexDigest                `json:"version"`
	IssuerNamespace base.NamespaceIdentifier `json:"issuerNamespace"`
}

func ReadCertPolicyDoc

func ReadCertPolicyDoc(c context.Context, rID base.ID) (*CertPolicyDoc, error)

func (*CertPolicyDoc) PopulateModel

func (d *CertPolicyDoc) PopulateModel(m *CertPolicy)

func (*CertPolicyDoc) PopulateModelRef

func (d *CertPolicyDoc) PopulateModelRef(m *CertPolicyRef)

populate ref

type CertPolicyFields

type CertPolicyFields struct {
	ExpiryTime                externalRef0.Period `json:"expiryTime"`
	Flags                     []CertificateFlag   `json:"flags"`
	IssuerNamespaceIdentifier externalRef0.Id     `json:"issuerNamespaceIdentifier"`
	// Deprecated:
	IssuerNamespaceKind     externalRef0.NamespaceKind   `json:"issuerNamespaceKind"`
	KeyExportable           bool                         `json:"keyExportable"`
	KeySpec                 externalRef1.SigningKeySpec  `json:"keySpec"`
	LifetimeAction          *externalRef1.LifetimeAction `json:"lifetimeAction,omitempty"`
	Subject                 CertificateSubject           `json:"subject"`
	SubjectAlternativeNames *SubjectAlternativeNames     `json:"subjectAlternativeNames,omitempty"`
	Version                 HexDigest                    `json:"version"`
}

CertPolicyFields defines model for CertPolicyFields.

type CertPolicyQueryDoc

type CertPolicyQueryDoc struct {
	base.QueryBaseDoc
	DisplayName string `json:"displayName"`
}

func (*CertPolicyQueryDoc) PopulateModelRef

func (d *CertPolicyQueryDoc) PopulateModelRef(r *CertPolicyRef)

PopulateModelRef implements base.ModelRefPopulater.

type CertPolicyRef

type CertPolicyRef = certPolicyRefComposed

CertPolicyRef defines model for CertPolicyRef.

type CertPolicyRefFields

type CertPolicyRefFields struct {
	DisplayName string `json:"displayName"`
}

CertPolicyRefFields defines model for CertPolicyRefFields.

type CertPolicyResponse

type CertPolicyResponse = CertPolicy

CertPolicyResponse defines model for CertPolicyResponse.

type CertQueryDoc

type CertQueryDoc struct {
	base.QueryBaseDoc
	ThumbprintSHA1 base.Base64RawURLEncodedBytes `json:"x5t"`
	NotAfter       base.NumericDate              `json:"exp"`
}

func (*CertQueryDoc) PopulateModelRef

func (d *CertQueryDoc) PopulateModelRef(m *CertificateRef)

PopulateModelRef implements base.ModelRefPopulater.

type CertRuleIssuerDoc

type CertRuleIssuerDoc = CertRuleIssuerLatestCertificateDoc

func (*CertRuleIssuerDoc) PopulateModel

func (d *CertRuleIssuerDoc) PopulateModel(r *CertificateRuleIssuer)

PopulateModel implements base.ModelPopulater.

type CertRuleIssuerLastNCertificateDoc

type CertRuleIssuerLastNCertificateDoc struct {
	CertRulePolicyDoc
	CertificateIDs []base.ID `json:"certificateIds"`
}

type CertRuleIssuerLatestCertificateDoc

type CertRuleIssuerLatestCertificateDoc struct {
	CertRulePolicyDoc
	CertificateID base.ID `json:"certificateId"`
}

type CertRulePolicyDoc

type CertRulePolicyDoc struct {
	base.BaseDoc
	PolicyID base.ID `json:"policyId"`
}

type Certificate

type Certificate = certificateComposed

Certificate defines model for Certificate.

type CertificateAttributes

type CertificateAttributes struct {
	Exp    *externalRef0.NumericDate     `json:"exp,omitempty"`
	Iat    *externalRef0.NumericDate     `json:"iat,omitempty"`
	Issuer *externalRef0.ResourceLocator `json:"issuer,omitempty"`
	Nbf    *externalRef0.NumericDate     `json:"nbf,omitempty"`
}

CertificateAttributes defines model for CertificateAttributes.

type CertificateFields

type CertificateFields struct {
	Alg                     externalRef1.JsonWebSignatureAlgorithm `json:"alg"`
	Flags                   []CertificateFlag                      `json:"flags,omitempty"`
	Jwk                     externalRef1.JsonWebKey                `json:"jwk"`
	KeyVaultSecretID        string                                 `json:"sid,omitempty"`
	Subject                 CertificateSubject                     `json:"subject"`
	SubjectAlternativeNames *SubjectAlternativeNames               `json:"subjectAlternativeNames,omitempty"`
}

CertificateFields defines model for CertificateFields.

type CertificateFlag

type CertificateFlag string

CertificateFlag defines model for CertificateFlag.

const (
	CertificateFlagCA         CertificateFlag = "ca"
	CertificateFlagClientAuth CertificateFlag = "clientAuth"
	CertificateFlagRootCA     CertificateFlag = "rootCa"
	CertificateFlagServerAuth CertificateFlag = "serverAuth"
)

Defines values for CertificateFlag.

type CertificateRef

type CertificateRef = certificateRefComposed

CertificateRef defines model for CertificateRef.

type CertificateRefFields

type CertificateRefFields struct {
	Attributes CertificateAttributes `json:"attributes"`
	Thumbprint string                `json:"thumbprint"`
}

CertificateRefFields defines model for CertificateRefFields.

type CertificateResponse

type CertificateResponse = Certificate

CertificateResponse defines model for CertificateResponse.

type CertificateRuleIssuer

type CertificateRuleIssuer struct {
	CertificateId externalRef0.Id `json:"certificateId,omitempty"`
	PolicyId      externalRef0.Id `json:"policyId"`
}

CertificateRuleIssuer defines model for CertificateRuleIssuer.

type CertificateStatus

type CertificateStatus string
const (
	CertificateStatusPending CertificateStatus = "pending"
	CertificateStatusIssued  CertificateStatus = "issued"
	CertificateStatusError   CertificateStatus = "error"
)

type CertificateSubject

type CertificateSubject struct {
	CommonName string `json:"commonName"`
}

CertificateSubject defines model for CertificateSubject.

func (*CertificateSubject) ToPkixName

func (s *CertificateSubject) ToPkixName() pkix.Name

type EchoRouter

type EchoRouter interface {
	CONNECT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	DELETE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	GET(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	HEAD(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	OPTIONS(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PATCH(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	POST(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	PUT(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
	TRACE(path string, h echo.HandlerFunc, m ...echo.MiddlewareFunc) *echo.Route
}

This is a simple interface which specifies echo.Route addition functions which are present on both echo.Echo and echo.Group, since we want to allow using either of them for path registration

type HexDigest

type HexDigest = base.HexDigest

type ID

type ID = base.ID

func QueryLatestCertificateIdsIssuedByPolicy

func QueryLatestCertificateIdsIssuedByPolicy(c ctx.RequestContext, policyFullIdentifier base.DocLocator, limit uint) ([]ID, error)

type ListCertificatesParams

type ListCertificatesParams struct {
	// PolicyId Policy ID
	PolicyId *string `form:"policyId,omitempty" json:"policyId,omitempty"`
}

ListCertificatesParams defines parameters for ListCertificates.

type ResourceTemplateGraphVarData

type ResourceTemplateGraphVarData struct {
	ID *string `json:"id,omitempty"`
}

type ResourceTemplateVarData

type ResourceTemplateVarData struct {
	Graph *ResourceTemplateGraphVarData `json:"graph,omitempty"`
}

type ServerInterface

type ServerInterface interface {
	// List cert policies
	// (GET /v1/{namespaceKind}/{namespaceId}/cert-policy)
	ListCertPolicies(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter) error
	// Get cert policy
	// (GET /v1/{namespaceKind}/{namespaceId}/cert-policy/{resourceId})
	GetCertPolicy(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter, resourceId externalRef0.ResourceIdParameter) error
	// List Key Vault role assignments
	// (GET /v1/{namespaceKind}/{namespaceId}/cert-policy/{resourceId}/keyvault-role-assignments/{resourceCategory})
	ListKeyVaultRoleAssignments(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter, resourceId externalRef0.ResourceIdParameter, resourceCategory AzureKeyvaultResourceCategory) error
	// Get certificate rules for namespace
	// (GET /v1/{namespaceKind}/{namespaceId}/cert-rule/issuer)
	GetCertificateRuleIssuer(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter) error
	// List certificates
	// (GET /v1/{namespaceKind}/{namespaceId}/certificates)
	ListCertificates(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter, params ListCertificatesParams) error
	// Get certificate
	// (GET /v1/{namespaceKind}/{namespaceId}/certificates/{resourceId})
	GetCertificate(ctx echo.Context, namespaceKind externalRef0.NamespaceKindParameter, namespaceId externalRef0.NamespaceIdParameter, resourceId externalRef0.ResourceIdParameter) error
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler ServerInterface
}

ServerInterfaceWrapper converts echo contexts to parameters.

func (*ServerInterfaceWrapper) GetCertPolicy

func (w *ServerInterfaceWrapper) GetCertPolicy(ctx echo.Context) error

GetCertPolicy converts echo context to params.

func (*ServerInterfaceWrapper) GetCertificate

func (w *ServerInterfaceWrapper) GetCertificate(ctx echo.Context) error

GetCertificate converts echo context to params.

func (*ServerInterfaceWrapper) GetCertificateRuleIssuer

func (w *ServerInterfaceWrapper) GetCertificateRuleIssuer(ctx echo.Context) error

GetCertificateRuleIssuer converts echo context to params.

func (*ServerInterfaceWrapper) ListCertPolicies

func (w *ServerInterfaceWrapper) ListCertPolicies(ctx echo.Context) error

ListCertPolicies converts echo context to params.

func (*ServerInterfaceWrapper) ListCertificates

func (w *ServerInterfaceWrapper) ListCertificates(ctx echo.Context) error

ListCertificates converts echo context to params.

func (*ServerInterfaceWrapper) ListKeyVaultRoleAssignments

func (w *ServerInterfaceWrapper) ListKeyVaultRoleAssignments(ctx echo.Context) error

ListKeyVaultRoleAssignments converts echo context to params.

type SubjectAlternativeNames

type SubjectAlternativeNames struct {
	DNSNames    []string `json:"dnsNames,omitempty"`
	Emails      []string `json:"emails,omitempty"`
	IPAddresses []net.IP `json:"ipAddresses,omitempty"`
}

SubjectAlternativeNames defines model for SubjectAlternativeNames.

func (*SubjectAlternativeNames) Sanitize

func (*SubjectAlternativeNames) WriteToDigest

func (sans *SubjectAlternativeNames) WriteToDigest(w io.Writer) (s int, err error)

type TemplateVarData

type TemplateVarData struct {
	Member *ResourceTemplateVarData `json:"member,omitempty"`
	My     *ResourceTemplateVarData `json:"my,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL