Class: Mongo::Crypt::Binding Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Binding
- Ampliado por:
- FFI::librería
- Definido en:
- lib/mongo/crypt/binding.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Un enlace de Ruby para la librería C libmongocrypt
Resumen de constantes colapsar
- MIN_LIBMONGOCRYPT_VERSION =
Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.
Versión mínima de libmongocrypt requerida por esta versión del controlador. Un intento de usar el controlador con cualquier versión anterior de libmongocrypt provocará un
LoadError. Gem::Versión.Nuevo('1.12.0')
Resumen del método de clase colapsar
-
.check_ctx_status(context) ⇒ nil
privado
Levanta un Mongo::Error::CryptError según el estado del objeto mongocrypt_ctx_t subyacente.
-
.check_kms_ctx_status(kms_context) ⇒ Objeto
privado
Si el bloque proporcionado devuelve falso, genera un error CryptError con la información de estado del objeto KmsContext proporcionado.
-
.check_status(handle) ⇒ nil
privado
Genera una excepción Mongo::Error::CryptError en función del estado del objeto subyacente mongocrypt_t.
-
.crypt_shared_lib_version(gestionar) ⇒ Entero
privado
Obtenga una constante de 64bits que codifique la versión de la librería crypt_shared cargada, si está disponible.
-
.ctx_datakey_init(context) ⇒ Objeto
privado
Inicializa el Contexto para crear una clave de datos.
-
.ctx_decrypt_init(contexto, comando) ⇒ Objeto
privado
Inicializar el contexto para la descifrado automática.
-
ctx_encrypt_init(context, db_name, command) ⇒ Object
privado
Inicializar el Contexto para el cifrado automático.
-
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
privado
Iniciar el Contexto para la descifrado explícito.
-
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
privado
Inicializa el Contexto para el cifrado explícito de expresiones.
-
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
privado
Inicializa el contexto para el cifrado explícito.
-
.ctx_finalize(contexto) ⇒ objeto
privado
Finaliza la máquina de estados representada por el Context.
-
.ctx_kms_done(context) ⇒ Object
privado
Indique a libmongocrypt que no recibirá más respuestas de KMS.
-
.ctx_mongo_db(context) ⇒ String
privado
Obtener el nombre de la base de datos para la operación collinfo actual.
-
.ctx_mongo_feed(contexto, doc) ⇒ Objeto
privado
Envia una respuesta del driver de vuelta a libmongocrypt.
-
.ctx_mongo_op(context) ⇒ BSON::Document
privado
Devuelve un BSON::Document que representa una operación que el driver debe realizar en nombre de libmongocrypt para obtener la información que necesita para continuar con el cifrado/descifrado (por ejemplo, un filtro para una query en el key vault).
-
.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil
privado
Devuelve un nuevo objeto KmsContext necesario para un objeto Context.
-
.ctx_provide_kms_providers(contexto, proveedores_kms) ⇒ Objeto
privado
Llame en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer la configuración del proveedor de KMS por contexto.
-
.ctx_rewrap_many_datakey_init(contexto, filtro) ⇒ Booleano
privado
Inicialice un contexto para volver a aplicar claves de datos.
-
.ctx_setopt_algorithm(contexto, nombre) ⇒ Objeto
privado
Configura el algoritmo en el contexto.
-
.ctx_setopt_algorithm_range(context, opts) ⇒ objeto
privado
Configuración de opciones para el cifrado explícito con el algoritmo "rango".
-
.ctx_setopt_contention_factor(contexto, factor) ⇒ Objeto
privado
Establece el factor de contención utilizado para el cifrado explícito.
-
.ctx_setopt_key_alt_names(contexto, key_alt_names) ⇒ Objeto
privado
Establezca varios nombres alternativos de clave al crear la clave de datos.
-
.ctx_setopt_key_encryption_key(context, key_document) ⇒ objeto
privado
Establece el documento de clave de cifrado de clave para crear una clave de datos.
-
.ctx_setopt_key_id(context, key_id) ⇒ Object
privado
Establece la opción ID de clave en un contexto de cifrado explícito.
-
.ctx_setopt_key_material(contexto, key_material) ⇒ Objeto
privado
Establece un material clave personalizado para usar en el cifrado de datos.
-
.ctx_setopt_query_type(context, query_type) ⇒ Object
privado
Establece el tipo de query a utilizar para el cifrado explícito FLE 2.
- .get_binary_data_direct(mongocrypt_binary_t) ⇒ Objeto privado
- .get_binary_len_direct(mongocrypt_binary_t) ⇒ objeto privado
-
.init(handle) ⇒ Object
privado
Inicializa el objeto Mongo::Crypt::Handle.
-
.kms_ctx_bytes_needed(kms_context) ⇒ Entero
privado
Obtener el número de bytes necesarios para el KmsContext.
-
.kms_ctx_endpoint(kms_context) ⇒ String | nil
privado
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
-
.kms_ctx_fail(kms_context) ⇒ true, false
privado
Compruebe si la última solicitud fallida para el contexto KMS puede volver a intentarse.
-
.kms_ctx_feed(kms_contexto, bytes) ⇒ Objeto
privado
Devuelve las respuestas del KMS a libmongocrypt.
-
.kms_ctx_get_kms_provider(kms_context) ⇒ objeto
privado
Obtén el identificador del proveedor de KMS asociado con esta solicitud de KMS.
-
.kms_ctx_message(kms_context) ⇒ String
privado
Obtenga el mensaje HTTP necesario para obtener la clave maestra de AWS KMS de un objeto KmsContext.
-
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
privado
Habilitar o deshabilitar el comportamiento de reintento de KMS.
-
.kms_ctx_status(kms_context) ⇒ Mongo::Crypt::Status
privado
Lee la información de estado del KmsContext dado en un objeto de estado sin generar.
-
.kms_ctx_usleep(kms_context) ⇒ Integer
privado
Devuelve el número de milisegundos que se deben esperar antes de enviar la solicitud de KMS para el contexto de KMS dado.
-
.mongocrypt_binary_data(binary) ⇒ FFI::Pointer
privado
Obtén el puntero a los datos subyacentes para el mongocrypt_binary_t.
-
.mongocrypt_binary_destroy(binario) ⇒ nulo
privado
Destruye el objeto mongocrypt_binary_t.
-
.mongocrypt_binary_len(binario) ⇒ Integer
privado
Obtén la longitud del arreglo de datos subyacente.
-
.mongocrypt_binary_new ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_binary_t (una vista no propietaria de un arreglo de bytes).
-
.mongocrypt_binary_new_from_data(data, len) ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero al arreglo de bytes especificado.
- .mongocrypt_crypt_shared_lib_version(crypt) ⇒ Object privado
- .mongocrypt_ctx_datakey_init(ctx, filtro) ⇒ objeto privado
-
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
privado
Inicializa el ctx para la descifrado automático.
-
.mongocrypt_ctx_destroy(ctx) ⇒ nil
privado
Destruye la referencia al objeto mongocrypt_ctx_t.
-
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
privado
Inicializa el ctx para el cifrado automático.
-
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa el ctx para una descifrado explícito.
-
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa el ctx para el cifrado explícito de expresiones.
-
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ Booleano
privado
Realice el cifrado o descifrado final y devuelva un documento BSON.
- .mongocrypt_ctx_mongo_db(ctx) ⇒ Object privado
-
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
privado
Indique a libmongocrypt que el driver terminó de enviar respuestas.
-
.mongocrypt_ctx_mongo_feed(ctx, reply) ⇒ Boolean
privado
Inyecta una respuesta BSON a libmongocrypt.
-
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ FFI::Pointer
privado
Devuelve un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
-
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ Booleano
privado
Obtén una operación BSON para que el controlador la ejecute en la colección de MongoDB, en la base de datos Key Vault o en mongocryptd.
-
.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_ctx_t (un contenedor para la máquina de estados libmongocrypt).
- .mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Objeto privado
-
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, len) ⇒ Booleano
privado
Establezca el algoritmo utilizado para el cifrado explícito.
- .mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ Objeto privado
- .mongocrypt_ctx_setopt_contention_factor(ctx, contention_factor) ⇒ Objeto privado
-
.mongocrypt_ctx_setopt_key_alt_name(ctx, binary) ⇒ Booleano
privado
Al crear una clave de datos, configure un nombre alternativo en esa clave.
-
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ booleano
privado
Establece el documento de clave de cifrado de clave para crear una clave de datos.
-
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
privado
Configurá el id de clave que se usará para el cifrado explícito.
-
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ Booleano
privado
Al crear una clave de datos, establezca un material clave personalizado para cifrar datos.
- .mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ Object privado
-
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
privado
Obtenga el estado actual del ctx.
-
.mongocrypt_ctx_status(ctx, status) ⇒ Booleano
privado
Establezca la información de estado desde el objeto mongocrypt_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_destroy(crypt) ⇒ nil
privado
Destruye la referencia del objeto mongocrypt_t.
-
.mongocrypt_init(crypt) ⇒ Booleano
privado
Inicializa el objeto mongocrypt_t.
-
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Entero
privado
Obtenga el número de bytes necesarios para el contexto KMS.
-
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
privado
Indique a libmongocrypt que no recibirá más respuestas de los objetos mongocrypt_kms_ctx_t.
-
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ booleano
privado
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
- .mongocrypt_kms_ctx_fail(ctx) ⇒ Object privado
-
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ booleano
privado
Devuelve las respuestas del KMS a libmongocrypt.
- .mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ Objeto privado
-
.mongocrypt_kms_ctx_message(kms, msg) ⇒ Booleano
privado
Obtenga el mensaje necesario para obtener la clave maestra de AWS KMS.
-
.mongocrypt_kms_ctx_status(kms, status) ⇒ Booleano
privado
Escribe información de estado sobre el objeto mongocrypt_kms_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
privado
Indica cuánto tiempo debe esperar antes de enviar la solicitud de KMS.
-
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ Booleano
privado
Configura un hash criptográfico para las operaciones AES256-CTR.
- .mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, path) ⇒ objeto privado
- .mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ Objeto privado
-
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ⇒ booleano
privado
Establezca un enlace criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256.
-
.mongocrypt_setopt_crypto_hooks(crypt, aes_enc_fn, aes_dec_fn, random_fn, sha_512_fn, sha_256_fn, hash_fn, ctx = nil) ⇒ Boolean
privado
Establecer hooks criptográficos en el objeto mongocrypt proporcionado.
- .mongocrypt_setopt_enable_multiple_collinfo(crypt) ⇒ Objeto privado
- .mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ objeto privado
-
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Object
privado
Configure los proveedores de KMS con un documento BSON.
-
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ Booleano
privado
Establece el gestor en el objeto mongocrypt_t para que se llame cada vez que libmongocrypt registre un mensaje.
- .mongocrypt_setopt_retry_kms(crypt, enable) ⇒ Object privado
-
mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ Booleano
privado
Establece un mapa de esquema local para el cifrado.
- .mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ objeto privado
- .mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ Object privado
- .mongocrypt_setopt_use_need_mongo_collinfo_with_db_state(crypt) ⇒ Objeto privado
-
.mongocrypt_status(crypt, status) ⇒ Booleano
privado
Establecer la información de estado del objeto mongocrypt_t en el objeto mongocrypt_status_t.
-
.mongocrypt_status_code(status) ⇒ Integer
privado
Devuelve el código de error de estado.
-
.mongocrypt_status_destroy(status) ⇒ nil
privado
Destruye la referencia al objeto mongocrypt_status_t.
-
.mongocrypt_status_message(status, len = nil) ⇒ String
privado
Devuelve el mensaje de estado.
-
.mongocrypt_status_new ⇒ FFI::Pointer
privado
Cree un nuevo objeto mongocrypt_status_t.
-
.mongocrypt_status_ok(estado) ⇒ Booleano
privado
Devuelve si el estado es correcto o un error.
-
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
privado
Establezca un mensaje, tipo y código en un estado existente.
-
.mongocrypt_status_type(status) ⇒ Symbol
privado
Indica el tipo de estatus.
-
.mongocrypt_version(len) ⇒ String
privado
Devuelve la string de versión de la librería libmongocrypt.
-
.ongocrypt_new ⇒ FFI::Pointer
privado
Crea un nuevo objeto mongocrypt_t.
-
.parse_version(version) ⇒ Gem::Version
privado
Dada una string que representa un número de versión, la convierte en un objeto Gem::Version.
-
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ Objeto
privado
Configura un hash criptográfico para las operaciones AES256-CTR.
-
.setopt_append_crypt_shared_lib_search_path(handle, path) ⇒ Objeto
privado
Agrega un directorio de búsqueda adicional a la ruta de búsqueda para cargar la librería dinámica crypt_shared.
-
.setopt_bypass_query_analysis(handle) ⇒ Objecto
privado
Opta por omitir el análisis de query.
-
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(gestionar, rsaes_pkcs_signature_cb) ⇒ Objeto
privado
Establece un hook de cifrado para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256 en el gestionar.
-
.setopt_crypto_hooks(handle, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ Objeto
privado
Configura funciones de retorno criptográficas en el gestionar.
-
.setopt_enable_multiple_collinfo(gestionar) ⇒ booleano
privado
Habilite la compatibilidad con varios esquemas de colección.
-
.setopt_encrypted_field_config_map(handle, efc_map) ⇒ Object
privado
Configura un EncryptedFieldConfigMap local para el cifrado.
-
.setopt_kms_providers(handle, kms_providers) ⇒ objeto
privado
Establece opciones de proveedores KMS en el objeto Mongo::Crypt::Handle.
-
.setopt_log_handler(handle, log_callback) ⇒ objeto
privado
Establece la función de retorno del registrador en el objeto Mongo::Crypt::Handle.
-
.setopt_schema_map(handle, schema_map_doc) ⇒ Object
privado
Configura el esquema map en el objeto Mongo::Crypt::Handle.
-
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ Object
privado
Configura una sola ruta de anulación para cargar la librería compartida criptográfica.
-
.setopt_use_need_kms_credentials_state(handle) ⇒ Objeto
privado
Optar por manejar el estado de MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
-
.setopt_use_need_mongo_collinfo_with_db_state(gestionar) ⇒ Objeto
privado
Optar por manejar el estado MONGOCRYPT_CTX_NEED_MONGO_COLLINFO_WITH_DB.
-
.validate_document(data) ⇒ Object
privado
Verifica que los datos especificados sean un Hash antes de serializarlos a BSON para evitar errores de libmongocrypt.
-
.validate_version(lmc_version) ⇒ Object
privado
Valida si la versión proporcionada de libmongocrypt es válida, es decir,
Resumen del método de instancia colapsar
-
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
privado
Una función de retorno a una función que realiza cifrado o descifrado AES.
-
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
privado
Una función de retorno a una función hash SHA-256.
-
#mongocrypt_hmac_fn(ctx, key, input, output, status) ⇒ Bool
privado
Una función de retorno a una función que realiza HMAC SHA-512 o SHA-256.
-
#mongocrypt_log_fn_t(nivel, mensaje, longitud, ctx) ⇒ nil
privado
Una función de retorno a la función de registro mongocrypt.
-
#mongocrypt_random_fn(ctx, output, count, status) ⇒ Bool
privado
Una función de retorno a una función aleatoria segura desde el punto de vista criptográfico.
Detalles del método de clase
.check_ctx_status(context) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Levanta un Mongo::Error::CryptError según el estado del objeto mongocrypt_ctx_t subyacente.
1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1893 def sí mismo.check_ctx_status(context) do_raise = si ¿block_given? !rendimiento else true end return a menos que do_raise Estado = Estado.Nuevo mongocrypt_ctx_status(context.ctx_p, Estado.ref) Estado.raise_crypt_error end |
.check_kms_ctx_status(kms_context) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Si el bloque proporcionado devuelve falso, genera un error CryptError con la información de estado del objeto KmsContext proporcionado.
1106 1107 1108 1109 1110 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1106 def sí mismo.check_kms_ctx_status(kms_context) return si rendimiento kms_ctx_status(kms_context).raise_crypt_error(KMS: true) end |
.check_status(gestionar) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Genera una excepción Mongo::Error::CryptError en función del estado del objeto subyacente mongocrypt_t.
1880 1881 1882 1883 1884 1885 1886 1887 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1880 def sí mismo.check_status(gestionar) return si rendimiento Estado = Estado.Nuevo mongocrypt_status(gestionar.ref, Estado.ref) Estado.raise_crypt_error end |
.crypt_shared_lib_version(handle) ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga una constante de 64bits que codifique la versión de la librería crypt_shared cargada, si está disponible.
La versión se codifica como cuatro números de 16bits, de mayor a menor:
- Versión principal
- Versión menor
- Revisión
- reservado
Por ejemplo, la versión 6.2.1 se codificaría como: 0x0006'0002'0001'0000
1619 1620 1621 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1619 def sí mismo.crypt_shared_lib_version(gestionar) mongocrypt_crypt_shared_lib_version(gestionar.ref) end |
.ctx_datakey_init(contexto) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el Contexto para crear una clave de datos
623 624 625 626 627 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 623 def sí mismo.ctx_datakey_init(context) check_ctx_status(context) hacer mongocrypt_ctx_datakey_init(context.ctx_p) end end |
.ctx_decrypt_init(contexto, comando) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para la autodecifrado
784 785 786 787 788 789 790 791 792 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 784 def sí mismo.ctx_decrypt_init(context, Comando) validate_document(Comando) Datos = Comando.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_decrypt_init(context.ctx_p, data_p) end end end |
.ctx_encrypt_init(contexto, db_name, command) ⟹ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para el auto-cifrado
690 691 692 693 694 695 696 697 698 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 690 def sí mismo.ctx_encrypt_init(context, db_name, Comando) validate_document(Comando) Datos = Comando.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_encrypt_init(context.ctx_p, db_name, -1, data_p) end end end |
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para el descifrado explícito
814 815 816 817 818 819 820 821 822 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 814 def sí mismo.ctx_explicit_decrypt_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_decrypt_init(context.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el Contexto para el cifrado explícito de expresiones.
758 759 760 761 762 763 764 765 766 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 758 def sí mismo.ctx_explicit_encrypt_expression_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_encrypt_expression_init(context.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el Contexto para cifrado explícito
724 725 726 727 728 729 730 731 732 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 724 def sí mismo.ctx_explicit_encrypt_init(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_explicit_encrypt_init(context.ctx_p, data_p) end end end |
.ctx_finalize(contexto) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Finaliza la máquina de estados representada por el Contexto
1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1217 def sí mismo.ctx_finalize(context) Binario = Binario.Nuevo check_ctx_status(context) hacer mongocrypt_ctx_finalize(context.ctx_p, Binario.ref) end # TODO: dado que el binario hace referencia a un puntero C, y ByteBuffer es # escrito en C en MRI, podríamos omitir una copia de los datos al hacer # ByteBuffer hace referencia a la string que es propiedad de libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Nuevo(Binario.to_s), moda: context.bson_mode) end |
.ctx_kms_done(context) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que no recibirá más respuestas de KMS.
1194 1195 1196 1197 1198 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1194 def sí mismo.ctx_kms_done(context) check_ctx_status(context) hacer mongocrypt_ctx_kms_done(context.ctx_p) end end |
.ctx_mongo_db(context) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtener el nombre de la base de datos para la operación collinfo actual.
1720 1721 1722 1723 1724 1725 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1720 def sí mismo.ctx_mongo_db(context) db_name = mongocrypt_ctx_mongo_db(context.ctx_p) return db_name si db_name check_ctx_status(context) end |
.ctx_mongo_feed(contexto, doc) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Alimenta una respuesta del driver de regreso a libmongocrypt
896 897 898 899 900 901 902 903 904 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 896 def sí mismo.ctx_mongo_feed(context, doc) validate_document(doc) Datos = doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_mongo_feed(context.ctx_p, data_p) end end end |
.ctx_mongo_op(context) ⇒ BSON::Document
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un BSON::Document que representa una operación que el driver debe realizar en nombre de libmongocrypt para obtener la información que necesita para continuar con el cifrado/descifrado (por ejemplo, un filtro para una query en el key vault).
867 868 869 870 871 872 873 874 875 876 877 878 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 867 def sí mismo.ctx_mongo_op(context) Binario = Binario.Nuevo check_ctx_status(context) hacer mongocrypt_ctx_mongo_op(context.ctx_p, Binario.ref) end # TODO: dado que el binario hace referencia a un puntero C, y ByteBuffer es # escrito en C en MRI, podríamos omitir una copia de los datos al hacer # ByteBuffer hace referencia a la string que es propiedad de libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Nuevo(Binario.to_s), moda: bson) end |
.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un nuevo objeto KmsContext necesario para un objeto Context.
928 929 930 931 932 933 934 935 936 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 928 def sí mismo.ctx_next_kms_ctx(context) kms_ctx_p = mongocrypt_ctx_next_kms_ctx(context.ctx_p) si kms_ctx_p.nulo? nulo else KmsContext.Nuevo(kms_ctx_p) end end |
.ctx_provide_kms_providers(context, kms_providers) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Llame en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer la configuración del proveedor KMS por contexto. Estos siguen el mismo formato que `mongocrypt_setopt_kms_providers``. Si no hay claves presentes en la entrada BSON, se usan la configuración del proveedor KMS configuradas para el mongocrypt_t durante la inicialización.
1759 1760 1761 1762 1763 1764 1765 1766 1767 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1759 def sí mismo.ctx_provide_kms_providers(context, kms_providers) validate_document(kms_providers) Datos = kms_providers.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_provide_kms_providers(context.ctx_p, data_p) end end end |
.ctx_rewrap_many_datakey_init(contexto, filtro) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicialice un contexto para volver a aplicar claves de datos.
654 655 656 657 658 659 660 661 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 654 def sí mismo.ctx_rewrap_many_datakey_init(context, filtro) filter_data = filtro.to_bson.to_s Binario.wrap_string(filter_data) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_rewrap_many_datakey_init(context.ctx_p, data_p) end end end |
.ctx_setopt_algorithm(context, name) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configurar el algoritmo en el contexto
567 568 569 570 571 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 567 def sí mismo.ctx_setopt_algorithm(context, Nombre) check_ctx_status(context) hacer mongocrypt_ctx_setopt_algorithm(context.ctx_p, Nombre, -1) end end |
.ctx_setopt_algorithm_range(contexto, opciones) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
El algoritmo de rango es únicamente experimental. No está destinado para
Configuración de opciones para el cifrado explícito con el algoritmo "rango".
uso público.
1866 1867 1868 1869 1870 1871 1872 1873 1874 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1866 def sí mismo.ctx_setopt_algorithm_range(context, opciones) validate_document(opciones) Datos = opciones.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_algorithm_range(context.ctx_p, data_p) end end end |
.ctx_setopt_contention_factor(contexto, factor) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece el factor de contención utilizado para el cifrado explícito. El factor de contención solo se utiliza para el cifrado FLE indexado 2.
1829 1830 1831 1832 1833 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1829 def sí mismo.ctx_setopt_contention_factor(context, factor) check_ctx_status(context) hacer mongocrypt_ctx_setopt_contention_factor(context.ctx_p, factor) end end |
.ctx_setopt_key_alt_names(context, key_alt_names) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer varios nombres de clave alternativos en la creación de clave de datos
498 499 500 501 502 503 504 505 506 507 508 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 498 def sí mismo.ctx_setopt_key_alt_names(context, clave_nombres_alternativos) clave_nombres_alternativos.cada hacer |key_alt_name| BSON = { keyAltName: key_alt_name }.to_bson.to_s Binario.wrap_string(BSON) hacer |key_alt_name_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_alt_name(context.ctx_p, key_alt_name_p) end end end end |
.ctx_setopt_key_encryption_key(contexto, documento_clave) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece el documento de clave de cifrado de clave para crear una clave de datos.
596 597 598 599 600 601 602 603 604 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 596 def sí mismo.ctx_setopt_key_encryption_key(context, Documento clave) validate_document(Documento clave) Datos = Documento clave.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_encryption_key(context.ctx_p, data_p) end end end |
.ctx_setopt_key_id(context, key_id) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece la opción ID de clave en un contexto de cifrado explícito.
465 466 467 468 469 470 471 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 465 def sí mismo.ctx_setopt_key_id(context, key_id) Binario.wrap_string(key_id) hacer |key_id_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_id(context.ctx_p, key_id_p) end end end |
.ctx_setopt_key_material(contexto, key_material) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece un material clave personalizado para usar en el cifrado de datos.
533 534 535 536 537 538 539 540 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 533 def sí mismo.ctx_setopt_key_material(context, material de clave) Datos = { 'keyMaterial' => material de clave }.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_ctx_status(context) hacer mongocrypt_ctx_setopt_key_material(context.ctx_p, data_p) end end end |
.ctx_setopt_query_type(context, query_type) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece el tipo de query que se utilizará para el cifrado explícito de FLE 2. El tipo de query solo se utiliza para el cifrado FLE indexado 2.
1797 1798 1799 1800 1801 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1797 def sí mismo.ctx_setopt_query_type(context, query_type) check_ctx_status(context) hacer mongocrypt_ctx_setopt_query_type(context.ctx_p, query_type, -1) end end |
get_binary_data_direct(mongocrypt_binary_t) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
179 180 181 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 179 def sí mismo.get_binary_data_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_pointer(0) end |
.get_binary_len_direct(mongocrypt_binary_t) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
183 184 185 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 183 def sí mismo.get_binary_len_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_uint32(FFI::NativeType::APUNTADOR.Tamaño) end |
.init(handle) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el objeto Mongo::Crypt::Handle
405 406 407 408 409 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 405 def sí mismo.init(gestionar) check_status(gestionar) hacer mongocrypt_init(gestionar.ref) end end |
.kms_ctx_bytes_needed(kms_context) ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtener el número de bytes necesarios para el KmsContext.
1062 1063 1064 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1062 def sí mismo.kms_ctx_bytes_needed(kms_context) mongocrypt_kms_ctx_bytes_needed(kms_context.kms_ctx_p) end |
.kms_ctx_endpoint(kms_context) ⇒ String | nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1038 def sí mismo.kms_ctx_endpoint(kms_context) ptr = FFI::MemoryPointer.Nuevo(puntero, 1) check_kms_ctx_status(kms_context) hacer mongocrypt_kms_ctx_endpoint(kms_context.kms_ctx_p, ptr) end str_ptr = ptr.read_pointer str_ptr.nulo? ? nulo : str_ptr.read_string.force_encoding('UTF-8') end |
.kms_ctx_fail(kms_context) ⇒ true, false
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Compruebe si la última solicitud fallida para el contexto KMS puede volver a intentarse.
1157 1158 1159 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1157 def sí mismo.kms_ctx_fail(kms_context) mongocrypt_kms_ctx_fail(kms_context.kms_ctx_p) end |
.kms_ctx_feed(kms_context, bytes) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve las respuestas del KMS a libmongocrypt.
1082 1083 1084 1085 1086 1087 1088 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1082 def sí mismo.kms_ctx_feed(kms_context, bytes) check_kms_ctx_status(kms_context) hacer Binario.wrap_string(bytes) hacer |bytes_p| mongocrypt_kms_ctx_feed(kms_context.kms_ctx_p, bytes_p) end end end |
.kms_ctx_get_kms_provider(kms_context) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén el identificador del proveedor de KMS asociado con esta solicitud de KMS.
Esto se utiliza para configurar de forma condicional las conexiones TLS en función de la solicitud de KMS. Es útil para KMIP, que se autentica con un certificado de cliente.
969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 969 def sí mismo.kms_ctx_get_kms_provider(kms_context) len_ptr = FFI::MemoryPointer.Nuevo(:uint32, 1) Proveedor = mongocrypt_kms_ctx_get_kms_provider( kms_context.kms_ctx_p, len_ptr ) si len_ptr.nil? nulo else len = si BSON::Entorno.jruby? # La implementación de FFI de JRuby no tiene el método `read(type)`, pero sí # tiene este `get_uint32`. len_ptr.get_uint32 else # Para MRI usamos un método documentado `read` - https://www.rubydoc.info/github/ffi/ffi/FFI%2FPointer:read len_ptr.Lea(:uint32) end Proveedor.read_string(len).to_sym end end |
.kms_ctx_message(kms_context) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el mensaje HTTP necesario para obtener la clave maestra de AWS KMS de un objeto KmsContext.
1009 1010 1011 1012 1013 1014 1015 1016 1017 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1009 def sí mismo.(kms_context) Binario = Binario.Nuevo check_kms_ctx_status(kms_context) hacer (kms_context.kms_ctx_p, Binario.ref) end Binario.to_s end |
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Habilitar o deshabilitar el comportamiento de reintento de KMS.
1176 1177 1178 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1176 def sí mismo.kms_ctx_setopt_retry_kms(gestionar, Valor) mongocrypt_setopt_retry_kms(gestionar.ref, Valor) end |
.kms_ctx_status(kms_context) ⇒ Mongo::Crypt::Status
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Lee la información de estado del KmsContext dado en un objeto de estado sin generar.
1118 1119 1120 1121 1122 1123 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1118 def sí mismo.kms_ctx_status(kms_context) Estado = Estado.Nuevo mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, Estado.ref) Estado end |
.kms_ctx_usleep(kms_context) ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el número de milisegundos que se deben esperar antes de enviar la solicitud de KMS para el contexto de KMS dado.
1140 1141 1142 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1140 def sí mismo.kms_ctx_usleep(kms_context) mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p) end |
.mongocrypt_binary_data(binary) ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén el puntero a los datos subyacentes para el mongocrypt_binary_t.
169 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 169 attach_function :mongocrypt_binary_data, [ puntero ], puntero |
.mongocrypt_binary_destroy(binario) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye el objeto mongocrypt_binary_t.
193 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 193 attach_function destroy_binary_mongocrypt, [ puntero ], :void |
.mongocrypt_binary_len(binario) ⇒ Entero
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén la longitud del arreglo de datos subyacente.
177 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 177 attach_function mongocrypt_binary_len, [ puntero ], :int |
.mongocrypt_binary_new ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_binary_t (una vista no propietaria de un arreglo de bytes).
145 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 145 attach_function mongocrypt_binary_new, [], puntero |
.mongocrypt_binary_new_from_data(data, len) ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero al arreglo de bytes especificado.
157 158 159 160 161 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 157 attach_function( mongocrypt_binary_new_from_data, %i[puntero Int], puntero ) |
.mongocrypt_crypt_shared_lib_version(crypt) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1597 1598 1599 1600 1601 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1597 attach_function( :mongocrypt_crypt_shared_lib_version, [ puntero ], :uint64 ) |
.mongocrypt_ctx_datakey_init(ctx, filter) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
616 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 616 attach_function :mongocrypt_ctx_datakey_init, [ puntero ], :bool |
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el ctx para la descifrado automático.
776 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 776 attach_function mongocrypt_ctx_decrypt_init, %i[puntero puntero], :bool |
.mongocrypt_ctx_destroy(ctx) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia al objeto mongocrypt_ctx_t.
1236 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1236 attach_function :mongocrypt_ctx_destroy, [ puntero ], :void |
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Este método espera que el BSON pasado esté en el formato: { "v": BSON valor a descifrar }.
Inicializa el ctx para el cifrado automático.
676 677 678 679 680 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 676 attach_function( :mongocrypt_ctx_encrypt_init, %i[puntero string Int puntero], :bool ) |
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el ctx para una descifrado explícito.
802 803 804 805 806 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 802 attach_function( mongocrypt_ctx_explicit_decrypt_init, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Antes de llamar a este método, debe ser configurar un key_id, key_alt_name (opcional) y un algoritmo de cifrado utilizando los siguientes métodos: mongocrypt_ctx_setopt_key_id, mongocrypt_ctx_setopt_key_alt_name y mongocrypt_ctx_setopt_algorithm.
Inicializa el ctx para el cifrado explícito de expresiones.
712 713 714 715 716 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 712 attach_function( :mongocrypt_ctx_explicit_encrypt_init, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Realice el cifrado o descifrado final y devuelva un documento BSON.
1209 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1209 attach_function :mongocrypt_ctx_finalize, %i[puntero puntero], :void |
.mongocrypt_ctx_mongo_db(ctx) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1714 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1714 attach_function :mongocrypt_ctx_mongo_db, [ puntero ], cadena |
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que el driver terminó de enviar respuestas.
912 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 912 attach_function :mongocrypt_ctx_mongo_done, [ puntero ], :bool |
.mongocrypt_ctx_mongo_feed(ctx, reply) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inyecta una respuesta BSON a libmongocrypt.
888 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 888 attach_function mongo_feed_ctx_mongocrypt, %i[puntero puntero], :bool |
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
920 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 920 attach_function :mongocrypt_ctx_next_kms_ctx, [ puntero ], puntero |
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén una operación BSON para que el controlador la ejecute en la colección de MongoDB, en la base de datos Key Vault o en mongocryptd.
856 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 856 attach_function :mongocrypt_ctx_mongo_op, %i[puntero puntero], :bool |
.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_ctx_t (un contenedor para la máquina de estados libmongocrypt).
436 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 436 attach_function :mongocrypt_ctx_new, [ puntero ], puntero |
.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1742 1743 1744 1745 1746 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1742 attach_function( mongocrypt_ctx_provide_kms_providers, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, len) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Establezca el algoritmo utilizado para el cifrado explícito.
553 554 555 556 557 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 553 attach_function( :mongocrypt_ctx_setopt_algorithm, %i[puntero string Int], :bool ) |
.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1848 1849 1850 1851 1852 1853 1854 1855 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1848 attach_function( Contexto: :mongocrypt_ctx_setopt_algorithm_range, %i[ puntero puntero ], :bool ) |
.mongocrypt_ctx_setopt_contention_factor(ctx, contention_factor) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1813 1814 1815 1816 1817 1818 1819 1820 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1813 attach_function( mongocrypt_ctx_setopt_contention_factor, %i[ puntero int64 ], :bool ) |
.mongocrypt_ctx_setopt_key_alt_name(ctx, binario) ⇒ booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Al crear una clave de datos, establezca un nombre alternativo para esa clave. Cuando se realice cifrado explícito, especificar qué clave de datos se debe utilizar para el cifrado según su campo keyAltName.
485 486 487 488 489 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 485 attach_function( set_key(nombre_alternativo), %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Establece el documento de clave de cifrado de clave para crear una clave de datos.
583 584 585 586 587 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 583 attach_function( :mongocrypt_ctx_setopt_key_encryption_key, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Configurá el id de clave que se usará para el cifrado explícito.
457 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 457 attach_function :mongocrypt_ctx_setopt_key_id, %i[puntero puntero], :bool |
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Al crear una clave de datos, establezca un material clave personalizado para cifrar datos.
520 521 522 523 524 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 520 attach_function( :mongocrypt_ctx_setopt_key_material, %i[puntero puntero], :bool ) |
.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1780 1781 1782 1783 1784 1785 1786 1787 1788 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1780 attach_function( mongocrypt_ctx_setopt_query_type, %i[ puntero string Int ], :bool ) |
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el estado actual del ctx.
844 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 844 attach_function mongocrypt_ctx_state, [ puntero ], mongocrypt_ctx_state |
.mongocrypt_ctx_status(ctx, status) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca la información de estado desde el objeto mongocrypt_ctx_t en el objeto mongocrypt_status_t.
446 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 446 attach_function :mongocrypt_ctx_status, %i[puntero puntero], :bool |
.mongocrypt_destroy(crypt) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia del objeto mongocrypt_t.
427 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 427 attach_function : mongocrypt_destroy, [ puntero ], :void |
.mongocrypt_init(crypt) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el objeto mongocrypt_t.
398 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 398 attach_function mongocrypt_init, [ puntero ], :bool |
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el número de bytes necesarios para el contexto KMS.
1055 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1055 attach_function :mongocrypt_kms_ctx_bytes_needed, [ puntero ], :int |
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que no recibirá más respuestas de los objetos mongocrypt_kms_ctx_t.
1187 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1187 attach_function :mongocrypt_ctx_kms_done, [ puntero ], :bool |
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén el nombre del host con el cual conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
1028 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1028 attach_function Punto final de :mongocrypt_kms_ctx, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_fail(ctx) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1151 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1151 attach_function Falló el contexto KMS de mongocrypt (:mongocrypt_kms_ctx_fail), [ puntero ], :bool |
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve las respuestas del KMS a libmongocrypt.
1074 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1074 attach_function :mongocrypt_kms_ctx_feed, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
954 955 956 957 958 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 954 attach_function( mongocrypt_kms_ctx_get_kms_provider, %i[puntero puntero], puntero ) |
.mongocrypt_kms_ctx_message(kms, msg) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el mensaje necesario para obtener la clave maestra de AWS KMS.
999 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 999 attach_function mensaje_kms_ctx, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_status(kms, status) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Escribe información de estado sobre el objeto mongocrypt_kms_ctx_t en el objeto mongocrypt_status_t.
1098 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1098 attach_function estado_ctx_kms, %i[puntero puntero], :bool |
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Indica cuánto tiempo debe esperar antes de enviar la solicitud de KMS.
1132 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1132 attach_function :mongocrypt_kms_ctx_usleep, [ puntero ], {:int64 |
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura un hash criptográfico para las operaciones AES256-CTR.
1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1493 attach_function( :mongocrypt_setopt_aes_256_ctr, %i[ puntero mongocrypt_crypto_fn mongocrypt_crypto_fn puntero ], :bool ) |
.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, path) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1530 1531 1532 1533 1534 1535 1536 1537 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1530 attach_function( mongocrypt_setopt_append_crypt_shared_lib_search_path, %i[ puntero string ], :void ) |
.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1469 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1469 attach_function(mongocrypt_setopt_bypass_query_analysis, [ puntero ], :void) |
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca un enlace criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256.
1386 1387 1388 1389 1390 1391 1392 1393 1394 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1386 attach_function( mongo cript: set opt crypto hook sign rsaes pkcs1_v1_5, %i[ puntero mongocrypt_hmac_fn puntero ], :bool ) |
.mongocrypt_setopt_crypto_hooks(crypt, aes_enc_fn, aes_dec_fn, random_fn, sha_512_fn, sha_256_fn, hash_fn, ctx = nil) ⇒ Boolean
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer hooks criptográficos en el objeto mongocrypt proporcionado.
1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1341 attach_function( mongocrypt_setopt_crypto_hooks, %i[ puntero mongocrypt_crypto_fn mongocrypt_crypto_fn mongocrypt_random_fn mongocrypt_hmac_fn mongocrypt_hmac_fn mongocrypt_hash_fn puntero ], :bool ) |
.mongocrypt_setopt_enable_multiple_collinfo(crypt) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1668 1669 1670 1671 1672 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1668 attach_function( :mongocrypt_setopt_enable_multiple_collinfo, [ puntero ], :bool ) |
.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1428 1429 1430 1431 1432 1433 1434 1435 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1428 attach_function( mongocrypt_setopt_encrypted_field_config_map, %i[ puntero puntero ], :bool ) |
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Configure los proveedores de KMS con un documento BSON.
342 343 344 345 346 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 342 attach_function( :mongocrypt_setopt_kms_providers, %i[puntero puntero], :bool ) |
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece el gestor en el objeto mongocrypt_t para que se llame cada vez que libmongocrypt registre un mensaje.
313 314 315 316 317 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 313 attach_function( :mongocrypt_setopt_log_handler, %i[puntero mongocrypt_log_fn_t puntero], :bool ) |
.mongocrypt_setopt_retry_kms(crypt, enable) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1169 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1169 attach_function mongocrypt_setopt_retry_kms, %i[puntero bool], :bool |
.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece un mapa de esquema local para el cifrado.
373 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 373 attach_function :mongocrypt_setopt_schema_map, %i[puntero puntero], :bool |
.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1559 1560 1561 1562 1563 1564 1565 1566 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1559 attach_function( ~:mongocrypt_setopt_set_crypt_shared_lib_path_override, %i[ puntero string ], :void ) |
.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1638 1639 1640 1641 1642 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1638 attach_function( :mongocrypt_setopt_use_need_kms_credentials_state, [ puntero ], :void ) |
.mongocrypt_setopt_use_need_mongo_collinfo_with_db_state(crypt) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
1692 1693 1694 1695 1696 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1692 attach_function( :mongocrypt_setopt_use_need_mongo_collinfo_with_db_state, [ puntero ], :void ) |
.mongocrypt_status(crypt, status) ⇒ booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer la información de estado del objeto mongocrypt_t en el objeto mongocrypt_status_t.
419 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 419 attach_function :mongocrypt_status, %i[puntero puntero], :bool |
.mongocrypt_status_code(status) ⇒ Integer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el código de error de estado.
241 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 241 attach_function :mongocrypt_status_code, [ puntero ], :int |
.mongocrypt_status_destroy(status) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia al objeto mongocrypt_status_t.
267 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 267 attach_function :mongocrypt_status_destroy, [ puntero ], :void |
.mongocrypt_status_message(status, len = nil) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el mensaje de estado.
251 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 251 attach_function mensaje_estado_mongocrypt, %i[puntero puntero], cadena |
.mongocrypt_status_new ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Cree un nuevo objeto mongocrypt_status_t.
207 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 207 attach_function :mongocrypt_status_new, [], puntero |
.mongocrypt_status_ok(status) ⇒ Booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve si el estado es correcto o un error.
259 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 259 attach_function :mongocrypt_status_ok, [ puntero ], :bool |
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca un mensaje, tipo y código en un estado existente.
221 222 223 224 225 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 221 attach_function( :mongocrypt_status_set, %i[puntero status_type Int string Int], :void ) |
.mongocrypt_status_type(status) ⇒ Symbol
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Indica el tipo de estatus.
233 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 233 attach_function :mongocrypt_status_type, [ puntero ], :status_type |
.mongocrypt_version(len) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la string de versión de la librería libmongocrypt.
93
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 93 attach_function :mongocrypt_version, [ puntero ], cadena |
.ongocrypt_new ⇒ FFI::Pointer
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_t.
301 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 301 attach_function mongocrypt_new(), [], puntero |
.parse_version(version) ⇒ Gem::Version
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Dada una string que representa un número de versión, la analiza en un objeto Gem::Version. Esto gestiona el caso en el que el string no esté en un formato compatible con Gem::Version mediante el uso de la interpretación personalizada.
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 106 def sí mismo.parse_version(Versión) Gem::Versión.Nuevo(Versión) rescate ArgumentError coincidencia = Versión.coincidencia(/\A(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?(?:-[A-Za-z+\d]+)?\z/) propagar ArgumentError.Nuevo("Malformed version number string #{version}") si coincidencia.nil? Gem::Versión.Nuevo( [ coincidencia[mayor], coincidencia[Menor], coincidencia[Parche] ].unirse('.') ) end |
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura un hash criptográfico para las operaciones AES256-CTR.
1511 1512 1513 1514 1515 1516 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1511 def sí mismo.setopt_aes_256_ctr(gestionar, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) check_status(gestionar) hacer mongocrypt_setopt_aes_256_ctr(gestionar.ref, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb, nulo) end end |
.setopt_append_crypt_shared_lib_search_path(handle, path) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Agrega un directorio de búsqueda adicional a la ruta de búsqueda para cargar la librería dinámica crypt_shared.
1544 1545 1546 1547 1548 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1544 def sí mismo.setopt_append_crypt_shared_lib_search_path(gestionar, ruta) check_status(gestionar) hacer mongocrypt_setopt_append_crypt_shared_lib_search_path(gestionar.ref, ruta) end end |
.setopt_bypass_query_analysis(handle) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Opta por omitir el análisis de query.
Si eliges participar:
- La librería compartida csfle no intentará cargarse.
- Un mongocrypt_ctx_t nunca ingresará al estado MONGOCRYPT_CTX_NEED_MARKINGS.
1478 1479 1480 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1478 def sí mismo.setopt_bypass_query_analysis(gestionar) mongocrypt_setopt_bypass_query_analysis(gestionar.ref) end |
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(gestionar, rsaes_pkcs_signature_cb) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece un hook de cifrado para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256 en el gestionar.
1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1403 def sí mismo.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( gestionar, rsaes_pkcs_firma_cb ) check_status(gestionar) hacer mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( gestionar.ref, rsaes_pkcs_firma_cb, nulo ) end end |
.setopt_crypto_hooks(handle, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura las devoluciones de llamada criptográficas en el Handle
1367 1368 1369 1370 1371 1372 1373 1374 1375 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1367 def sí mismo.setopt_crypto_hooks(gestionar, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) check_status(gestionar) hacer mongocrypt_setopt_crypto_hooks(gestionar.ref, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb, nulo) end end |
.setopt_enable_multiple_collinfo(gestionar) ⇒ booleano
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Habilite la compatibilidad con múltiples esquemas de colección. Necesario para admitir $lookup.
1678 1679 1680 1681 1682 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1678 def sí mismo.setopt_enable_multiple_collinfo(gestionar) check_status(gestionar) hacer mongocrypt_setopt_enable_multiple_collinfo(gestionar.ref) end end |
.setopt_encrypted_field_config_map(handle, efc_map) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura un EncryptedFieldConfigMap local para el cifrado.
1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1446 def sí mismo.setopt_encrypted_field_config_map(gestionar, efc_map) validate_document(efc_map) Datos = efc_map.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_encrypted_field_config_map( gestionar.ref, data_p ) end end end |
.setopt_kms_providers(handle, kms_providers) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca las opciones de proveedores de KMS en el objeto Mongo::Crypt::Handle
355 356 357 358 359 360 361 362 363 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 355 def sí mismo.setopt_kms_providers(gestionar, kms_providers) validate_document(kms_providers) Datos = kms_providers.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_kms_providers(gestionar.ref, data_p) end end end |
.setopt_log_handler(handle, log_callback) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca la función de retorno del registrador en el objeto Mongo::Crypt::gestionar
325 326 327 328 329 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 325 def sí mismo.setopt_log_handler(gestionar, log_callback) check_status(gestionar) hacer mongocrypt_setopt_log_handler(gestionar, log_callback, nulo) end end |
.setopt_schema_map(handle, schema_map_doc) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el mapa del esquema en el objeto Mongo::Crypt::Handle
382 383 384 385 386 387 388 389 390 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 382 def sí mismo.setopt_schema_map(gestionar, schema_map_doc) validate_document(schema_map_doc) Datos = schema_map_doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(gestionar) hacer mongocrypt_setopt_schema_map(gestionar.ref, data_p) end end end |
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ Objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura una sola ruta de anulación para cargar la librería compartida criptográfica.
1572 1573 1574 1575 1576 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1572 def sí mismo.setopt_set_crypt_shared_lib_path_override(gestionar, ruta) check_status(gestionar) hacer mongocrypt_setopt_set_crypt_shared_lib_path_override(gestionar.ref, ruta) end end |
.setopt_use_need_kms_credentials_state(handle) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Optar por manejar el estado de MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
Si se configura, antes de ingresar al estado MONGOCRYPT_CTX_NEED_KMS, los contextos pueden ingresar al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS y luego esperar a que se proporcionen las credenciales a través de mongocrypt_ctx_provide_kms_providers.
Un contexto solo ingresará a MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS si se ha establecido un documento vacío para un proveedor de KMS en mongocrypt_setopt_kms_providers.
1656 1657 1658 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1656 def sí mismo.setopt_use_need_kms_credentials_state(gestionar) mongocrypt_setopt_use_need_kms_credentials_state(gestionar.ref) end |
.setopt_use_need_mongo_collinfo_with_db_state(gestionar) ⇒ objeto
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Optar por manejar el estado MONGOCRYPT_CTX_NEED_MONGO_COLLINFO_WITH_DB.
1701 1702 1703 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1701 def sí mismo.setopt_use_need_mongo_collinfo_with_db_state(gestionar) mongocrypt_setopt_use_need_mongo_collinfo_with_db_state(gestionar.ref) end |
.validate_document(data) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Todas las instancias de BSON::Document también son instancias de Hash
Verifica que los datos especificados sean un Hash antes de serializarlos a BSON para evitar errores de libmongocrypt
1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1916 def sí mismo.validate_document(Datos) return si Datos.is_a?(encriptada) = si Datos.nil? 'Se intentó pasar datos nulos a libmongocrypt. ' + 'Los datos deben ser un hash' else "Se intentó pasar datos no válidos a libmongocrypt: #{data} " + 'Los datos deben ser un hash' end propagar Error::CryptError.Nuevo() end |
.validate_version(lmc_version) ⇒ Object
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Valida si la versión proporcionada de libmongocrypt es válida, es decir, igual o mayor que la versión mínima requerida. Lanza un LoadError si no.
129 130 131 132 133 134 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 129 def sí mismo.validate_version(lmc_version) si (actual_version = parse_version(lmc_version)) < MIN_LIBMONGOCRYPT_VERSION propagar LoadError, "libmongocrypt versión #{MIN_LIBMONGOCRYPT_VERSION} o superior es requerido, " + "pero se encontró la versión #{actual_version}." end end |
Detalles del método de instancia
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función que realiza cifrado o descifrado AES.
1259 1260 1261 1262 1263 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1259 función de retorno( :mongocrypt_crypto_fn, %i[puntero puntero puntero puntero puntero puntero puntero], :bool ) |
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función hash SHA-256.
1307 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1307 función de retorno función de hash :mongocrypt_hash_fn, %i[puntero puntero puntero puntero], :bool |
#mongocrypt_hmac_fn(ctx, key, input, output, status) ⇒ Bool
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función que realiza HMAC SHA-512 o SHA-256.
1284 1285 1286 1287 1288 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1284 función de retorno( :mongocrypt_hmac_fn, %i[puntero puntero puntero puntero puntero], :bool ) |
#mongocrypt_log_fn_t(level, message, len, ctx) ⇒ nil
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a la función de registro mongocrypt. Configura una función de retorno de registro personalizada con el método mongocrypt_setopt_log_handler
294 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 294 función de retorno :mongocrypt_log_fn_t, %i[nivel_de_log string Int puntero], :void |
#mongocrypt_random_fn(ctx, output, count, status) ⇒ Bool
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una función de retorno FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función aleatoria segura desde el punto de vista criptográfico.
1325 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1325 función de retorno :mongocrypt_random_fn, %i[puntero puntero Int puntero], :bool |