connectivity_adapter

package
v0.0.0-...-0e91422 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApplicationHeader = "Application"
	GroupHeader       = "Group"
	TenantHeader      = "Tenant"
	Tenant            = "testkit-tenant"
	Extensions        = ""
	KeyAlgorithm      = "rsa2048"
)

Variables

This section is empty.

Functions

func CheckIfCertIsSigned

func CheckIfCertIsSigned(t *testing.T, certificates []*x509.Certificate)

CheckIfCertIsSigned verifies that client certificate is signed by server certificate

func CheckIfSubjectEquals

func CheckIfSubjectEquals(t *testing.T, expectedSubject string, certificate *x509.Certificate)

CheckIfSubjectEquals verifies that specified subject is equal to this in certificate

func CreateCsr

func CreateCsr(t *testing.T, strSubject string, keys *rsa.PrivateKey) []byte

CreateCsr creates CSR request

func CreateKey

func CreateKey(t *testing.T) *rsa.PrivateKey

Create Key generates rsa.PrivateKey

func EncodeBase64

func EncodeBase64(src []byte) string

func NewHttpClient

func NewHttpClient(skipVerify bool) *http.Client

Types

type ApiInfo

type ApiInfo struct {
	*RuntimeURLs
	ManagementInfoURL string `json:"infoUrl"`
	CertificatesURL   string `json:"certificatesUrl"`
}

type ApplicationClientIdentity

type ApplicationClientIdentity struct {
	Application string `json:"application,omitempty"`
	ClusterClientIdentity
}

type CertInfo

type CertInfo struct {
	Subject      string `json:"subject"`
	Extensions   string `json:"extensions"`
	KeyAlgorithm string `json:"key-algorithm"`
}

type ClusterClientIdentity

type ClusterClientIdentity struct {
	Group  string `json:"group"`
	Tenant string `json:"tenant"`
}

type ConnectorClient

type ConnectorClient interface {
	CreateToken(t *testing.T) TokenResponse
	GetInfo(t *testing.T, url string) (*InfoResponse, *Error)
	CreateCertChain(t *testing.T, csr, url string) (*CrtResponse, *Error)
}

func NewConnectorClient

func NewConnectorClient(directorClient director.Client, appID, tenant string, skipVerify bool) ConnectorClient

type CreateServiceResponse

type CreateServiceResponse struct {
	ID string `json:"id"`
}

type CrtResponse

type CrtResponse struct {
	CRTChain  string `json:"crt"`
	ClientCRT string `json:"clientCrt"`
	CaCRT     string `json:"caCrt"`
}

type CsrRequest

type CsrRequest struct {
	Csr string `json:"csr"`
}

type DecodedCrtResponse

type DecodedCrtResponse struct {
	CRTChain  []*x509.Certificate
	ClientCRT *x509.Certificate
	CaCRT     *x509.Certificate
}

func DecodeAndParseCerts

func DecodeAndParseCerts(t *testing.T, crtResponse *CrtResponse) DecodedCrtResponse

DecodeAndParseCerts decodes base64 encoded certificates chain and parses it

type Error

type Error struct {
	StatusCode    int
	ErrorResponse ErrorResponse
}

type ErrorResponse

type ErrorResponse struct {
	Code  int    `json:"code"`
	Error string `json:"error"`
}

type InfoResponse

type InfoResponse struct {
	CertURL     string   `json:"csrUrl"`
	Api         ApiInfo  `json:"api"`
	Certificate CertInfo `json:"certificate"`
}

type ManagementInfoResponse

type ManagementInfoResponse struct {
	URLs           ManagementInfoURLs        `json:"urls"`
	ClientIdentity ApplicationClientIdentity `json:"clientIdentity"`
	Certificate    CertInfo                  `json:"certificate"`
}

type ManagementInfoURLs

type ManagementInfoURLs struct {
	*RuntimeURLs
	RenewCertURL  string `json:"renewCertUrl"`
	RevokeCertURL string `json:"revokeCertUrl"`
}

type RevocationBody

type RevocationBody struct {
	Hash string
}

type RuntimeURLs

type RuntimeURLs struct {
	MetadataURL string `json:"metadataUrl"`
	EventsURL   string `json:"eventsUrl"`
}

type SecuredClient

type SecuredClient interface {
	GetMgmInfo(t *testing.T, url string) (*ManagementInfoResponse, *Error)
	RenewCertificate(t *testing.T, url string, csr string) (*CrtResponse, *Error)
	RevokeCertificate(t *testing.T, url string) *Error

	ListServices(t *testing.T, url string) ([]model.Service, *Error)
	CreateService(t *testing.T, url string, service model.ServiceDetails) (*CreateServiceResponse, *Error)
	GetService(t *testing.T, url string, id string) (*model.ServiceDetails, *Error)
	UpdateService(t *testing.T, url string, id string, service model.ServiceDetails) (*model.ServiceDetails, *Error)
	DeleteService(t *testing.T, url string, id string) *Error
}

func NewSecuredClient

func NewSecuredClient(skipVerify bool, key *rsa.PrivateKey, certs []byte, tenant string) SecuredClient

type TokenResponse

type TokenResponse struct {
	URL   string `json:"url"`
	Token string `json:"token"`
}

Jump to

Keyboard shortcuts

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