mongocrypt

package
v1.10.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2023 License: Apache-2.0 Imports: 2 Imported by: 22

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Version added in v1.10.1

func Version() string

Version returns the version string for the loaded libmongocrypt, or an empty string if libmongocrypt was not loaded.

Types

type Context

type Context struct{}

Context represents a mongocrypt_ctx_t handle

func (*Context) AddOperationResult

func (c *Context) AddOperationResult(result bsoncore.Document) error

AddOperationResult feeds the result of a database operation to mongocrypt.

func (*Context) Close

func (c *Context) Close()

Close cleans up any resources associated with the given Context instance.

func (*Context) CompleteOperation

func (c *Context) CompleteOperation() error

CompleteOperation signals a database operation has been completed.

func (*Context) Finish

func (c *Context) Finish() (bsoncore.Document, error)

Finish performs the final operations for the context and returns the resulting document.

func (*Context) FinishKmsContexts

func (c *Context) FinishKmsContexts() error

FinishKmsContexts signals that all KMS contexts have been completed.

func (*Context) NextKmsContext

func (c *Context) NextKmsContext() *KmsContext

NextKmsContext returns the next KmsContext, or nil if there are no more.

func (*Context) NextOperation

func (c *Context) NextOperation() (bsoncore.Document, error)

NextOperation gets the document for the next database operation to run.

func (*Context) State

func (c *Context) State() State

State returns the current State of the Context.

type Error

type Error struct {
	Code    int32
	Message string
}

Error represents an error from an operation on a MongoCrypt instance.

func (Error) Error

func (Error) Error() string

Error implements the error interface

type KmsContext

type KmsContext struct{}

KmsContext represents a mongocrypt_kms_ctx_t handle.

func (*KmsContext) BytesNeeded

func (kc *KmsContext) BytesNeeded() int32

BytesNeeded returns the number of bytes that should be received from the KMS. After sending the message to the KMS, this message should be called in a loop until the number returned is 0.

func (*KmsContext) FeedResponse

func (kc *KmsContext) FeedResponse(response []byte) error

FeedResponse feeds the bytes received from the KMS to mongocrypt.

func (*KmsContext) HostName

func (kc *KmsContext) HostName() (string, error)

HostName gets the host name of the KMS.

func (*KmsContext) KMSProvider added in v1.8.0

func (kc *KmsContext) KMSProvider() string

KMSProvider gets the KMS provider of the KMS context.

func (*KmsContext) Message

func (kc *KmsContext) Message() ([]byte, error)

Message returns the message to send to the KMS.

type MongoCrypt

type MongoCrypt struct{}

MongoCrypt represents a mongocrypt_t handle.

func NewMongoCrypt

func NewMongoCrypt(opts *options.MongoCryptOptions) (*MongoCrypt, error)

NewMongoCrypt constructs a new MongoCrypt instance configured using the provided MongoCryptOptions.

func (*MongoCrypt) Close

func (m *MongoCrypt) Close()

Close cleans up any resources associated with the given MongoCrypt instance.

func (*MongoCrypt) CreateDataKeyContext

func (m *MongoCrypt) CreateDataKeyContext(kmsProvider string, opts *options.DataKeyOptions) (*Context, error)

CreateDataKeyContext creates a Context to use for creating a data key.

func (*MongoCrypt) CreateDecryptionContext

func (m *MongoCrypt) CreateDecryptionContext(cmd bsoncore.Document) (*Context, error)

CreateDecryptionContext creates a Context to use for decryption.

func (*MongoCrypt) CreateEncryptionContext

func (m *MongoCrypt) CreateEncryptionContext(db string, cmd bsoncore.Document) (*Context, error)

CreateEncryptionContext creates a Context to use for encryption.

func (*MongoCrypt) CreateExplicitDecryptionContext

func (m *MongoCrypt) CreateExplicitDecryptionContext(doc bsoncore.Document) (*Context, error)

CreateExplicitDecryptionContext creates a Context to use for explicit decryption.

func (*MongoCrypt) CreateExplicitEncryptionContext

func (m *MongoCrypt) CreateExplicitEncryptionContext(doc bsoncore.Document, opts *options.ExplicitEncryptionOptions) (*Context, error)

CreateExplicitEncryptionContext creates a Context to use for explicit encryption.

func (*MongoCrypt) CryptSharedLibVersion added in v1.10.0

func (m *MongoCrypt) CryptSharedLibVersion() uint64

CryptSharedLibVersion returns the version number for the loaded crypt_shared library, or 0 if the crypt_shared library was not loaded.

func (*MongoCrypt) CryptSharedLibVersionString added in v1.10.0

func (m *MongoCrypt) CryptSharedLibVersionString() string

CryptSharedLibVersionString returns the version string for the loaded crypt_shared library, or an empty string if the crypt_shared library was not loaded.

func (*MongoCrypt) RewrapDataKeyContext added in v1.10.0

func (m *MongoCrypt) RewrapDataKeyContext(filter []byte, opts *options.RewrapManyDataKeyOptions) (*Context, error)

RewrapDataKeyContext creates a Context to use for rewrapping a data key.

type State

type State int

State represents a state that a MongocryptContext can be in.

const (
	StateError State = iota
	NeedMongoCollInfo
	NeedMongoMarkings
	NeedMongoKeys
	NeedKms
	Ready
	Done
)

These constants are valid values for the State type.

func (State) String

func (s State) String() string

String implements the Stringer interface.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL