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.