Documentation ¶
Index ¶
- Constants
- func BytesToX509Cert(bytes []byte) (*x509.Certificate, error)
- func GetCertID(bytes []byte) (string, string, error)
- func NormalizeURL(addr string) (*url.URL, error)
- type Accessor
- func (d *Accessor) DeleteAffiliation(name string) error
- func (d *Accessor) DeleteUser(id string) error
- func (d *Accessor) GetAffiliation(name string) (spi.Affiliation, error)
- func (d *Accessor) GetUser(id string, attrs []string) (spi.User, error)
- func (d *Accessor) GetUserInfo(id string) (spi.UserInfo, error)
- func (d *Accessor) InsertAffiliation(name string, prekey string) error
- func (d *Accessor) InsertUser(user spi.UserInfo) error
- func (d *Accessor) SetDB(db *sqlx.DB)
- func (d *Accessor) UpdateUser(user spi.UserInfo) error
- type CertDBAccessor
- func (d *CertDBAccessor) GetCertificate(serial, aki string) (crs []certdb.CertificateRecord, err error)
- func (d *CertDBAccessor) GetCertificateWithID(serial, aki string) (crs CertRecord, err error)
- func (d *CertDBAccessor) GetCertificatesByID(id string) (crs []CertRecord, err error)
- func (d *CertDBAccessor) GetOCSP(serial, aki string) (ors []certdb.OCSPRecord, err error)
- func (d *CertDBAccessor) GetUnexpiredCertificates() (crs []certdb.CertificateRecord, err error)
- func (d *CertDBAccessor) GetUnexpiredOCSPs() (ors []certdb.OCSPRecord, err error)
- func (d *CertDBAccessor) InsertCertificate(cr certdb.CertificateRecord) error
- func (d *CertDBAccessor) InsertOCSP(rr certdb.OCSPRecord) error
- func (d *CertDBAccessor) RevokeCertificate(serial, aki string, reasonCode int) error
- func (d *CertDBAccessor) RevokeCertificatesByID(id string, reasonCode int) (crs []CertRecord, err error)
- func (d *CertDBAccessor) SetDB(db *sqlx.DB)
- func (d *CertDBAccessor) UpdateOCSP(serial, aki, body string, expiry time.Time) error
- func (d *CertDBAccessor) UpsertOCSP(serial, aki, body string, expiry time.Time) error
- type CertRecord
- type Client
- func (c *Client) CheckEnrollment() error
- func (c *Client) Enroll(req *api.EnrollmentRequest) (*EnrollmentResponse, error)
- func (c *Client) GenCSR(req *api.CSRInfo, id string) ([]byte, []byte, error)
- func (c *Client) GetServerInfo() (*GetServerInfoResponse, error)
- func (c *Client) Init() error
- func (c *Client) LoadCSRInfo(path string) (*api.CSRInfo, error)
- func (c *Client) LoadMyIdentity() (*Identity, error)
- func (c *Client) SendReq(req *http.Request, result interface{}) (err error)
- func (c *Client) StoreMyIdentity(key, cert []byte) error
- type ClientConfig
- type DBUser
- type EnrollmentResponse
- type GetServerInfoResponse
- type Identity
- func (i *Identity) GetECert() *Signer
- func (i *Identity) GetName() string
- func (i *Identity) GetTCertBatch(req *api.GetTCertBatchRequest) ([]*Signer, error)
- func (i *Identity) Post(endpoint string, reqBody []byte, result interface{}) error
- func (i *Identity) Reenroll(req *api.ReenrollmentRequest) (*EnrollmentResponse, error)
- func (i *Identity) Register(req *api.RegistrationRequest) (rr *api.RegistrationResponse, err error)
- func (i *Identity) Revoke(req *api.RevocationRequest) error
- func (i *Identity) RevokeSelf() error
- func (i *Identity) Store() error
- type Server
- type ServerConfig
- type ServerConfigCA
- type ServerConfigDB
- type ServerConfigIdentity
- type ServerConfigRegistry
- type Signer
- type UserRecord
Constants ¶
const ( // DefaultServerPort is the default listening port for the fabric-ca server DefaultServerPort = 7054 // DefaultServerAddr is the default listening address for the fabric-ca server DefaultServerAddr = "0.0.0.0" )
Variables ¶
This section is empty.
Functions ¶
func BytesToX509Cert ¶
func BytesToX509Cert(bytes []byte) (*x509.Certificate, error)
BytesToX509Cert converts bytes (PEM or DER) to an X509 certificate
Types ¶
type Accessor ¶
type Accessor struct {
// contains filtered or unexported fields
}
Accessor implements db.Accessor interface.
func NewDBAccessor ¶
func NewDBAccessor() *Accessor
NewDBAccessor is a constructor for the database API
func (*Accessor) DeleteAffiliation ¶
DeleteAffiliation deletes affiliation from database
func (*Accessor) DeleteUser ¶
DeleteUser deletes user from database
func (*Accessor) GetAffiliation ¶
func (d *Accessor) GetAffiliation(name string) (spi.Affiliation, error)
GetAffiliation gets affiliation from database
func (*Accessor) GetUserInfo ¶
GetUserInfo gets user information from database
func (*Accessor) InsertAffiliation ¶
InsertAffiliation inserts affiliation into database
func (*Accessor) InsertUser ¶
InsertUser inserts user into database
type CertDBAccessor ¶
type CertDBAccessor struct {
// contains filtered or unexported fields
}
CertDBAccessor implements certdb.Accessor interface.
func NewCertDBAccessor ¶
func NewCertDBAccessor(db *sqlx.DB) *CertDBAccessor
NewCertDBAccessor returns a new Accessor.
func (*CertDBAccessor) GetCertificate ¶
func (d *CertDBAccessor) GetCertificate(serial, aki string) (crs []certdb.CertificateRecord, err error)
GetCertificate gets a CertificateRecord indexed by serial.
func (*CertDBAccessor) GetCertificateWithID ¶
func (d *CertDBAccessor) GetCertificateWithID(serial, aki string) (crs CertRecord, err error)
GetCertificateWithID gets a CertificateRecord indexed by serial and returns user too.
func (*CertDBAccessor) GetCertificatesByID ¶
func (d *CertDBAccessor) GetCertificatesByID(id string) (crs []CertRecord, err error)
GetCertificatesByID gets a CertificateRecord indexed by id.
func (*CertDBAccessor) GetOCSP ¶
func (d *CertDBAccessor) GetOCSP(serial, aki string) (ors []certdb.OCSPRecord, err error)
GetOCSP retrieves a certdb.OCSPRecord from db by serial.
func (*CertDBAccessor) GetUnexpiredCertificates ¶
func (d *CertDBAccessor) GetUnexpiredCertificates() (crs []certdb.CertificateRecord, err error)
GetUnexpiredCertificates gets all unexpired certificate from db.
func (*CertDBAccessor) GetUnexpiredOCSPs ¶
func (d *CertDBAccessor) GetUnexpiredOCSPs() (ors []certdb.OCSPRecord, err error)
GetUnexpiredOCSPs retrieves all unexpired certdb.OCSPRecord from db.
func (*CertDBAccessor) InsertCertificate ¶
func (d *CertDBAccessor) InsertCertificate(cr certdb.CertificateRecord) error
InsertCertificate puts a CertificateRecord into db.
func (*CertDBAccessor) InsertOCSP ¶
func (d *CertDBAccessor) InsertOCSP(rr certdb.OCSPRecord) error
InsertOCSP puts a new certdb.OCSPRecord into the db.
func (*CertDBAccessor) RevokeCertificate ¶
func (d *CertDBAccessor) RevokeCertificate(serial, aki string, reasonCode int) error
RevokeCertificate updates a certificate with a given serial number and marks it revoked.
func (*CertDBAccessor) RevokeCertificatesByID ¶
func (d *CertDBAccessor) RevokeCertificatesByID(id string, reasonCode int) (crs []CertRecord, err error)
RevokeCertificatesByID updates all certificates for a given ID and marks them revoked.
func (*CertDBAccessor) SetDB ¶
func (d *CertDBAccessor) SetDB(db *sqlx.DB)
SetDB changes the underlying sql.DB object Accessor is manipulating.
func (*CertDBAccessor) UpdateOCSP ¶
func (d *CertDBAccessor) UpdateOCSP(serial, aki, body string, expiry time.Time) error
UpdateOCSP updates a ocsp response record with a given serial number.
func (*CertDBAccessor) UpsertOCSP ¶
func (d *CertDBAccessor) UpsertOCSP(serial, aki, body string, expiry time.Time) error
UpsertOCSP update a ocsp response record with a given serial number, or insert the record if it doesn't yet exist in the db
type CertRecord ¶
type CertRecord struct { ID string `db:"id"` certdb.CertificateRecord }
CertRecord extends CFSSL CertificateRecord by adding an enrollment ID to the record
type Client ¶
type Client struct { // HomeDir is the home directory HomeDir string `json:"homeDir,omitempty"` // The client's configuration Config *ClientConfig // contains filtered or unexported fields }
Client is the fabric-ca client object
func (*Client) CheckEnrollment ¶
CheckEnrollment returns an error if this client is not enrolled
func (*Client) Enroll ¶
func (c *Client) Enroll(req *api.EnrollmentRequest) (*EnrollmentResponse, error)
Enroll enrolls a new identity @param req The enrollment request
func (*Client) GetServerInfo ¶
func (c *Client) GetServerInfo() (*GetServerInfoResponse, error)
GetServerInfo returns generic server information
func (*Client) LoadCSRInfo ¶
LoadCSRInfo reads CSR (Certificate Signing Request) from a file @parameter path The path to the file contains CSR info in JSON format
func (*Client) LoadMyIdentity ¶
LoadMyIdentity loads the client's identity from disk
func (*Client) StoreMyIdentity ¶
StoreMyIdentity stores my identity to disk
type ClientConfig ¶
type ClientConfig struct { Debug bool `def:"false" opt:"d" help:"Enable debug level logging"` URL string `def:"http://localhost:7054" opt:"u" help:"URL of fabric-ca-server"` MSPDir string `def:"msp" opt:"M" help:"Membership Service Provider directory"` TLS tls.ClientTLSConfig Enrollment api.EnrollmentRequest CSR api.CSRInfo ID api.RegistrationRequest }
ClientConfig is the fabric-ca client's config
func (*ClientConfig) Enroll ¶
func (c *ClientConfig) Enroll(rawurl, home string) (*EnrollmentResponse, error)
Enroll a client given the server's URL and the client's home directory. The URL may be of the form: http://user:pass@host:port where user and pass are the enrollment ID and secret, respectively.
type DBUser ¶
DBUser is the databases representation of a user
func (*DBUser) GetAffiliationPath ¶
GetAffiliationPath returns the complete path for the user's affiliation.
func (*DBUser) GetAttribute ¶
GetAttribute returns the value for an attribute name
type EnrollmentResponse ¶
type EnrollmentResponse struct { Identity *Identity ServerInfo GetServerInfoResponse }
EnrollmentResponse is the response from Client.Enroll and Identity.Reenroll
type GetServerInfoResponse ¶
type GetServerInfoResponse struct { // CAName is the name of the CA CAName string // CAChain is the PEM-encoded bytes of the fabric-ca-server's CA chain. // The 1st element of the chain is the root CA cert CAChain []byte }
GetServerInfoResponse is the response from the GetServerInfo call
type Identity ¶
Identity is fabric-ca's implementation of an identity
func (*Identity) GetTCertBatch ¶
func (i *Identity) GetTCertBatch(req *api.GetTCertBatchRequest) ([]*Signer, error)
GetTCertBatch returns a batch of TCerts for this identity
func (*Identity) Post ¶
Post sends arbtrary request body (reqBody) to an endpoint. This adds an authorization header which contains the signature of this identity over the body and non-signature part of the authorization header. The return value is the body of the response.
func (*Identity) Reenroll ¶
func (i *Identity) Reenroll(req *api.ReenrollmentRequest) (*EnrollmentResponse, error)
Reenroll reenrolls an existing Identity and returns a new Identity @param req The reenrollment request
func (*Identity) Register ¶
func (i *Identity) Register(req *api.RegistrationRequest) (rr *api.RegistrationResponse, err error)
Register registers a new identity @param req The registration request
func (*Identity) Revoke ¶
func (i *Identity) Revoke(req *api.RevocationRequest) error
Revoke the identity associated with 'id'
func (*Identity) RevokeSelf ¶
RevokeSelf revokes the current identity and all certificates
type Server ¶
type Server struct { // The home directory for the server HomeDir string // BlockingStart if true makes the Start function blocking; // It is non-blocking by default. BlockingStart bool // The server's configuration Config *ServerConfig // The parent server URL, which is non-null if this is an intermediate server ParentServerURL string // contains filtered or unexported fields }
Server is the fabric-ca server
func (*Server) CertDBAccessor ¶
func (s *Server) CertDBAccessor() *CertDBAccessor
CertDBAccessor returns the certificate DB accessor for server
func (*Server) RegisterBootstrapUser ¶
RegisterBootstrapUser registers the bootstrap user with appropriate privileges
type ServerConfig ¶
type ServerConfig struct { Port int `def:"7054" opt:"p" help:"Listening port of fabric-ca-server"` Address string `def:"0.0.0.0" help:"Listening address of fabric-ca-server"` Debug bool `def:"false" opt:"d" help:"Enable debug level logging"` TLS tls.ServerTLSConfig CSP *factory.FactoryOpts CA ServerConfigCA Signing *config.Signing CSR csr.CertificateRequest Registry ServerConfigRegistry Affiliations map[string]interface{} LDAP ldap.Config DB ServerConfigDB Remote string `skip:"true"` Client *ClientConfig }
ServerConfig is the fabric-ca server's config The tags are recognized by the RegisterFlags function in fabric-ca/lib/util.go and are as follows: "def" - the default value of the field; "opt" - the optional one character short name to use on the command line; "help" - the help message to display on the command line; "skip" - to skip the field.
type ServerConfigCA ¶
type ServerConfigCA struct { Name string `opt:"n" help:"Certificate Authority name"` Keyfile string `def:"ca-key.pem" help:"PEM-encoded CA key file"` Certfile string `def:"ca-cert.pem" help:"PEM-encoded CA certificate file"` Chainfile string `def:"ca-chain.pem" help:"PEM-encoded CA chain file"` }
ServerConfigCA is the CA config for the fabric-ca server
type ServerConfigDB ¶
type ServerConfigDB struct { Type string `def:"sqlite3" help:"Type of database; one of: sqlite3, postgres, mysql"` Datasource string `def:"fabric-ca-server.db" help:"Data source which is database specific"` TLS tls.ClientTLSConfig }
ServerConfigDB is the database part of the server's config
type ServerConfigIdentity ¶
type ServerConfigIdentity struct { Name string Pass string `secret:"password"` Type string Affiliation string MaxEnrollments int Attrs map[string]string }
ServerConfigIdentity is identity information in the server's config
func (*ServerConfigIdentity) String ¶
func (sc *ServerConfigIdentity) String() string
type ServerConfigRegistry ¶
type ServerConfigRegistry struct { MaxEnrollments int `def:"0" help:"Maximum number of enrollments; valid if LDAP not enabled"` Identities []ServerConfigIdentity }
ServerConfigRegistry is the registry part of the server's config
type Signer ¶
type Signer struct {
// contains filtered or unexported fields
}
Signer represents a signer Each identity may have multiple signers, currently one ecert and multiple tcerts
func (*Signer) RevokeSelf ¶
RevokeSelf revokes only the certificate associated with this signer