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
Colapso delresumen constante
- MIN_LIBMONGOCRYPT_VERSION =
Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Versión mínima de libmongocrypt requerida por esta versión del controlador. Intentar usar el driver con cualquier versión anterior de libmongocrypt provocará un ‘LoadError` (Error de carga).
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, genere un 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(contexto) ⇒ Objeto
privado
Inicialice 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
Finalizar la máquina de estados representada por el Contexto.
-
.ctx_kms_done(context) ⇒ Object
privado
Indique a libmongocrypt que no recibirá más respuestas de KMS.
-
.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 controlador 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 consulta de almacén de claves).
-
.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
Establezca opciones para el cifrado explícito con el algoritmo “rango”.
-
.ctx_setopt_contention_factor(contexto, factor) ⇒ Objeto
privado
Establezca 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(contexto, documento_clave) ⇒ Objeto
privado
Establecer 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, material_clave) ⇒ Objeto
privado
Establece un material clave personalizado para usar en el cifrado de datos.
-
.ctx_setopt_query_type(contexto, tipo de consulta) ⇒ Objeto
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(identificador) ⇒ Objeto
privado
Inicializa el objeto Mongo::Crypt::Handle.
-
.kms_ctx_bytes_needed(kms_context) ⇒ Entero
privado
Obtenga la cantidad de bytes que necesita KmsContext.
-
.kms_ctx_endpoint(kms_context) ⇒ String | nil
privado
Obtenga el nombre de host con el que conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
-
.kms_ctx_fail(kms_context) ⇒ verdadero, falso
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_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
Obtenga el puntero a los datos subyacentes para 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::Puntero
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 a la matriz de bytes especificada.
- .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) ⇒ nulo
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_done(ctx) ⇒ Boolean
privado
Indique a libmongocrypt que el driver terminó de enviar respuestas.
-
.mongocrypt_ctx_mongo_feed(ctx, responder) ⇒ Booleano
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, opciones) ⇒ Objeto privado
- .mongocrypt_ctx_setopt_contention_factor(ctx, factor_de_contención) ⇒ 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
Establecer 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 objetos mongocrypt_kms_ctx_t.
-
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ booleano
privado
Obtenga el nombre de host con el que 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(cripta, sign_rsaes_pkcs1_v1_,5 ctx = nulo) ⇒ Booleano
privado
Establezca un gancho 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
Establezca ganchos criptográficos en el objeto mongocrypt proporcionado.
- .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 = nulo) ⇒ 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_status(crypt, estado) ⇒ Booleano
privado
Establezca 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
Crea 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
Establecer 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 cadena que representa un número de versión, la analiza 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(identificador, aes_encrypt_cb, aes_decrypt_cb, aleatorio_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ Objeto
privado
Configura funciones de retorno criptográficas en el gestionar.
-
.setopt_encrypted_field_config_map(identificador, efc_map) ⇒ Objeto
privado
Establezca 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
Opte por manejar el estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
-
.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 devolución de llamada a una función que realiza el 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 devolución de llamada a la función de registro de 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 forma parte de una API privada. Debe evitarlo 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.
1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1821 def sí mismo.check_ctx_status(context) si ¿block_given? do_raise = !rendimiento else do_raise = true end si do_raise Estado = Estado.Nuevo mongocrypt_ctx_status(context.ctx_p, Estado.ref) Estado.raise_crypt_error end end |
.check_kms_ctx_status(kms_context) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Si el bloque proporcionado devuelve falso, genere un CryptError con la información de estado del objeto KmsContext proporcionado.
1107 1108 1109 1110 1111 1112 1113 1114 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1107 def sí mismo.check_kms_ctx_status(kms_context) a menos que rendimiento Estado = Estado.Nuevo mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, Estado.ref) Estado.raise_crypt_error(KMS: true) end end |
.check_status(gestionar) ⇒ nil
Este método forma parte de una API privada. Debe evitarlo 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.
1808 1809 1810 1811 1812 1813 1814 1815 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1808 def sí mismo.check_status(ASA) a menos que rendimiento Estado = Estado.Nuevo mongocrypt_status(ASA.ref, Estado.ref) Estado.raise_crypt_error end end |
.crypt_shared_lib_version(handle) ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo 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
1614 1615 1616 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1614 def sí mismo.versión de biblioteca compartida de crypt(ASA) mongocrypt_crypt_shared_lib_version(ASA.ref) end |
.ctx_datakey_init(contexto) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el Contexto para crear una clave de datos
625 626 627 628 629 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 625 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para la autodecifrado
786 787 788 789 790 791 792 793 794 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 786 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para el auto-cifrado
692 693 694 695 696 697 698 699 700 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 692 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el contexto para el descifrado explícito
816 817 818 819 820 821 822 823 824 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 816 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el Contexto para el cifrado explícito de expresiones.
760 761 762 763 764 765 766 767 768 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 760 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el Contexto para cifrado explícito
726 727 728 729 730 731 732 733 734 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 726 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_explícito_encrypt_init(context.ctx_p, data_p) end end end |
.ctx_finalize(contexto) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Finaliza la máquina de estados representada por el Contexto
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1209 def sí mismo.ctx_finalizar(context) Binario = Binario.Nuevo check_ctx_status(context) hacer mongocrypt_ctx_finalize(context.ctx_p, Binario.ref) end # TODO ya que la referencia binaria apunta 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_kms_done(context) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que no recibirá más respuestas de KMS.
1186 1187 1188 1189 1190 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1186 def sí mismo.ctx_kms_done(context) check_ctx_status(context) hacer mongocrypt_ctx_kms_done(context.ctx_p) end end |
.ctx_mongo_feed(contexto, doc) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Alimenta una respuesta del driver de regreso a libmongocrypt
897 898 899 900 901 902 903 904 905 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 897 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un BSON::Document que representa una operación que el controlador 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 consulta de almacén de claves).
868 869 870 871 872 873 874 875 876 877 878 879 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 868 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 ya que la referencia binaria apunta 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve un nuevo objeto KmsContext necesario para un objeto Context.
929 930 931 932 933 934 935 936 937 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 929 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 Contexto de Kms.Nuevo(kms_ctx_p) end end |
.ctx_provide_kms_providers(context, kms_providers) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Llamada en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer la configuración del proveedor KMS por contexto. Esta sigue el mismo formato que "mongocrypt_setopt_kms_providers". Si no hay claves en la entrada BSON, se utilizan las configuraciones del proveedor KMS configuradas para mongocrypt_t durante la inicialización.
1687 1688 1689 1690 1691 1692 1693 1694 1695 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1687 def sí mismo.ctx_provide_kms_providers(context, proveedores de kms) validate_document(proveedores de kms) Datos = proveedores de kms.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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicialice un contexto para volver a aplicar claves de datos.
656 657 658 659 660 661 662 663 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 656 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(contexto, nombre) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el algoritmo en el contexto
569 570 571 572 573 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 569 def sí mismo.algoritmo ctx_setopt(context, Nombre) check_ctx_status(context) hacer algoritmo mongocrypt_ctx_setopt(context.ctx_p, Nombre, -1) end end |
.ctx_setopt_algorithm_range(contexto, opciones) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
El algoritmo de rango es únicamente experimental. No está destinado para
Establezca opciones para el cifrado explícito con el algoritmo “rango”.
uso público.
1794 1795 1796 1797 1798 1799 1800 1801 1802 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1794 def sí mismo.ctx_setopt_algorithm_range(context, opta) validate_document(opta) Datos = opta.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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el factor de contención utilizado para el cifrado explícito. Este factor solo se utiliza para el cifrado FLE indexado 2.
1757 1758 1759 1760 1761 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1757 def sí mismo.ctx_setopt_contention_factor(context, factor) check_ctx_status(context) hacer factor de contención de mongocrypt_ctx_setopt(context.ctx_p, factor) end end |
.ctx_setopt_key_alt_names(context, key_alt_names) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer varios nombres de clave alternativos al crear una clave de datos
500 501 502 503 504 505 506 507 508 509 510 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 500 def sí mismo.ctx_setopt_key_alt_names(context, clave_nombres_alternativos) clave_nombres_alternativos.cada hacer |key_alt_name| tecla_alt_nombre_bson = { :teclaAltNombre => key_alt_name }.to_bson.to_s Binario.wrap_string(tecla_alt_nombre_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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer el documento de clave de cifrado de clave para crear una clave de datos.
598 599 600 601 602 603 604 605 606 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 598 def sí mismo.clave de cifrado ctx_setopt_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 forma parte de una API privada. Debe evitarlo 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.
467 468 469 470 471 472 473 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 467 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca un material de clave personalizado para usar con
encrypting data.
535 536 537 538 539 540 541 542 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 535 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el tipo de consulta que se usará para el cifrado explícito FLE 2. Este tipo de consulta solo se usa para el cifrado FLE 2 indexado.
1725 1726 1727 1728 1729 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1725 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
181 182 183 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 181 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
185 186 187 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 185 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializar el objeto Mongo::Crypt::Handle
407 408 409 410 411 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 407 def sí mismo.init(ASA) check_status(ASA) hacer mongocrypt_init(ASA.ref) end end |
.kms_ctx_bytes_needed(kms_context) ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga la cantidad de bytes que necesita KmsContext.
1063 1064 1065 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1063 def sí mismo.kms_ctx_bytes_needed(kms_context) mongocrypt_kms_ctx_bytes_necesarios(kms_context.kms_ctx_p) end |
.kms_ctx_endpoint(kms_context) ⇒ String | nil
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el nombre de host con el que conectarse a través de TLS para obtener información sobre la clave maestra de AWS.
1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1039 def sí mismo.kms_ctx_endpoint(kms_context) ptr = FFI::MemoryPointer.Nuevo(:puntero, 1) check_kms_ctx_status(kms_context) hacer punto final de mongocrypt_kms_ctx(kms_context.kms_ctx_p, ptr) end str_ptr = ptr.puntero de lectura str_ptr.nulo? ? nulo : str_ptr.read_string.codificación forzada('UTF-8') end |
.kms_ctx_fail(kms_context) ⇒ true, false
Este método forma parte de una API privada. Debe evitarlo 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.
1148 1149 1150 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1148 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve las respuestas del KMS a libmongocrypt.
1083 1084 1085 1086 1087 1088 1089 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1083 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 forma parte de una API privada. Debe evitarlo 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.
970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 970 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 forma parte de una API privada. Debe evitarlo 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.
1010 1011 1012 1013 1014 1015 1016 1017 1018 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1010 def sí mismo.(kms_context) Binario = Binario.Nuevo check_kms_ctx_status(kms_context) hacer (kms_context.kms_ctx_p, Binario.ref) end return Binario.to_s end |
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Habilitar o deshabilitar el comportamiento de reintento de KMS.
1167 1168 1169 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1167 def sí mismo.kms_ctx_setopt_retry_kms(ASA, Valor) mongocrypt_setopt_retry_kms(ASA.ref, Valor) end |
.kms_ctx_usleep(kms_context) ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo 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.
1131 1132 1133 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1131 def sí mismo.kms_ctx_usleep(kms_context) mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p) end |
.mongocrypt_binary_data(binario) ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el puntero a los datos subyacentes para mongocrypt_binary_t.
171
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 171 attach_function :mongocrypt_binary_data, [:puntero], :puntero |
.mongocrypt_binary_destroy(binario) ⇒ nil
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye el objeto mongocrypt_binary_t.
195 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 195 attach_function destroy_binary_mongocrypt, [:puntero], :void |
.mongocrypt_binary_len(binario) ⇒ Entero
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén la longitud del arreglo de datos subyacente.
179
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 179 attach_function :lenguaje binario mongocrypt, [:puntero], :int |
.mongocrypt_binary_new ⇒ FFI::Puntero
Este método forma parte de una API privada. Debe evitarlo 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 byte)
array).
147
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 147 attach_function mongocrypt_binary_new, [], :puntero |
.mongocrypt_binary_new_from_data(data, len) ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero a
the specified byte array.
159 160 161 162 163 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 159 attach_function( :mongocrypt_binario_nuevo_de_datos, [:puntero, :int], :puntero ) |
.mongocrypt_crypt_shared_lib_version(crypt) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1592 1593 1594 1595 1596 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1592 attach_function( :mongocrypt_crypt_shared_lib_version, [ :puntero ], :uint64 ) |
.mongocrypt_ctx_datakey_init(ctx, filter) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
618 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 618 attach_function :mongocrypt_ctx_datakey_init, [:puntero], :bool |
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el ctx para la descifrado automático.
778 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 778 attach_function mongocrypt_ctx_decrypt_init, [:puntero, :puntero], :bool |
.mongocrypt_ctx_destroy(ctx) ⇒ nil
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia al objeto mongocrypt_ctx_t.
1228 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1228 attach_function :mongocrypt_ctx_destroy, [:puntero], :void |
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Este método espera que el BSON proporcionado esté en el formato: { “v”: valor BSON a descifrar }.
Inicializa el ctx para el cifrado automático.
678 679 680 681 682 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 678 attach_function( :mongocrypt_ctx_encrypt_init, [:puntero, cadena, :int, :puntero], :bool ) |
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el ctx para una descifrado explícito.
804 805 806 807 808 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 804 attach_function( :mongocrypt_ctx_explícito_descifrado_init, [:puntero, :puntero], :bool ) |
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Antes de llamar a este método, establezca 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.
714 715 716 717 718 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 714 attach_function( :mongocrypt_ctx_explicit_encrypt_init, [:puntero, :puntero], :bool ) |
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Realice el cifrado o descifrado final y devuelva un documento BSON.
1201 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1201 attach_function :mongocrypt_ctx_finalize, [:puntero, :puntero], :void |
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que el driver terminó de enviar respuestas.
913 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 913 attach_function :mongocrypt_ctx_mongo_done, [:puntero], :bool |
.mongocrypt_ctx_mongo_feed(ctx, responder) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inyecta una respuesta BSON a libmongocrypt.
889 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 889 attach_function mongo_feed_ctx_mongocrypt, [:puntero, :puntero], :bool |
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo 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.
921 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 921 attach_function :mongocrypt_ctx_next_kms_ctx, [:puntero], :puntero |
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtén una operación BSON para el controlador que se ejecutará contra MongoDB
collection, the key vault database, or mongocryptd.
857 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 857 attach_function :mongocrypt_ctx_mongo_op, [:puntero, :puntero], :bool |
.mongocrypt_ctx_new(crypt) ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_ctx_t (un contenedor para la librería libmongocrypt
state machine).
438 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 438 attach_function :mongocrypt_ctx_new, [:puntero], :puntero |
.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1670 1671 1672 1673 1674 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1670 attach_function( mongocrypt_ctx_provide_kms_providers, [ :puntero, :puntero ], :bool ) |
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, longitud) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo 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.
555 556 557 558 559 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 555 attach_function( :mongocrypt_ctx_setopt_algorithm, [:puntero, cadena, :int], :bool ) |
.mongocrypt_ctx_setopt_algorithm_range(ctx, opciones) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1776 1777 1778 1779 1780 1781 1782 1783 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1776 attach_function( Contexto: :mongocrypt_ctx_setopt_algorithm_range, [ :puntero, :puntero ], :bool ) |
.mongocrypt_ctx_setopt_contention_factor(ctx, contention_factor) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1741 1742 1743 1744 1745 1746 1747 1748 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1741 attach_function( mongocrypt_ctx_setopt_contention_factor, [ :puntero, :int64 ], :bool ) |
.mongocrypt_ctx_setopt_key_alt_name(ctx, binario) ⇒ booleano
Este método forma parte de una API privada. Debe evitarlo 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, asignar un nombre alternativo a esa clave. Cuándo
performing explicit encryption, specifying which data key to use for
encryption based on its keyAltName field.
487 488 489 490 491 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 487 attach_function( set_key(nombre_alternativo), [:puntero, :puntero], :bool ) |
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
No inicialices ctx antes de llamar a este método.
Establecer el documento de clave de cifrado de clave para crear una clave de datos.
585 586 587 588 589 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 585 attach_function( :mongocrypt_ctx_setopt_key_encryption_key, [:puntero, :puntero], :bool ) |
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo 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.
459
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 459 attach_function :mongocrypt_ctx_setopt_key_id, [:puntero, :puntero], :bool |
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo 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, configure un material de clave personalizado para usar
encrypting data.
522 523 524 525 526 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 522 attach_function( :mongocrypt_ctx_setopt_key_material, [:puntero, :puntero], :bool ) |
.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1708 1709 1710 1711 1712 1713 1714 1715 1716 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1708 attach_function( :mongocrypt_ctx_setopt_tipo_de_consulta, [ :puntero, cadena, :int ], :bool ) |
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el estado actual del ctx.
845 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 845 attach_function mongocrypt_ctx_state, [:puntero], mongocrypt_ctx_state |
.mongocrypt_ctx_status(ctx, estado) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo 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
mongocrypt_status_t object.
448
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 448 attach_function :mongocrypt_ctx_status, [:puntero, :puntero], :bool |
.mongocrypt_destroy(crypt) ⇒ nil
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia del objeto mongocrypt_t.
429 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 429 attach_function : mongocrypt_destroy, [:puntero], :void |
.mongocrypt_init(crypt) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Inicializa el objeto mongocrypt_t.
400 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 400 attach_function mongocrypt_init, [:puntero], :bool |
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el número de bytes necesarios para el contexto KMS.
1056 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1056 attach_function :mongocrypt_kms_ctx_bytes_necesarios, [:puntero], :int |
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Indique a libmongocrypt que no recibirá más respuestas de
mongocrypt_kms_ctx_t objects.
1179 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1179 attach_function :mongocrypt_ctx_kms_done, [:puntero], :bool |
.mongocrypt_kms_ctx_endpoint(kms, endpoint) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga el nombre de host con el que conectarse a través de TLS para obtener información sobre
the AWS master key.
1029 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1029 attach_function :mongocrypt_kms_ctx_endpoint, [:puntero, :puntero], :bool |
.mongocrypt_kms_ctx_fail(ctx) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1142 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1142 attach_function Falló el contexto KMS de mongocrypt (:mongocrypt_kms_ctx_fail), [:puntero], :bool |
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve las respuestas del KMS a libmongocrypt.
1075 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1075 attach_function :mongocrypt_kms_ctx_feed, [:puntero, :puntero], :bool |
.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
955 956 957 958 959 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 955 attach_function( :mongocrypt_kms_ctx_obtener_proveedor_kms, [:puntero, :puntero], :puntero ) |
.mongocrypt_kms_ctx_message(kms, msg) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo 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.
1000
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 1000 attach_function mensaje_kms_ctx, [:puntero, :puntero], :bool |
.mongocrypt_kms_ctx_status(kms, status) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo 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
to the mongocrypt_status_t object.
1099 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1099 attach_function estado_ctx_kms, [:puntero, :puntero], :bool |
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
Este método forma parte de una API privada. Debe evitarlo 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.
1123 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1123 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura un hash criptográfico para las operaciones AES256-CTR.
1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1487 attach_function( :mongocrypt_setopt_aes_256_ctr, [ :puntero, :mongocrypt_crypto_fn, :mongocrypt_crypto_fn, :puntero ], :bool ) |
.mongocrypt_setopt_append_crypt_shared_lib_search_path(cripta, ruta) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1525 1526 1527 1528 1529 1530 1531 1532 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1525 attach_function( mongocrypt_setopt_append_crypt_shared_lib_search_path, [ :puntero, cadena, ], :void ) |
.mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1463 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1463 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca un gancho criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256.
1380 1381 1382 1383 1384 1385 1386 1387 1388 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1380 attach_function( mongo cript: set opt crypto hook sign rsaes pkcs1_v1_5, [ :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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca ganchos criptográficos en el objeto mongocrypt proporcionado.
1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1333 attach_function( mongocrypt_setopt_crypto_hooks, [ :puntero, :mongocrypt_crypto_fn, :mongocrypt_crypto_fn, :mongocrypt_random_fn, :mongocrypt_hmac_fn, :mongocrypt_hmac_fn, :mongocrypt_hash_fn, :puntero ], :bool ) |
.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1422 1423 1424 1425 1426 1427 1428 1429 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1422 attach_function( mongocrypt_setopt_encrypted_field_config_map, [ :puntero, :puntero ], :bool ) |
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo 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.
344 345 346 347 348 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 344 attach_function( :mongocrypt_setopt_kms_providers, [:puntero, :puntero], :bool ) |
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el controlador en el objeto mongocrypt_t para que se llame cada vez
libmongocrypt logs a message.
315 316 317 318 319 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 315 attach_function( :mongocrypt_setopt_log_handler, [:puntero, :mongocrypt_log_fn_t, :puntero], :bool ) |
.mongocrypt_setopt_retry_kms(crypt, enable) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1160 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1160 attach_function mongocrypt_setopt_retry_kms, [:puntero, :bool], :bool |
.mongocrypt_setopt_schema_map(crypt, schema_map) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece un mapa de esquema local para el cifrado.
375
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 375 attach_function :mapa de esquema de mongocrypt_setopt, [:puntero, :puntero], :bool |
.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1554 1555 1556 1557 1558 1559 1560 1561 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1554 attach_function( ~:mongocrypt_setopt_set_crypt_shared_lib_path_override, [ :puntero, cadena, ], :void ) |
.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
1633 1634 1635 1636 1637 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1633 attach_function( :mongocrypt_setopt_use_need_kms_credentials_state, [ :puntero ], :void ) |
.mongocrypt_status(crypt, status) ⇒ booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establece la información de estado desde el objeto mongocrypt_t en la
mongocrypt_status_t object.
421
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 421 attach_function :mongocrypt_status, [:puntero, :puntero], :bool |
.mongocrypt_status_code(status) ⇒ Integer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el código de error de estado.
243
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 243 attach_function :mongocrypt_status_code, [:puntero], :int |
.mongocrypt_status_destroy(estado) ⇒ nulo
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Destruye la referencia al objeto mongocrypt_status_t.
269 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 269 attach_function :mongocrypt_status_destroy, [:puntero], :void |
.mongocrypt_status_message(status, len = nil) ⇒ String
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el mensaje de estado.
253
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 253 attach_function :mensaje de estado de mongocrypt, [:puntero, :puntero], cadena |
.mongocrypt_status_new ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_status_t.
209
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 209 attach_function :mongocrypt_status_new, [], :puntero |
.mongocrypt_status_ok(status) ⇒ Booleano
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve si el estado es correcto o un error.
261
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 261 attach_function :mongocrypt_status_ok, [:puntero], :bool |
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer un mensaje, tipo y código en un estado existente.
223 224 225 226 227 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 223 attach_function( :mongocrypt_status_set, [:puntero, :status_type, :int, cadena, :int], :void ) |
.mongocrypt_status_type(status) ⇒ Symbol
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Indica el tipo de estatus.
235
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 235 attach_function :mongocrypt_status_type, [:puntero], :status_type |
.mongocrypt_version(len) ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la string de versión de la librería libmongocrypt.
95
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 95 attach_function :mongocrypt_version, [:puntero], cadena |
.ongocrypt_new ⇒ FFI::Pointer
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo objeto mongocrypt_t.
303 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 303 attach_function :mongocrypt_nuevo, [], :puntero |
.parse_version(version) ⇒ Gem::Version
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Dada una cadena que representa un número de versión, la analiza y la convierte en un objeto Gem::Version. Esto gestiona el caso en que la cadena no está en un formato compatible con Gem::Version mediante un análisis personalizado.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 108 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(identificador, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Configura un hash criptográfico para las operaciones AES256-CTR.
1505 1506 1507 1508 1509 1510 1511 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1505 def sí mismo.setopt_aes_256_ctr(ASA, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) check_status(ASA) hacer mongocrypt_setopt_aes_256_ctr(ASA.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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Agregue un directorio de búsqueda adicional a la ruta de búsqueda para cargar
the crypt_shared dynamic library.
1539 1540 1541 1542 1543 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1539 def sí mismo.setopt_append_crypt_shared_lib_search_path(ASA, ruta) check_status(ASA) hacer mongocrypt_setopt_append_crypt_shared_lib_search_path(ASA.ref, ruta) end end |
.setopt_bypass_query_analysis(handle) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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.
1472 1473 1474 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1472 def sí mismo.setopt_bypass_query_analysis(ASA) mongocrypt_setopt_bypass_query_analysis(ASA.ref) end |
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(identificador, rsaes_pkcs_signature_cb) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer un enganche criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con
a SHA-256 hash oh the Handle.
1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1397 def sí mismo.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( ASA, firma rsaes_pkcs_cb ) check_status(ASA) hacer señal de gancho criptográfico mongocrypt_setopt_rsaes_pkcs1_v1_5( ASA.ref, firma rsaes_pkcs_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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establecer devoluciones de llamadas criptográficas en el Handle
1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1359 def sí mismo.setopt_crypto_hooks(ASA, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb ) check_status(ASA) hacer ganchos criptográficos de mongocrypt_setopt(ASA.ref, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb, nulo ) end end |
.setopt_encrypted_field_config_map(identificador, efc_map) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca un EncryptedFieldConfigMap local para el cifrado.
1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1440 def sí mismo.setopt_encrypted_field_config_map(ASA, efc_map) validate_document(efc_map) Datos = efc_map.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(ASA) hacer mongocrypt_setopt_encrypted_field_config_map( ASA.ref, data_p ) end end end |
.setopt_kms_providers(handle, kms_providers) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo 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
357 358 359 360 361 362 363 364 365 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 357 def sí mismo.setopt_kms_providers(ASA, proveedores de kms) validate_document(proveedores de kms) Datos = proveedores de kms.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(ASA) hacer mongocrypt_setopt_kms_providers(ASA.ref, data_p) end end end |
.setopt_log_handler(handle, log_callback) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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
327 328 329 330 331 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 327 def sí mismo.setopt_log_handler(ASA, devolución de llamada de registro) check_status(ASA) hacer mongocrypt_setopt_log_handler(ASA, devolución de llamada de registro, nulo) end end |
.setopt_schema_map(identificador, schema_map_doc) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Establezca el mapa del esquema en el objeto Mongo::Crypt::Handle
384 385 386 387 388 389 390 391 392 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 384 def sí mismo.setopt_schema_map(ASA, esquema_mapa_doc) validate_document(esquema_mapa_doc) Datos = esquema_mapa_doc.to_bson.to_s Binario.wrap_string(Datos) hacer |data_p| check_status(ASA) hacer mapa de esquema de mongocrypt_setopt(ASA.ref, data_p) end end end |
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ Objeto
Este método forma parte de una API privada. Debe evitarlo 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.
1567 1568 1569 1570 1571 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1567 def sí mismo.setopt_set_crypt_shared_lib_path_override(ASA, ruta) check_status(ASA) hacer mongocrypt_setopt_set_crypt_shared_lib_path_override(ASA.ref, ruta) end end |
.setopt_use_need_kms_credentials_state(handle) ⇒ objeto
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Opte por manejar el estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
Si está configurado, antes de entrar en el estado MONGOCRYPT_CTX_NEED_KMS, los contextos pueden entrar en el estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS y luego esperar a que se suministren las credenciales a través de ‘mongocrypt_ctx_provide_kms_providers‘.
Un contexto solo ingresará en MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS si se estableció un documento vacío para un proveedor de KMS en ‘mongocrypt_setopt_kms_providers`.
1651 1652 1653 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1651 def sí mismo.setopt_use_need_kms_credentials_state(ASA) estado de credenciales de KMS necesario para el uso de mongocrypt_setopt(ASA.ref) end |
.validate_document(data) ⇒ Object
Este método forma parte de una API privada. Debe evitarlo 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
1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1844 def sí mismo.validate_document(Datos) return si Datos.is_a?(Picadillo) 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 forma parte de una API privada. Debe evitarlo 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.
131 132 133 134 135 136 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 131 def sí mismo.validate_version(lmc_version) si (actual_version = parse_version(lmc_version)) < VERSIÓN DE CIFRADO DE LIBRO MÍNIMO 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 forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una devolución de llamada FFI; no es un método de instancia en la clase Binding.
Una devolución de llamada a una función que realiza el cifrado o descifrado AES.
1251 1252 1253 1254 1255 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1251 función de retorno( :mongocrypt_crypto_fn, [:puntero, :puntero, :puntero, :puntero, :puntero, :puntero, :puntero], :bool ) |
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una devolución de llamada FFI; no es un método de instancia en la clase Binding.
Una función de retorno a una función hash SHA-256.
1299 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1299 función de retorno :mongocrypt_hash_fn, [:puntero, :puntero, :puntero, :puntero], :bool |
#mongocrypt_hmac_fn(ctx, clave, entrada, salida, estado) ⇒ Bool
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una devolución de llamada 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.
1276 1277 1278 1279 1280 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1276 función de retorno( :mongocrypt_hmac_fn, [:puntero, :puntero, :puntero, :puntero, :puntero], :bool ) |
#mongocrypt_log_fn_t(nivel, mensaje, longitud, ctx) ⇒ nulo
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una devolución de llamada FFI; no es un método de instancia en la clase Binding.
Una devolución de llamada a la función de registro de MongoCrypt. Configurar una devolución de llamada de registro personalizada.
with the mongocrypt_setopt_log_handler method
296
|
# Archivo 'lib/mongo/crypt/binding.rb', línea 296 función de retorno :mongocrypt_log_fn_t, [:nivel_de_registro, cadena, :int, :puntero], :void |
#mongocrypt_random_fn(ctx, output, count, status) ⇒ Bool
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Esto define una firma de método para una devolución de llamada 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.
1317 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1317 función de retorno :mongocrypt_random_fn, [:puntero, :puntero, :int, :puntero], :bool |