mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-04 22:17:59 +08:00
29 lines
948 B
Go
29 lines
948 B
Go
![]() |
// Copyright (c) Mainflux
|
||
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
// Package pki wraps vault client
|
||
|
package pki
|
||
|
|
||
|
import "time"
|
||
|
|
||
|
type Revoke struct {
|
||
|
RevocationTime time.Time `mapstructure:"revocation_time"`
|
||
|
}
|
||
|
|
||
|
type Cert struct {
|
||
|
ClientCert string `json:"client_cert" mapstructure:"certificate"`
|
||
|
IssuingCA string `json:"issuing_ca" mapstructure:"issuing_ca"`
|
||
|
CAChain []string `json:"ca_chain" mapstructure:"ca_chain"`
|
||
|
ClientKey string `json:"client_key" mapstructure:"private_key"`
|
||
|
PrivateKeyType string `json:"private_key_type" mapstructure:"private_key_type"`
|
||
|
Serial string `json:"serial" mapstructure:"serial_number"`
|
||
|
Expire time.Time `json:"expire" mapstructure:"-"`
|
||
|
}
|
||
|
|
||
|
type Agent interface {
|
||
|
// IssueCert issues certificate on PKI
|
||
|
IssueCert(cn string, ttl, keyType string, keyBits int) (Cert, error)
|
||
|
// Revoke revokes certificate from PKI
|
||
|
Revoke(serial string) (Revoke, error)
|
||
|
}
|