helpers

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: May 23, 2022 License: AGPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CertificatesListForm = forms.Form{
	Fields: []forms.Field{
		{
			Name: "certificates",
			Validators: []forms.Validator{
				forms.IsOptional{Default: []interface{}{}},
				forms.IsList{
					Validators: []forms.Validator{
						forms.IsStringMap{
							Form: &epsForms.OperatorCertificateForm,
						},
					},
				},
			},
		},
	},
}
View Source
var NullValue = fmt.Errorf("null")

Functions

func BigInt

func BigInt(s string) (*big.Int, error)

func CalculateRecordHash

func CalculateRecordHash(record *eps.SignedChangeRecord) error

func CloseChannels added in v0.1.35

func CloseChannels(channels []eps.Channel) error

func GetChannelSettingsAndDefinition

func GetChannelSettingsAndDefinition(settings *eps.Settings, name string) (*eps.ChannelSettings, *eps.ChannelDefinition, error)

func GetRecordFingerprint

func GetRecordFingerprint(records []*eps.SignedChangeRecord, name, keyUsage string) string

func InitializeChannels

func InitializeChannels(broker eps.MessageBroker, directory eps.Directory, settings *eps.Settings) ([]eps.Channel, error)

func InitializeDatastore added in v0.1.58

func InitializeDatastore(settings *eps.DatastoreSettings, definitions *eps.Definitions) (eps.Datastore, error)

func InitializeDirectory

func InitializeDirectory(settings *eps.Settings) (eps.Directory, error)

func InitializeMessageBroker

func InitializeMessageBroker(settings *eps.Settings, directory eps.Directory) (eps.MessageBroker, error)

func IntegrateChangeRecord

func IntegrateChangeRecord(record *eps.SignedChangeRecord, entry *eps.DirectoryEntry) error

Integrates a record into the directory

func LoadCertificate

func LoadCertificate(path string, verifyUsage bool) (*x509.Certificate, error)

func LoadCertificateFromString

func LoadCertificateFromString(data string, verifyUsage bool) (*x509.Certificate, error)

func LoadPrivateKey

func LoadPrivateKey(path string) (*ecdsa.PrivateKey, error)

func LoadSignedData

func LoadSignedData(data []byte) (*eps.SignedData, error)

func OpenChannels added in v0.1.35

func OpenChannels(broker eps.MessageBroker, directory eps.Directory, settings *eps.Settings) ([]eps.Channel, error)

func RandomBytes

func RandomBytes(n int) ([]byte, error)

func RandomID

func RandomID(n int) ([]byte, error)

func RealSettingsPaths added in v0.2.1

func RealSettingsPaths(envSettingsName string) ([]string, error)

func Settings

func Settings(settingsPaths []string, fs fs.FS, definitions *eps.Definitions) (*eps.Settings, error)

func SettingsPaths

func SettingsPaths(envSettingsName string) ([]string, fs.FS, error)

func Sign

func Sign(data interface{}, key *ecdsa.PrivateKey, cert *x509.Certificate) (*eps.SignedData, error)

func StructuredHash

func StructuredHash(source interface{}) ([]byte, error)

Computes a hash of a structured data type that can contain various types like strings or []byte arrays. The hash reflects both the type values and the structure of the source.

func ToStringMap added in v0.1.62

func ToStringMap(value interface{}) (map[string]interface{}, error)

convert an arbitrary structure to a string map via the JSON encoding

func Verify

func Verify(signedData *eps.SignedData, rootCerts []*x509.Certificate, intermediateCerts []*x509.Certificate, name string) (bool, error)

func VerifyCertificate

func VerifyCertificate(cert, rootCert *x509.Certificate, intermediateCerts []*x509.Certificate, name string) error

func VerifyFingerprint

func VerifyFingerprint(cert *x509.Certificate, fingerprint string) bool

func VerifyRecord

func VerifyRecord(record *eps.SignedChangeRecord, verifiedRecords []*eps.SignedChangeRecord, rootCerts []*x509.Certificate, intermediateCerts []*x509.Certificate) (bool, error)

func VerifyRecordHash

func VerifyRecordHash(record *eps.SignedChangeRecord) (bool, error)

Types

type CertificatesList

type CertificatesList struct {
	Certificates []*eps.OperatorCertificate `json:"certificates"`
}

type CustomHashValue

type CustomHashValue interface {
	HashValue() interface{}
}

type SubjectInfo

type SubjectInfo struct {
	Name     string
	DNSNames []string
	Groups   []string
}

func GetSubjectInfo

func GetSubjectInfo(cert *x509.Certificate) (*SubjectInfo, error)

type Tag

type Tag struct {
	Name  string
	Value string
	Flag  bool
}

func ExtractTags

func ExtractTags(field reflect.StructField, tag string) []Tag

Jump to

Keyboard shortcuts

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