mongocrypt

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2022 License: Apache-2.0 Imports: 2 Imported by: 22

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

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.

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