Clase: Mongo::Crypt::Binding Privado
- Hereda:
-
Objeto
- Objeto
- Mongo::Crypt::Enlace
- Ampliado por:
- FFI::Biblioteca
- Definido en:
- lib/mongo/crypt/binding.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Un enlace Ruby para la biblioteca 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.
Esta versión del controlador requiere la versión mínima de libmongocrypt. Intentar usar el controlador con una versión anterior de libmongocrypt provocará un error de carga.
Gem::Versión.Nuevo("1.12.0")
Colapso delresumen del método de clase
-
.check_ctx_status(context) ⇒ nil
privada
Genera un Mongo::Error::CryptError según el estado del objeto mongocrypt_ctx_t subyacente.
-
.check_kms_ctx_status(kms_context) ⇒ Objeto
privada
Si el bloque proporcionado devuelve falso, genere un CryptError con la información de estado del objeto KmsContext proporcionado.
-
.check_status(identificador) ⇒ nulo
privada
Genera un Mongo::Error::CryptError según el estado del objeto mongocrypt_t subyacente.
-
.crypt_shared_lib_version(identificador) ⇒ Entero
privada
Obtenga una constante de 64bits que codifique la versión de la biblioteca crypt_shared cargada, si está disponible.
-
.ctx_datakey_init(contexto) ⇒ Objeto
privada
Inicialice el contexto para crear una clave de datos.
-
.ctx_decrypt_init(contexto, comando) ⇒ Objeto
privada
Inicializar el contexto para el descifrado automático.
-
.ctx_encrypt_init(contexto, nombre_base_datos, comando) ⇒ Objeto
privada
Inicializar el contexto para el cifrado automático.
-
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
privada
Inicializar el contexto para el descifrado explícito.
-
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
privada
Inicializar el contexto para el cifrado de expresión explícita.
-
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
privada
Inicializar el contexto para el cifrado explícito.
-
.ctx_finalize(contexto) ⇒ Objeto
privada
Finalizar la máquina de estados representada por el Contexto.
-
.ctx_kms_done(context) ⇒ Object
privada
Indique a libmongocrypt que no recibirá más respuestas KMS.
-
.ctx_mongo_feed(contexto, doc) ⇒ Objeto
privada
Envíe una respuesta del controlador a libmongocrypt.
-
.ctx_mongo_op(context) ⇒ BSON::Document
privada
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
privada
Devuelve un nuevo objeto KmsContext necesario para un objeto Context.
-
.ctx_provide_kms_providers(contexto, kms_providers) ⇒ Objeto
privada
Llamada en respuesta al estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para establecer configuraciones del proveedor KMS por contexto.
-
.ctx_rewrap_many_datakey_init(contexto, filtro) ⇒ Booleano
privada
Inicializar un contexto para reenvolver las claves de datos.
-
.ctx_setopt_algorithm(contexto, nombre) ⇒ Objeto
privada
Configura el algoritmo en el contexto.
-
.ctx_setopt_algorithm_range(contexto, opciones) ⇒ Objeto
privada
Establezca opciones para el cifrado explícito con el algoritmo “rango”.
-
.ctx_setopt_contention_factor(contexto, factor) ⇒ Objeto
privada
Establezca el factor de contención utilizado para el cifrado explícito.
-
.ctx_setopt_key_alt_names(contexto, key_alt_names) ⇒ Objeto
privada
Establecer varios nombres de clave alternativos al crear una clave de datos.
-
.ctx_setopt_key_encryption_key(contexto, documento_clave) ⇒ Objeto
privada
Establecer el documento de clave de cifrado de clave para crear una clave de datos.
-
.ctx_setopt_key_id(context, key_id) ⇒ Object
privada
Establece la opción de identificación de clave en un contexto de cifrado explícito.
-
.ctx_setopt_key_material(contexto, material_clave) ⇒ Objeto
privada
Establezca un material de clave personalizado para utilizar para cifrar datos.
-
.ctx_setopt_query_type(contexto, tipo de consulta) ⇒ Objeto
privada
Establece el tipo de query a utilizar para el cifrado explícito FLE 2.
- .get_binary_data_direct(mongocrypt_binary_t) ⇒ Objeto privada
- .get_binary_len_direct(mongocrypt_binary_t) ⇒ Objeto privada
-
.init(identificador) ⇒ Objeto
privada
Inicializar el objeto Mongo::Crypt::Handle.
-
.kms_ctx_bytes_necesarios(kms_contexto) ⇒ Entero
privada
Obtenga la cantidad de bytes que necesita KmsContext.
-
.kms_ctx_endpoint(kms_context) ⇒ String | nil
privada
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
privada
Comprueba si es posible volver a intentar la última solicitud fallida para el contexto KMS.
-
.kms_ctx_feed(kms_context, bytes) ⇒ Objeto
privada
Envía las respuestas del KMS a libmongocrypt.
-
.kms_ctx_get_kms_provider(kms_context) ⇒ Objeto
privada
Obtenga el identificador del proveedor KMS asociado con esta solicitud KMS.
-
.kms_ctx_message(kms_context) ⇒ String
privada
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
privada
Habilitar o deshabilitar el comportamiento de reintento de KMS.
-
.kms_ctx_usleep(kms_context) ⇒ Integer
privada
Devuelve el número de milisegundos que se debe suspender antes de enviar una solicitud KMS para el contexto KMS determinado.
-
.mongocrypt_binary_data(binario) ⇒ FFI::Pointer
privada
Obtenga el puntero a los datos subyacentes para mongocrypt_binary_t.
-
.mongocrypt_binary_destroy(binario) ⇒ nulo
privada
Destruye el objeto mongocrypt_binary_t.
-
.mongocrypt_binary_len(binario) ⇒ Entero
privada
Obtenga la longitud de la matriz de datos subyacente.
-
.mongocrypt_binary_new ⇒ FFI::Puntero
privada
Crea un nuevo objeto mongocrypt_binary_t (una vista no propietaria de un arreglo de bytes).
-
.mongocrypt_binary_new_from_data(datos, longitud) ⇒ FFI::Pointer
privada
Crea un nuevo objeto mongocrypt_binary_t que mantenga un puntero a la matriz de bytes especificada.
- .mongocrypt_crypt_shared_lib_version(crypt) ⇒ Objeto privada
- .mongocrypt_ctx_datakey_init(ctx, filtro) ⇒ Objeto privada
-
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
privada
Inicializa el ctx para el descifrado automático.
-
.mongocrypt_ctx_destroy(ctx) ⇒ nulo
privada
Destruye la referencia al objeto mongocrypt_ctx_t.
-
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
privada
Inicializa el ctx para el cifrado automático.
-
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
privada
Inicializa el ctx para el descifrado explícito.
-
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
privada
Inicializa el ctx para el cifrado explícito de expresiones.
-
.mongocrypt_ctx_finalize(ctx, op_bson) ⇒ Booleano
privada
Realiza el cifrado o descifrado final y devuelve un documento BSON.
-
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
privada
Indique a libmongocrypt que el controlador terminó de enviar respuestas.
-
.mongocrypt_ctx_mongo_feed(ctx, responder) ⇒ Booleano
privada
Envíe una respuesta BSON a libmongocrypt.
-
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ FFI::Puntero
privada
Devuelve un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
-
.mongocrypt_ctx_mongo_op(ctx, op_bson) ⇒ Booleano
privada
Obtenga una operación BSON para que el controlador se ejecute en la colección MongoDB, la base de datos de almacén de claves o mongocryptd.
-
.mongocrypt_ctx_new(cripta) ⇒ FFI::Puntero
privada
Cree un nuevo objeto mongocrypt_ctx_t (un contenedor para la máquina de estado libmongocrypt).
- .mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ⇒ Objeto privada
-
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, longitud) ⇒ Booleano
privada
Establezca el algoritmo utilizado para el cifrado explícito.
- .mongocrypt_ctx_setopt_algorithm_range(ctx, opciones) ⇒ Objeto privada
- .mongocrypt_ctx_setopt_contention_factor(ctx, factor_de_contención) ⇒ Objeto privada
-
.mongocrypt_ctx_setopt_key_alt_name(ctx, binary) ⇒ Booleano
privada
Al crear una clave de datos, establezca un nombre alternativo para esa clave.
-
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ⇒ booleano
privada
Establecer el documento de clave de cifrado de clave para crear una clave de datos.
-
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
privada
Establezca la identificación de clave utilizada para el cifrado explícito.
-
.mongocrypt_ctx_setopt_key_material(ctx, binary) ⇒ Booleano
privada
Al crear una clave de datos, configure un material de clave personalizado para utilizarlo para cifrar datos.
- .mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ⇒ Objeto privada
-
.mongocrypt_ctx_state(ctx) ⇒ Símbolo
privada
Obtenga el estado actual del ctx.
-
.mongocrypt_ctx_status(ctx, estado) ⇒ Booleano
privada
Establezca la información de estado del objeto mongocrypt_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_destroy(cripta) ⇒ nulo
privada
Destruye la referencia del objeto mongocrypt_t.
-
.mongocrypt_init(cripta) ⇒ Booleano
privada
Inicializa el objeto mongocrypt_t.
-
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ Entero
privada
Obtenga la cantidad de bytes que necesita el contexto KMS.
-
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
privada
Indique a libmongocrypt que no recibirá más respuestas de objetos mongocrypt_kms_ctx_t.
-
.mongocrypt_kms_ctx_endpoint(kms, punto final) ⇒ Booleano
privada
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 privada
-
.mongocrypt_kms_ctx_feed(kms, bytes) ⇒ Booleano
privada
Envía las respuestas del KMS a libmongocrypt.
- .mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ⇒ Objeto privada
-
.mongocrypt_kms_ctx_message(kms, mensaje) ⇒ Booleano
privada
Obtenga el mensaje necesario para obtener la clave maestra de AWS KMS.
-
.mongocrypt_kms_ctx_status(kms, estado) ⇒ Booleano
privada
Escribe información de estado sobre el objeto mongocrypt_kms_ctx_t en el objeto mongocrypt_status_t.
-
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
privada
Indica cuánto tiempo dormir antes de enviar la solicitud KMS.
-
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ⇒ Booleano
privada
Establezca un gancho criptográfico para las operaciones AES256-CTR.
- .mongocrypt_setopt_append_crypt_shared_lib_search_path(cripta, ruta) ⇒ Objeto privada
- .mongocrypt_setopt_bypass_query_analysis(crypt) ⇒ Objeto privada
-
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(cripta, sign_rsaes_pkcs1_v1_,5 ctx = nulo) ⇒ Booleano
privada
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
privada
Establezca ganchos criptográficos en el objeto mongocrypt proporcionado.
- .mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ⇒ Objeto privada
-
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ⇒ Objeto
privada
Configurar proveedores de KMS con un documento BSON.
-
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nulo) ⇒ Booleano
privada
Establezca el controlador en el objeto mongocrypt_t para que se llame cada vez que libmongocrypt registre un mensaje.
- .mongocrypt_setopt_retry_kms(crypt, habilitar) ⇒ Objeto privada
-
.mongocrypt_setopt_schema_map(crypt, mapa_de_esquema) ⇒ Booleano
privada
Establece un mapa de esquema local para el cifrado.
- .mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ⇒ objeto privada
- .mongocrypt_setopt_use_need_kms_credentials_state(cripta) ⇒ Objeto privada
-
.mongocrypt_status(crypt, estado) ⇒ Booleano
privada
Establezca la información de estado del objeto mongocrypt_t en el objeto mongocrypt_status_t.
-
.mongocrypt_status_code(estado) ⇒ Entero
privada
Devuelve el código de error de estado.
-
.mongocrypt_status_destroy(estado) ⇒ nulo
privada
Destruye la referencia al objeto mongocrypt_status_t.
-
.mongocrypt_status_message(status, len = nil) ⇒ String
privada
Devuelve el mensaje de estado.
-
.mongocrypt_status_new ⇒ FFI::Puntero
privada
Crea un nuevo objeto mongocrypt_status_t.
-
.mongocrypt_status_ok(estado) ⇒ Booleano
privada
Devuelve si el estado es correcto o un error.
-
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ nil
privada
Establecer un mensaje, tipo y código en un estado existente.
-
.mongocrypt_status_type(status) ⇒ Symbol
privada
Indica el tipo de estado.
-
.mongocrypt_version(len) ⇒ Cadena
privada
Devuelve la cadena de versión de la biblioteca libmongocrypt.
-
.ongocrypt_new ⇒ FFI::Puntero
privada
Crea un nuevo objeto mongocrypt_t.
-
.parse_version(version) ⇒ Gem::Version
privada
Dada una cadena que representa un número de versión, la analiza en un objeto Gem::Version.
-
.setopt_aes_256_ctr(identificador, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ⇒ Objeto
privada
Establezca un gancho criptográfico para las operaciones AES256-CTR.
-
.setopt_append_crypt_shared_lib_search_path(identificador, ruta) ⇒ Objeto
privada
Agregue un directorio de búsqueda adicional a la ruta de búsqueda para cargar la biblioteca dinámica crypt_shared.
-
.setopt_bypass_query_analysis(identificador) ⇒ Objeto
privada
Acepte omitir el análisis de consultas.
-
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(identificador, rsaes_pkcs_signature_cb) ⇒ Objeto
privada
Establezca un gancho criptográfico para el algoritmo RSASSA-PKCS1-v1_5 con un hash SHA-256 en el identificador.
-
.setopt_crypto_hooks(identificador, aes_encrypt_cb, aes_decrypt_cb, aleatorio_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ⇒ Objeto
privada
Establecer devoluciones de llamadas criptográficas en el Handle.
-
.setopt_encrypted_field_config_map(identificador, efc_map) ⇒ Objeto
privada
Establezca un EncryptedFieldConfigMap local para el cifrado.
-
.setopt_kms_providers(identificador, kms_providers) ⇒ Objeto
privada
Establezca las opciones de proveedores de KMS en el objeto Mongo::Crypt::Handle.
-
.setopt_log_handler(identificador, devolución de llamada de registro) ⇒ Objeto
privada
Establezca la función de devolución de llamada del registrador en el objeto Mongo::Crypt::Handle.
-
.setopt_schema_map(identificador, schema_map_doc) ⇒ Objeto
privada
Establezca el mapa de esquema en el objeto Mongo::Crypt::Handle.
-
.setopt_set_crypt_shared_lib_path_override(handle, path) ⇒ Object
privada
Establezca una única ruta de anulación para cargar la biblioteca compartida de criptografía.
-
.setopt_use_need_kms_credentials_state(identificador) ⇒ Objeto
privada
Opte por manejar el estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
-
.validate_document(data) ⇒ Object
privada
Comprueba que los datos especificados sean un hash antes de serializarlos en BSON para evitar errores de libmongocrypt.
-
.validate_version(lmc_version) ⇒ Object
privada
Valida si la versión proporcionada de libmongocrypt es válida, es decir,
Colapso del resumen del método de instancia
-
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
privada
Una devolución de llamada a una función que realiza el cifrado o descifrado AES.
-
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
privada
Una devolución de llamada a una función hash SHA-256.
-
#mongocrypt_hmac_fn(ctx, clave, entrada, salida, estado) ⇒ Bool
privada
Una devolución de llamada a una función que realiza HMAC SHA-512 o SHA-256.
-
#mongocrypt_log_fn_t(nivel, mensaje, longitud, ctx) ⇒ nulo
privada
Una devolución de llamada a la función de registro de mongocrypt.
-
#mongocrypt_random_fn(ctx, salida, recuento, estado) ⇒ Bool
privada
Una devolución de llamada a una función aleatoria segura de cifrado.
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.
Genera 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 yo.comprobar_estado_ctx(context) Si ¿bloque_dado? do_raise = !rendimiento else do_raise = true end Si do_raise Estado = Estado.Nuevo mongocrypt_ctx_status(context.ctx_p, Estado.ref) Estado.error de cifrado 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 yo.check_kms_ctx_status(kms_context) a no ser que rendimiento Estado = Estado.Nuevo estado de mongocrypt_kms_ctx(kms_context.kms_ctx_p, Estado.ref) Estado.error de cifrado(kilómetros: 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 un Mongo::Error::CryptError según el estado del objeto mongocrypt_t subyacente.
1808 1809 1810 1811 1812 1813 1814 1815 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1808 def yo.check_status(ASA) a no ser que rendimiento Estado = Estado.Nuevo mongocrypt_status(ASA.ref, Estado.ref) Estado.error de cifrado end end |
.crypt_shared_lib_version(identificador) ⇒ 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.
Obtenga una constante de 64bits que codifique la versión de la biblioteca crypt_shared cargada, si está disponible.
La versión está codificada como números de cuatro bits 16, 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 yo.versión de biblioteca compartida de crypt(ASA) versión de la biblioteca compartida de mongocrypt_crypt(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.
Inicializar el contexto para crear una clave de datos
625 626 627 628 629 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 625 def yo.ctx_datakey_init(context) comprobar_estado_ctx(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 el descifrado automático
786 787 788 789 790 791 792 793 794 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 786 def yo.ctx_decrypt_init(context, Comando) validate_document(Comando) datos = Comando.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(context) hacer mongocrypt_ctx_decrypt_init(context.ctx_p, data_p) end end end |
.ctx_encrypt_init(contexto, nombre_base_datos, 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 el cifrado automático
692 693 694 695 696 697 698 699 700 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 692 def yo.ctx_encrypt_init(context, nombre_base_datos, Comando) validate_document(Comando) datos = Comando.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(context) hacer mongocrypt_ctx_encrypt_init(context.ctx_p, nombre_base_datos, -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 yo.ctx_explicit_decrypt_init(context, doc) validate_document(doc) datos = doc.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(context) hacer mongocrypt_ctx_explícito_descifrado_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.
Inicializar el contexto para el cifrado de expresión explícita.
760 761 762 763 764 765 766 767 768 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 760 def yo.ctx_explicit_encrypt_expression_init(context, doc) validate_document(doc) datos = doc.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(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 el cifrado explícito
726 727 728 729 730 731 732 733 734 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 726 def yo.ctx_explicit_encrypt_init(context, doc) validate_document(doc) datos = doc.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(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.
Finalizar 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 yo.ctx_finalizar(context) Binario = Binario.Nuevo comprobar_estado_ctx(context) hacer mongocrypt_ctx_finalizar(context.ctx_p, Binario.ref) end # TODO ya 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 haciendo # ByteBuffer hace referencia a la cadena que es propiedad de libmongocrypt. BSON::Documento.de_bson(BSON::Búfer de bytes.Nuevo(Binario.a_s), modo: :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 KMS.
1186 1187 1188 1189 1190 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1186 def yo.ctx_kms_done(context) comprobar_estado_ctx(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.
Envíe una respuesta del controlador a libmongocrypt
897 898 899 900 901 902 903 904 905 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 897 def yo.ctx_mongo_feed(context, doc) validate_document(doc) datos = doc.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(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 yo.ctx_mongo_op(context) Binario = Binario.Nuevo comprobar_estado_ctx(context) hacer mongocrypt_ctx_mongo_op(context.ctx_p, Binario.ref) end # TODO ya 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 haciendo # ByteBuffer hace referencia a la cadena que es propiedad de libmongocrypt. BSON::Documento.de_bson(BSON::Búfer de bytes.Nuevo(Binario.a_s), modo: :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 yo.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(contexto, 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 yo.ctx_provide_kms_providers(context, proveedores de kms) validate_document(proveedores de kms) datos = proveedores de kms.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(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.
Inicializar un contexto para reenvolver las claves de datos.
656 657 658 659 660 661 662 663 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 656 def yo.ctx_rewrap_many_datakey_init(context, filtro) datos de filtro = filtro.a_bson.a_s Binario.cadena de envoltura(datos de filtro) hacer |data_p| comprobar_estado_ctx(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 yo.algoritmo ctx_setopt(context, Nombre) comprobar_estado_ctx(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 Range es solo experimental. No está diseñado 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 yo.ctx_setopt_algorithm_range(context, opta) validate_document(opta) datos = opta.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(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 yo.factor de contención ctx_setopt(context, factor) comprobar_estado_ctx(context) hacer factor de contención de mongocrypt_ctx_setopt(context.ctx_p, factor) end end |
.ctx_setopt_key_alt_names(contexto, 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 yo.ctx_setopt_key_alt_names(context, nombres de teclas alternativas) nombres de teclas alternativas.cada hacer |key_alt_name| tecla_alt_nombre_bson = { :teclaAltNombre => key_alt_name }.a_bson.a_s Binario.cadena de envoltura(tecla_alt_nombre_bson) hacer |key_alt_name_p| comprobar_estado_ctx(context) hacer nombre alternativo de la clave setopt de mongocrypt_ctx(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 yo.clave de cifrado ctx_setopt_key(context, documento_clave) validate_document(documento_clave) datos = documento_clave.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(context) hacer clave de cifrado mongocrypt_ctx_setopt_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 de identificación 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 yo.ctx_setopt_key_id(context, id_clave) Binario.cadena de envoltura(id_clave) hacer |key_id_p| comprobar_estado_ctx(context) hacer id de clave de setopt de mongocrypt_ctx(context.ctx_p, key_id_p) end end end |
.ctx_setopt_key_material(contexto, material_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.
Establezca un material de clave personalizado para usar
encrypting data.
535 536 537 538 539 540 541 542 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 535 def yo.material de clave ctx_setopt(context, material de clave) datos = {'Material clave' => material de clave}.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| comprobar_estado_ctx(context) hacer mongocrypt_ctx_setopt_key_material(context.ctx_p, data_p) end end end |
.ctx_setopt_query_type(contexto, tipo de consulta) ⇒ 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 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 yo.tipo de consulta ctx_setopt(context, tipo de consulta) comprobar_estado_ctx(context) hacer tipo de consulta mongocrypt_ctx_setopt(context.ctx_p, tipo de consulta, -1) end end |
.obtener_datos_binarios_directos(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 yo.obtener_datos_binarios_directamente(mongocrypt_binary_t) mongocrypt_binary_t.obtener_puntero(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 yo.obtener_len_binario_directo(mongocrypt_binary_t) mongocrypt_binary_t.get_uint32(FFI::Tipo nativo::PUNTERO.tamaño) end |
.init(identificador) ⇒ 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 yo.init(ASA) check_status(ASA) hacer mongocrypt_init(ASA.ref) end end |
.kms_ctx_bytes_necesarios(kms_contexto) ⇒ 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.
Obtenga la cantidad de bytes que necesita KmsContext.
1063 1064 1065 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1063 def yo.kms_ctx_bytes_necesarios(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 yo.punto final kms_ctx(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.leer_cadena.codificación forzada('UTF-8') end |
.kms_ctx_fail(kms_context) ⇒ verdadero, falso
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Comprueba si es posible volver a intentar la última solicitud fallida para el contexto KMS.
1148 1149 1150 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1148 def yo.kms_ctx_fail(kms_context) Error de mongocrypt_kms_ctx(kms_context.kms_ctx_p) end |
.kms_ctx_feed(kms_context, bytes) ⇒ 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.
Envía las respuestas del KMS a libmongocrypt.
1083 1084 1085 1086 1087 1088 1089 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1083 def yo.kms_ctx_feed(kms_context, bytes) check_kms_ctx_status(kms_context) hacer Binario.cadena de envoltura(bytes) hacer |bytes_p| fuente de ctx de mongocrypt_kms(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.
Obtenga el identificador del proveedor KMS asociado con esta solicitud KMS.
Esto se utiliza para configurar conexiones TLS condicionalmente según la solicitud 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 yo.kms_ctx_get_kms_provider(kms_context) len_ptr = FFI::MemoryPointer.Nuevo(:uint32, 1) proveedor = mongocrypt_kms_ctx_obtener_proveedor_kms( kms_context.kms_ctx_p, len_ptr ) Si len_ptr.nil? nulo else len = Si BSON::Entorno.jruby? # La implementación de JRuby FFI no tiene el método `read(type)`, pero # tiene este `get_uint32`. len_ptr.get_uint32 else # Para la resonancia magnética utilizamos un método de "lectura" documentado: https://www.rubydoc.info/github/ffi/ffi/FFI%2FPointer:read len_ptr.Lea(:uint32) end proveedor.leer_cadena(len).a_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 yo.(kms_context) Binario = Binario.Nuevo check_kms_ctx_status(kms_context) hacer (kms_context.kms_ctx_p, Binario.ref) end return Binario.a_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 yo.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 debe suspender antes de enviar una solicitud KMS para el contexto KMS determinado.
1131 1132 1133 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1131 def yo.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 función adjuntar :mongocrypt_binary_data, [:puntero], :puntero |
.mongocrypt_binary_destroy(binario) ⇒ 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 el objeto mongocrypt_binary_t.
195 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 195 función adjuntar :mongocrypt_binary_destroy, [: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.
Obtenga la longitud de la matriz de datos subyacente.
179 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 179 función adjuntar :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 función adjuntar :mongocrypt_binario_nuevo, [], :puntero |
.mongocrypt_binary_new_from_data(datos, longitud) ⇒ 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.
Cree 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 función adjuntar( :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 función adjuntar( :mongocrypt_crypt_versión_de_biblioteca_compartida, [ :puntero ], :uint64 ) |
.mongocrypt_ctx_datakey_init(ctx, filtro) ⇒ 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 función adjuntar :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 el descifrado automático.
778 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 778 función adjuntar :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 función adjuntar :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 pasado tenga 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 función adjuntar( :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 el descifrado explícito.
804 805 806 807 808 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 804 función adjuntar( :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 función adjuntar( :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.
Realiza el cifrado o descifrado final y devuelve un documento BSON.
1201 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1201 función adjuntar :mongocrypt_ctx_finalizar, [: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 controlador terminó de enviar respuestas.
913 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 913 función adjuntar :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.
Envíe una respuesta BSON a libmongocrypt.
889 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 889 función adjuntar :mongocrypt_ctx_mongo_feed, [:puntero, :puntero], :bool |
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ⇒ 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.
Devuelve un puntero a un objeto mongocrypt_kms_ctx_t o NULL.
921 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 921 función adjuntar :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.
Obtenga una operación BSON para que el controlador se ejecute contra MongoDB
collection, the key vault database, or mongocryptd.
857 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 857 función adjuntar :mongocrypt_ctx_mongo_op, [:puntero, :puntero], :bool |
.mongocrypt_ctx_new(cripta) ⇒ 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.
Cree un nuevo objeto mongocrypt_ctx_t (un contenedor para libmongocrypt)
state machine).
438 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 438 función adjuntar :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 función adjuntar( :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 inicialice 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 función adjuntar( :algoritmo mongocrypt_ctx_setopt, [: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 función adjuntar( :rango del algoritmo mongocrypt_ctx_setopt, [ :puntero, :puntero ], :bool ) |
.mongocrypt_ctx_setopt_contention_factor(ctx, factor_de_contención) ⇒ 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 función adjuntar( :mongocrypt_ctx_setopt_factor_de_contención, [ :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 inicialice ctx antes de llamar a este método.
Al crear una clave de datos, establezca un nombre alternativo para esa clave. Cuando
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 función adjuntar( :mongocrypt_ctx_setopt_key_alt_name, [: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 inicialice 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 función adjuntar( :mongocrypt_ctx_setopt_key_clave_de_cifrado, [: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 inicialice ctx antes de llamar a este método.
Establezca la identificación de clave utilizada para el cifrado explícito.
459 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 459 función adjuntar :mongocrypt_ctx_setopt_key_id, [:puntero, :puntero], :bool |
.mongocrypt_ctx_setopt_key_material(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 inicialice 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 función adjuntar( :material de clave de setopt de mongocrypt_ctx, [: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 función adjuntar( :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 función adjuntar :estado_ctx_mongocrypt, [:puntero], :estado_ctx_mongocrypt |
.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 del objeto mongocrypt_ctx_t en el
mongocrypt_status_t object.
448 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 448 función adjuntar :mongocrypt_ctx_status, [:puntero, :puntero], :bool |
.mongocrypt_destroy(cripta) ⇒ 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 del objeto mongocrypt_t.
429 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 429 función adjuntar :mongocrypt_destroy, [:puntero], :void |
.mongocrypt_init(cripta) ⇒ 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 función adjuntar :mongocrypt_init, [:puntero], :bool |
.mongocrypt_kms_ctx_bytes_needed(kms) ⇒ 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.
Obtenga la cantidad de bytes que necesita el contexto KMS.
1056 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1056 función adjuntar :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 función adjuntar :mongocrypt_ctx_kms_done, [:puntero], :bool |
.mongocrypt_kms_ctx_endpoint(kms, punto final) ⇒ 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 función adjuntar :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 función adjuntar :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.
Envía las respuestas del KMS a libmongocrypt.
1075 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1075 función adjuntar :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 función adjuntar( :mongocrypt_kms_ctx_obtener_proveedor_kms, [:puntero, :puntero], :puntero ) |
.mongocrypt_kms_ctx_message(kms, mensaje) ⇒ 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 función adjuntar :mensaje de mongocrypt_kms_ctx, [:puntero, :puntero], :bool |
.mongocrypt_kms_ctx_status(kms, 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.
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 función adjuntar :estado de mongocrypt_kms_ctx, [: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 dormir antes de enviar la solicitud KMS.
1123 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1123 función adjuntar :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.
Establezca un gancho 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 función adjuntar( :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 función adjuntar( :mongocrypt_setopt_append_crypt_ruta_de_búsqueda_de_biblioteca_compartida, [ :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 función adjuntar(:mongocrypt_setopt_bypass_query_analysis, [:puntero], :void) |
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(cripta, sign_rsaes_pkcs1_v1_,5 ctx = nulo) ⇒ 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 función adjuntar( :mongocrypt_setopt_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 función adjuntar( :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 función adjuntar( :mongocrypt_setopt_mapa_de_configuración_de_campo_encriptado, [ :puntero, :puntero ], :bool ) |
.mongocrypt_setopt_kms_providers(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.
No inicialice ctx antes de llamar a este método.
Configurar proveedores de KMS con un documento BSON.
344 345 346 347 348 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 344 función adjuntar( :mongocrypt_setopt_kms_providers, [:puntero, :puntero], :bool ) |
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nulo) ⇒ 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 función adjuntar( :controlador de registro de mongocrypt_setopt, [:puntero, :mongocrypt_log_fn_t, :puntero], :bool ) |
.mongocrypt_setopt_retry_kms(crypt, habilitar) ⇒ 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 función adjuntar :mongocrypt_setopt_retry_kms, [:puntero, :bool], :bool |
.mongocrypt_setopt_schema_map(crypt, mapa_de_esquema) ⇒ 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 función adjuntar :mapa de esquema de mongocrypt_setopt, [:puntero, :puntero], :bool |
.mongocrypt_setopt_set_crypt_shared_lib_path_override(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.
1554 1555 1556 1557 1558 1559 1560 1561 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1554 función adjuntar( :mongocrypt_setopt_set_crypt_shared_lib_path_override, [ :puntero, :cadena, ], :void ) |
.mongocrypt_setopt_use_need_kms_credentials_state(cripta) ⇒ 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 función adjuntar( :mongocrypt_setopt_use_necesita_estado_de_credenciales_kms, [ :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.
Establezca la información de estado del objeto mongocrypt_t en el
mongocrypt_status_t object.
421 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 421 función adjuntar :mongocrypt_status, [:puntero, :puntero], :bool |
.mongocrypt_status_code(estado) ⇒ 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.
Devuelve el código de error de estado.
243 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 243 función adjuntar :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 función adjuntar :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 función adjuntar :mensaje de estado de mongocrypt, [:puntero, :puntero], :cadena |
.mongocrypt_status_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_status_t.
209 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 209 función adjuntar :mongocrypt_status_new, [], :puntero |
.mongocrypt_status_ok(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.
Devuelve si el estado es correcto o un error.
261 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 261 función adjuntar :mongocrypt_status_ok, [:puntero], :bool |
.mongocrypt_status_set(estado, tipo, código, mensaje, longitud) ⇒ 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.
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 función adjuntar( :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 estado.
235 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 235 función adjuntar :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 cadena de versión de la biblioteca libmongocrypt.
95 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 95 función adjuntar :mongocrypt_version, [:puntero], :cadena |
.ongocrypt_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_t.
303 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 303 función adjuntar :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 yo.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("Cadenade número de versión mal formada #{version}") Si coincidencia.nil? Gem::Versión.Nuevo( [ coincidencia[:importante], coincidencia[:menor], coincidencia[:parche] ].Join('.') ) 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.
Establezca un gancho criptográfico para las operaciones AES256-CTR.
1505 1506 1507 1508 1509 1510 1511 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1505 def yo.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(identificador, 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.
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 yo.ruta de búsqueda de biblioteca compartida setopt_append_crypt(ASA, ruta) check_status(ASA) hacer ruta de búsqueda de biblioteca compartida mongocrypt_setopt_append_crypt(ASA.ref, ruta) end end |
.setopt_bypass_query_analysis(identificador) ⇒ 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.
Acepte omitir el análisis de consultas.
Si se ha suscrito:
-
No se intentará cargar la biblioteca compartida csfle.
-
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 yo.análisis de consultas de omisión de setopt(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.
Establezca un gancho 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 yo.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(identificador, aes_encrypt_cb, aes_decrypt_cb, aleatorio_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 yo.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 yo.mapa de configuración de campo cifrado setopt(ASA, efc_map) validate_document(efc_map) datos = efc_map.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| check_status(ASA) hacer mongocrypt_setopt_encrypted_field_config_map( ASA.ref, data_p ) end end end |
.setopt_kms_providers(identificador, 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.
Establecer 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 yo.setopt_kms_providers(ASA, proveedores de kms) validate_document(proveedores de kms) datos = proveedores de kms.a_bson.a_s Binario.cadena de envoltura(datos) hacer |data_p| check_status(ASA) hacer proveedores de kms de mongocrypt_setopt(ASA.ref, data_p) end end end |
.setopt_log_handler(identificador, devolución de llamada de registro) ⇒ 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 devolución de llamada del registrador en el objeto Mongo::Crypt::Handle
327 328 329 330 331 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 327 def yo.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.
Establecer el mapa de 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 yo.setopt_schema_map(ASA, esquema_mapa_doc) validate_document(esquema_mapa_doc) datos = esquema_mapa_doc.a_bson.a_s Binario.cadena de envoltura(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.
Establezca una única ruta de anulación para cargar la biblioteca compartida de criptografía.
1567 1568 1569 1570 1571 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1567 def yo.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(identificador) ⇒ 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 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 que se suministren las credenciales a través de 'mongocrypt_ctx_provide_kms_providers`.
Un contexto solo ingresará a MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS si se configuró un documento vacío para un proveedor KMS en 'mongocrypt_setopt_kms_providers`.
1651 1652 1653 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1651 def yo.setopt_use_necesidad_de_estado_de_credenciales_kms(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
Comprueba que los datos especificados sean un hash antes de serializarlos en 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 yo.validate_document(datos) return Si datos.is_a?(Picadillo) Si datos.nil? = "Seintentó pasar datos nulos a libmongocrypt". + "Losdatos deben ser unhash" else = "Seintentó pasar datos no válidos a libmongocrypt: #{data} " + "Losdatos deben ser unhash" 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 superior a la versión mínima requerida. De lo contrario, genera un error de carga (LoadError).
131 132 133 134 135 136 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 131 def yo.validate_version(lmc_versión) Si (actual_version = parse_version(lmc_versión)) < 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 devolución de llamada( :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 devolución de llamada a una función hash SHA-256.
1299 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1299 devolución de llamada :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 devolución de llamada 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 devolución de llamada( :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 devolución de llamada :mongocrypt_log_fn_t, [:nivel_de_registro, :cadena, :int, :puntero], :void |
#mongocrypt_random_fn(ctx, salida, recuento, 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 devolución de llamada a una función aleatoria segura de cifrado.
1317 |
# Archivo 'lib/mongo/crypt/binding.rb', línea 1317 devolución de llamada :mongocrypt_random_fn, [:puntero, :puntero, :int, :puntero], :bool |