certificate

package
v0.0.0-...-6b52b4a Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeClient = "client"
	TypeServer = "provider"
)

Variables

View Source
var (
	// AttrOID is the ASN.1 object identifier for an attribute extension in an
	// X509 certificate
	AttrOID = asn1.ObjectIdentifier{1, 2, 3, 4, 5, 6, 7, 8, 1}
	// AttrOIDString is the string version of AttrOID
	AttrOIDString = "1.2.3.4.5.6.7.8.1"
)
View Source
var (
	ErrCertParse = errors.New("certificate resolution error!")
	ErrCertType  = errors.New("sentinel type error!")
)

Functions

func InitSelfCert

func InitSelfCert() error

self-signed certificate

func NewVerify

func NewVerify(cert, rootCert, dnsName string) *verifyCert

NewVerify Create a certificate validator

Types

type Attribute

type Attribute interface {
	// GetName returns the name of the attribute
	GetName() string
	// GetValue returns the value of the attribute
	GetValue() interface{}
}

Attribute is a name/value pair

type AttributeRequest

type AttributeRequest interface {
	// GetName returns the name of an attribute
	GetName() string
	// IsRequired returns true if the attribute is required
	IsRequired() bool
}

AttributeRequest is a request for an attribute

type Attributes

type Attributes struct {
	Attrs map[string]interface{} `json:"attrs"`
}

Attributes contains attribute names and values

func (*Attributes) Contains

func (a *Attributes) Contains(name string) bool

Contains returns true if the named attribute is found

func (*Attributes) Names

func (a *Attributes) Names() []string

Names returns the names of the attributes

func (*Attributes) True

func (a *Attributes) True(name string) error

True returns nil if the value of attribute 'name' is true; otherwise, an appropriate error is returned.

func (*Attributes) Value

func (a *Attributes) Value(name string) (interface{}, bool, error)

Value returns an attribute's value

type BasicCertConf

type BasicCertConf struct {
	SiteID    string
	ClusterID string
	Type      string
}

certificate base field

func LoadCert

func LoadCert(certData []byte) (*BasicCertConf, []byte, error)

type Mgr

type Mgr struct{}

Mgr is the attribute manager and is the main object for this package

func New

func New() *Mgr

New constructs an attribute manager

func (*Mgr) AddAttributesToCert

func (mgr *Mgr) AddAttributesToCert(attrs *Attributes, cert *x509.Certificate) error

AddAttributesToCert adds public attribute info to an X509 certificate.

func (*Mgr) AddAttributesToCertRequest

func (mgr *Mgr) AddAttributesToCertRequest(attrs *Attributes, cert *x509.CertificateRequest) error

AddAttributesToCertRequest ...

func (*Mgr) GetAttributesFromCert

func (mgr *Mgr) GetAttributesFromCert(cert *x509.Certificate) (*Attributes, error)

GetAttributesFromCert gets the attributes from a certificate.

func (*Mgr) ProcessAttributeRequests

func (mgr *Mgr) ProcessAttributeRequests(requests []AttributeRequest, attributes []Attribute) (*Attributes, error)

ProcessAttributeRequests takes an array of attribute requests and an identity's attributes and returns an Attributes object containing the requested attributes.

func (*Mgr) ProcessAttributeRequestsForCert

func (mgr *Mgr) ProcessAttributeRequestsForCert(requests []AttributeRequest, attributes []Attribute, cert *x509.Certificate) error

ProcessAttributeRequestsForCert add attributes to an X509 certificate, given attribute requests and attributes.

func (*Mgr) ToPkixExtension

func (mgr *Mgr) ToPkixExtension(attrs *Attributes) (pkix.Extension, error)

ToPkixExtension ...

Jump to

Keyboard shortcuts

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