Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrCertificateLoad = errors.New("failed to load certificate") ErrCertificateLoadRoot = fmt.Errorf("%w: %s", ErrCertificateLoad, "root certificate") ErrCertificateLoadClient = fmt.Errorf("%w: %s", ErrCertificateLoad, "client certificate") ErrKMIPVersionInvalid = errors.New("invalid KMIP version") ErrServerHostnameIPMissing = errors.New("both server hostname and IP are not provided") ErrServerPortMissing = errors.New("server port is not provided") ErrRootCertMissing = errors.New("root certificate is not provided") ErrClientCertMissing = errors.New("client certificate is not provided") ErrClientKeyMissing = errors.New("client private key is not provided") ErrKMIPReqFailure = errors.New("kmip request failure") ErrKMIPGetOpFailure = errors.New("failed to perform get operation") ErrKMIPDecodeFailure = errors.New("failed to decode") ErrKMIPPerformCreateSymmetricKey = errors.New("failed to perform KMIP create symmetric key operation") ErrKMIPDecodeCreateSymmetricKey = errors.New("failed to decode KMIP create symmetric key response") ErrKMIPPerformEncrypt = errors.New("failed to perform KMIP encrypt operation") ErrKMIPDecodeEncrypt = errors.New("failed to decode KMIP encrypt response") ErrKMIPPerformDecrypt = errors.New("failed to perform KMIP decrypt operation") ErrKMIPDecodeDecrypt = errors.New("failed to decode KMIP decrypt response") )
var V10 = Version{Major: 1, Minor: 0} // first KMIP version
var V12 = Version{Major: 1, Minor: 2} //nolint:gomnd // KMIP version that implemented encrypt / decrypt
var V20 = Version{Major: 2, Minor: 0} //nolint:gomnd // KMIP major version change (create operation signature changed)
Functions ¶
This section is empty.
Types ¶
type Attributes ¶
type Attributes struct {
CryptographicAlgorithm kmip14.CryptographicAlgorithm
CryptographicLength int32
CryptographicUsageMask kmip14.CryptographicUsageMask
}
Attributes key attributes required by Create request operation.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is used to communicate with a KMIP speaking server.
func NewClient ¶
NewClient creates a new KMIP client and initializes all the values required for establishing connection.
func (*Client) CreateSymmetricKey ¶
CreateSymmetricKey creates a symmetric key on KMIP server.
func (*Client) Decrypt ¶
func (kc *Client) Decrypt(keyID string, data, iv []byte) (*DecryptResponse, error)
Decrypt decrypts data with an existing managed object stored by the KMIP server.
type Config ¶
type Config struct {
Version Version
IP string
Port int
Hostname string
Username string
Password string
ClientPrivateKey []byte
ClientCertificate []byte
RootCertificate []byte
}
Config structure used to configure a KMIP client.
type CreateRequestV20 ¶
type CreateRequestV20 struct {
ObjectType kmip20.ObjectType
Attributes Attributes
}
CreateRequestV20 used to Create symmetric key operation for KMIP 2.0+ servers.
type CreateResponse ¶
type CreateResponse struct {
UniqueIdentifier string
}
CreateResponse response message for create operation.
type DecryptRequest ¶
type DecryptRequest struct {
UniqueIdentifier kmip20.UniqueIdentifierValue
Data []byte
IVCounterNonce []byte
}
DecryptRequest used for Decrypt request operation.
type DecryptResponse ¶
DecryptResponse response of Decrypt operation.
type EncryptRequest ¶
type EncryptRequest struct {
UniqueIdentifier kmip20.UniqueIdentifierValue
Data []byte
}
EncryptRequest used for Encrypt request operation.
type EncryptResponse ¶
EncryptResponse response of Encrypt operation.
type GetRequest ¶
type GetRequest struct {
UniqueIdentifier kmip20.UniqueIdentifierValue
}
GetRequest used for Get request operation.
type GetResponse ¶
type GetResponse struct {
ObjectType kmip14.ObjectType
UniqueIdentifier string
SymmetricKey kmip.SymmetricKey
PrivateKey kmip.PrivateKey
}
GetResponse response of Get operation.