Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cert ¶
type Cert struct { // The status of the CA // required: true // example: issued | expired Status string `json:"status,omitempty"` // The serial number of the CA // required: true // example: 7e:36:13:a5:31:9f:4a:76:10:64:2e:9b:0a:11:07:b7:e6:3e:cf:94 SerialNumber string `json:"serial_number,omitempty"` // The name/alias of the CA // required: true // example: Lamassu-CA Name string `json:"name,omitempty"` KeyMetadata PrivateKeyMetadataWithStregth `json:"key_metadata"` Subject Subject `json:"subject"` CertContent CertContent `json:"certificate"` // Expiration period of the new emmited CA // required: true // example: 262800h CaTTL int `json:"ca_ttl,omitempty"` EnrollerTTL int `json:"enroller_ttl,omitempty"` ValidFrom string `json:"valid_from"` ValidTo string `json:"valid_to"` RevocationTimestamp int64 `json:"revocation_timestamp,omitempty"` }
type CertContent ¶
type PrivateKey ¶
type PrivateKey struct { Key interface{} KeyType string }
func (*PrivateKey) GetPEMString ¶
func (pk *PrivateKey) GetPEMString() (string, error)
type PrivateKeyMetadata ¶
type PrivateKeyMetadataWithStregth ¶
type PrivateKeyMetadataWithStregth struct { // Algorithm used to create CA key // required: true // example: RSA KeyType string `json:"type"` // Length used to create CA key // required: true // example: 4096 KeyBits int `json:"bits"` // Strength of the key used to the create CA // required: true // example: low KeyStrength string `json:"strength"` }
type Secrets ¶
type Secrets interface { GetSecretProviderName(ctx context.Context) string GetCAs(ctx context.Context, caType CAType) ([]Cert, error) GetCA(ctx context.Context, caType CAType, caName string) (Cert, error) CreateCA(ctx context.Context, caType CAType, caName string, privateKeyMetadata PrivateKeyMetadata, subject Subject, caTTL int, enrollerTTL int) (Cert, error) ImportCA(ctx context.Context, caType CAType, caName string, certificate x509.Certificate, privateKey PrivateKey, enrollerTTL int) (Cert, error) DeleteCA(ctx context.Context, caType CAType, caName string) error GetIssuedCerts(ctx context.Context, caType CAType, caName string) ([]Cert, error) GetCert(ctx context.Context, caType CAType, caName string, serialNumber string) (Cert, error) DeleteCert(ctx context.Context, caType CAType, caName string, serialNumber string) error SignCertificate(ctx context.Context, caType CAType, CAcaName string, csr *x509.CertificateRequest, signVerbatim bool) (string, error) }
type Subject ¶
type Subject struct { // Common name of the CA certificate // required: true // example: Lamassu-Root-CA1-RSA4096 CN string `json:"common_name"` // Organization of the CA certificate // required: true // example: Lamassu IoT O string `json:"organization"` // Organization Unit of the CA certificate // required: true // example: Lamassu IoT department 1 OU string `json:"organization_unit"` // Country Name of the CA certificate // required: true // example: ES C string `json:"country"` // State of the CA certificate // required: true // example: Guipuzcoa ST string `json:"state"` // Locality of the CA certificate // required: true // example: Arrasate L string `json:"locality"` }
Click to show internal directories.
Click to hide internal directories.