Classe: Mongo::Crypt::Binding Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::Binding
- Estendido por:
- FFI::Biblioteca
- Definido em:
- lib/mongo/crypt/binding.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
Uma vinculação Ruby para a biblioteca C libmongocrypt
Colapsode resumo constante
- MIN_LIBMONGOCRYPT_VERSION =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Versão mínima da libmongocrypt exigida por esta versão do driver. Uma tentativa de usar o driver com qualquer versão anterior da libmongocrypt causará um 'LoadError'.
Gem::Versão.Novo("1.12.0")
Recolhimento do Resumo do método de classe
-
.check_ctx_status(context) ➤ nil
privado
Gere um Mongo::Error::CryptError com base no status do objeto mongocrypt_ctx_t subjacente.
-
.check_kms_ctx_status(kms_context) ➤ Objeto
privado
Se o bloco fornecido retornar falso, gere um CryptError com as informações de status do objeto KmsContext fornecido.
-
.check_status(handle) ➤ nil
privado
Gere um Mongo::Error::CryptError com base no status do objeto mongocrypt_t subjacente.
-
.crypt_shared_lib_version(handle) ➤ inteiro
privado
Obtenha uma codificação de constante de 64bits para a versão da biblioteca crypt_shared carregada, se disponível.
-
.ctx_datakey_init(contexto) ➤ Objeto
privado
Inicialize o contexto para criar uma chave de dados.
-
.ctx_decrypt_init(contexto, comando) ➤ Objeto
privado
Inicialize o contexto para descriptografia automática.
-
.ctx_encrypt_init(contexto, db_name, comando) ➤ Objeto
privado
Inicialize o contexto para criptografia automática.
-
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
privado
Inicialize o contexto para descriptografia explícita.
-
.ctx_explicit_encrypt_expression_init(context, doc) ⇒ Object
privado
Inicialize o Contexto para criptografia de expressão explícita.
-
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
privado
Inicialize o Contexto para criptografia explícita.
-
.ctx_finalize(contexto) ➤ Objeto
privado
Finalize a máquina de estado representada pelo Contexto.
-
.ctx_kms_done(context) ⇒ Object
privado
Indique para libmongocrypt que ela não receberá mais respostas de KMS.
-
.ctx_mongo_feed(contexto, doc) ➤ Objeto
privado
Alimente uma resposta do driver de volta para libmongocrypt.
-
.ctx_mongo_op(context) ⇒ BSON::Document
privado
Retorna um BSON::Document que representa uma operação que o driver deve executar em nome da libmongocrypt para obter as informações necessárias para continuar com a criptografia/descriptografia (por exemplo, um filtro para uma query de cofre de chaves).
-
.ctx_next_kms_ctx(contexto) ➤ Mongo::Crypt::KmsContext | nada
privado
Retorne um novo objeto KmsContext necessário para um objeto Context .
-
.ctx_provide_kms_providers(contexto, kms_providers) ➤ Objeto
privado
Ligue para em resposta ao estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para definir as configurações do provedor KMS por contexto.
-
.ctx_rewrap_many_datakey_init(contexto, filtro) ➤ Boolean
privado
Inicialize um contexto para retrair as chaves de dados.
-
.ctx_setopt_algorithm(contexto, nome) ➤ Objeto
privado
Defina o algoritmo no contexto.
-
.ctx_setopt_algorithm_range(contexto, opções) ➤ Objeto
privado
Defina opções para criptografia explícita com o algoritmo de "faixa".
-
.ctx_setopt_contention_factor(contexto, fator) ➤ Objeto
privado
Defina o fator de contenção usado para criptografia explícita.
-
.ctx_setopt_key_alt_names(contexto, key_alt_names) ➤ Objeto
privado
Defina vários nomes de chave alternativos na criação de chave de dados.
-
.ctx_setopt_key_encryption_key(contexto, key_document) ➤ Objeto
privado
Defina o documento de chave de chave de criptografia para criar uma chave de dados.
-
.ctx_setopt_key_id(context, key_id) ⇒ Object
privado
Define a opção de ID da chave em um contexto de criptografia explícito.
-
.ctx_setopt_key_material(contexto, key_material) ➤ Objeto
privado
Defina um material de chave personalizado a ser usado para criptografar dados.
-
.ctx_setopt_query_type(contexto, query_type) ➤ Objeto
privado
Defina o tipo de query a ser usado para a criptografia explícita FLE 2 .
- .get_binary_data_direct(mongocrypt_binary_t) ➤ Objeto privado
- .get_binary_ten_direct(mongocrypt_binary_t) ➤ Objeto privado
-
.init(handle) ➤ Objeto
privado
Inicialize o objeto Mongo::Crypt::Handle.
-
.kms_ctx_bytes_needed(kms_context) ➤ Inteiro
privado
Obtenha o número de bytes necessários para o KmsContext.
-
.kms_ctx_endpoint(kms_context) ⇒ String | nil
privado
Obtenha o nome do host com o qual se conectar por TLS para obter informações sobre a chave mestra do Amazon Web Services .
-
.kms_ctx_fail(kms_context) ➤ verdadeiro, falso
privado
Verifique se a última solicitação com falha para o contexto KMS pode ser repetida.
-
.kms_ctx_feed(kms_context, bytes) ➤ Objeto
privado
Alimente as respostas do KMS de volta para libmongocrypt.
-
.kms_ctx_get_kms_provider(kms_context) ➤ Objeto
privado
Obtenha o identificador do provedor de KMS associado a esta solicitação de KMS.
-
.kms_ctx_message(kms_context) ⇒ String
privado
Obtenha a mensagem necessária para buscar a HTTP Amazon Web Services KMS chave mestra do de um objeto KmsContext.
-
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
privado
Habilite ou desabilite o comportamento de novas tentativas do KMS.
-
.kms_ctx_usleep(kms_context) ⇒ Integer
privado
Retorna o número de milissegundos para hibernar antes de enviar a solicitação KMS para o contexto KMS fornecido.
-
.mongocrypt_binary_data(binary) ➤ FFI::Pointer
privado
Obtenha o ponteiro para os dados subjacentes para o mongocrypt_binary_t.
-
.mongocrypt_binary_destroy(binary) ➤ nil
privado
Destrua o objeto mongocrypt_binary_t .
-
.mongocrypt_binary_ten(binary) ➤ Inteiro
privado
Obtenha o comprimento da array de dados subjacente.
-
.mongocrypt_binary_new ➤ FFI::Pointer
privado
Cria um novo objeto mongocrypt_binary_t (uma visualização não própria de uma array de bytes).
-
.mongocrypt_binary_new_from_data(data, lent) ➤ FFI::Pointer
privado
Crie um novo objeto mongocrypt_binary_t que mantém um ponteiro para a array de bytes especificada.
- .mongocrypt_crypt_shared_lib_version(crypt) ➤ Objeto privado
- .mongocrypt_ctx_datakey_init(ctx, filtro) ➤ Objeto privado
-
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
privado
Inicializa o ctx para descriptografia automática.
-
.mongocrypt_ctx_destroy(ctx) ➤ nil
privado
Destrua a referência ao objeto mongocrypt_ctx_t.
-
.mongocrypt_ctx_encrypt_init(ctx, db, db_ten, cmd) ➤ booleano
privado
Inicializa o ctx para criptografia automática.
-
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa o ctx para descriptografia explícita.
-
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
privado
Inicializa o ctx para criptografia de expressão explícita.
-
.mongocrypt_ctx_finalize(ctx, op_bson) ➤ Boolean
privado
Execute a criptografia ou descriptografia final e retorne um documento BSON .
-
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
privado
Indique para libmongocrypt que o driver terminou de alimentar respostas.
-
.mongocrypt_ctx_mongo_feed(ctx, responder) ➤ Boolean
privado
Alimente uma resposta BSON para libmongocrypt.
-
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ➤ FFI::Pointer
privado
Retorne um ponteiro para um objeto mongocrypt_kms_ctx_t ou NULL.
-
.mongocrypt_ctx_mongo_op(ctx, op_bson) ➤ Boolean
privado
Obtenha uma operação BSON para que o driver seja executado na coleção do MongoDB , no banco de banco de dados do cofre de chaves ou no mongocryptd.
-
.mongocrypt_ctx_new(crypt) ➤ FFI::Pointer
privado
Crie um novo objeto mongocrypt_ctx_t (um wrapper para a máquina de estado libmongocrypt).
- .mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ➤ Objeto privado
-
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, lent) ➤ booleano
privado
Defina o algoritmo usado para criptografia explícita.
- .mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ➤ Objeto privado
- .mongocrypt_ctx_setopt_contention_factor(ctx, containsion_factor) ➤ Objeto privado
-
.mongocrypt_ctx_setopt_key_alt_name(ctx, binary) ➤ Boolean
privado
Ao criar uma chave de dados, defina um nome alternativo nessa chave.
-
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ➤ Boolean
privado
Defina o documento de chave de chave de criptografia para criar uma chave de dados.
-
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
privado
Defina o ID da chave usado para criptografia explícita.
-
.mongocrypt_ctx_setopt_key_material(ctx, binário) ➤ Booleano
privado
Ao criar uma chave de dados, defina um material de chave personalizado para usar na criptografia de dados.
- .mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ➤ Objeto privado
-
.mongocrypt_ctx_state(ctx) ➤ Símbolo
privado
Obtenha o estado atual do ctx.
-
.mongocrypt_ctx_status(ctx, status) ➤ Boolean
privado
Defina as informações de status do objeto mongocrypt_ctx_t no objeto mongocrypt_status_t .
-
.mongocrypt_destroy(crypt) ➤ nil
privado
Destrua a referência ao objeto mongocrypt_t.
-
.mongocrypt_init(crypt) ➤ Boolean
privado
Inicialize o objeto mongocrypt_t .
-
.mongocrypt_kms_ctx_bytes_needed(KMS) ➤ Inteiro
privado
Obtenha o número de bytes necessários para o contexto KMS.
-
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
privado
Indique para libmongocrypt que ela não receberá mais respostas de objetos mongocrypt_kms_ctx_t.
-
.mongocrypt_kms_ctx_endpoint(KMS, endpoint) ➤ Boolean
privado
Obtenha o nome do host com o qual se conectar por TLS para obter informações sobre a chave mestra do Amazon Web Services .
- .mongocrypt_kms_ctx_fail(ctx) ⇒ Object privado
-
.mongocrypt_kms_ctx_feed(KMS, bytes) ➤ Boolean
privado
Alimente as respostas do KMS de volta para libmongocrypt.
- .mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ➤ Objeto privado
-
.mongocrypt_kms_ctx_message(KMS, mensagem) ➤ Boolean
privado
Obtenha a mensagem necessária para buscar a Amazon Web Services KMS chave mestra do .
-
.mongocrypt_kms_ctx_status(KMS, status) ➤ Boolean
privado
Escreva informações de status sobre o objeto mongocrypt_kms_ctx_t no objeto mongocrypt_status_t.
-
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
privado
Indica quanto tempo sono antes de enviar solicitação de KMS.
-
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ➤ booleano
privado
Defina um hook criptográfico para as operações AES256-CTR.
- .mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, caminho) ➤ Objeto privado
- .mongocrypt_setopt_bypass_query_analysis(crypt) ➤ Objeto privado
-
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ➤ booleano
privado
Defina um hook cripto para o algoritmo RASSA-PKCS1-v1_5 com um 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) ➤ booleano
privado
Defina hooks de criptomoedas no objeto mongocrypt fornecido.
- .mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ➤ Objeto privado
-
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ➤ Objeto
privado
Configure os provedores de KMS com um documento BSON .
-
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ➤ Boolean
privado
Defina o manipulador no objeto mongocrypt_t a ser chamado toda vez que libmongocrypt registrar uma mensagem.
- .mongocrypt_setopt_retry_kms(crypt, enable) ➤ Objeto privado
-
.mongocrypt_setopt_schema_map(crypt, schema_map) ➤ Boolean
privado
Define um mapa de esquema local para criptografia.
- .mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ➤ Objeto privado
- .mongocrypt_setopt_use_need_kms_credentials_state(crypt) ➤ Objeto privado
-
.mongocrypt_status(crypt, status) ➤ Boolean
privado
Defina as informações de status do objeto mongocrypt_t no objeto mongocrypt_status_t .
-
.mongocrypt_status_code(status) ➤ Inteiro
privado
Retornar o código de erro de status.
-
.mongocrypt_status_destroy(status) ➤ nil
privado
Destrói a referência ao objeto mongocrypt_status_t.
-
.mongocrypt_status_message(status, len = nil) ⇒ String
privado
Retorna a mensagem de status.
-
.mongocrypt_status_new ➤ FFI::Pointer
privado
Crie um novo objeto mongocrypt_status_t.
-
.mongocrypt_status_ok(status) ➤ Boolean
privado
Retorna se o status está correto ou se é um erro.
-
.mongocrypt_status_set(status, tipo, código, mensagem, lent) ➤ nil
privado
Defina uma mensagem, digite e código em um status existente.
-
.mongocrypt_status_type(status) ⇒ Symbol
privado
Indica o tipo de status.
-
.mongocrypt_version(ten) ➤ string
privado
Retorna a string de versão da biblioteca libmongocrypt.
-
.ongocrypt_new ➤ FFI::Pointer
privado
Cria um novo objeto mongocrypt_t.
-
.parse_version(version) ⇒ Gem::Version
privado
Fornece uma string que representa um número de versão, analisa-a em um objeto Gem::Version .
-
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ➤ Objeto
privado
Defina um hook criptográfico para as operações AES256-CTR.
-
.setopt_append_crypt_shared_lib_search_path(handle, caminho) ➤ Objeto
privado
Anexe um diretório de pesquisa adicional ao caminho de pesquisa para carregar a biblioteca dinâmica crypt_shared.
-
.setopt_bypass_query_analysis(handle) ⇒ Object
privado
Opte por ignorar a análise de query.
-
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(handle, rsaes_pkcs_signature_cb) ⇒ Object
privado
Defina um hook cripto para o algoritmo RASSA-PKCS1-v1_5 com um hash SHA-256 oh the Handle.
-
.setopt_crypto_hooks(handle, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb) ➤ Objeto
privado
Defina chamada de resposta criptográficas no Handle.
-
.setopt_encrypted_field_config_map(handle, efc_map) ➤ Objeto
privado
Defina um EncryptedFieldConfigMap local para criptografia.
-
.setopt_kms_providers(handle, kms_providers) ➤ Objeto
privado
Defina as opções do provedor KMS no objeto Mongo::Crypt::Handle.
-
.setopt_log_handler(handle, log_callback) ➤ Objeto
privado
Defina a função de retorno de chamada do logger no Mongo::Crypt::Handle objeto.
-
.setopt_schema_map(handle, schema_map_doc) ➤ Objeto
privado
Defina o mapa de esquema no objeto Mongo::Crypt::Handle.
-
.setopt_set_crypt_shared_lib_path_override(handle, caminho) ➤ Objeto
privado
Defina um único caminho de substituição para carregar a biblioteca compartilhada de criptografia.
-
.setopt_use_need_kms_credentials_state(handle) ➤ Object
privado
Opte por lidar com o estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
-
.validate_document(data) ⇒ Object
privado
Verifica se os dados especificados são um Hash antes de serializá-los para BSON para evitar erros de libmongocrypt.
-
.validate_version(lmc_version) ⇒ Object
privado
Valida se a versão fornecida da libmongocrypt é válida, ou seja,
Recolhimento do Resumo do método de instância
-
#mongocrypt_crypto_fn(ctx, key, iv, entrada, saída, status) ➤ Bool
privado
Um chamada de resposta de chamada para uma função que executa criptografia ou descriptografia AES.
-
#mongocrypt_hash_fn(ctx, input, output, status) ⇒ Bool
privado
Um chamada de resposta de chamada para uma função de hash SHA-256 .
-
#mongocrypt_hmac_fn(ctx, key, entrada, saída, status) ➤ Bool
privado
Um retorno de chamada para uma função que executa HMAC SHA-512 ou SHA-256.
-
#mongocrypt_log_fn_t(nível, mensagem, lent, ctx) ➤ nil
privado
Um chamada de resposta de chamada para a função de registro do mongocrypt.
-
#mongocrypt_random_fn(ctx, saída, contagem, status) ➤ Bool
privado
Um chamada de resposta de chamada para uma função aleatória segura de criptografia.
Detalhes do método de classe
.check_ctx_status(context) ⇒ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Gere um Mongo::Error::CryptError com base no status do objeto mongocrypt_ctx_t subjacente.
1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1821 def auto.check_ctx_status(Contexto) se block_given? do_raise = !rendimento mais do_raise = true end se do_raise Status = Status.Novo mongocrypt_ctx_status(Contexto.ctx_p, Status.ref) Status.create_crypt_error end end |
.check_kms_ctx_status(kms_context) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Se o bloco fornecido retornar falso, gere um CryptError com as informações de status do objeto KmsContext fornecido.
1107 1108 1109 1110 1111 1112 1113 1114 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1107 def auto.check_kms_ctx_status(kms_context) a menos que rendimento Status = Status.Novo mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, Status.ref) Status.create_crypt_error(KMS: true) end end |
.check_status(handle) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Gere um Mongo::Error::CryptError com base no status do objeto mongocrypt_t subjacente.
1808 1809 1810 1811 1812 1813 1814 1815 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1808 def auto.check_status(lidar) a menos que rendimento Status = Status.Novo mongocrypt_status(lidar.ref, Status.ref) Status.create_crypt_error end end |
.crypt_shared_lib_version(handle) ➤ inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha uma codificação de constante de 64bits para a versão da biblioteca crypt_shared carregada, se disponível.
A versão é codificada como quatro números 16-bit, de cima para baixo:
-
Versão principal
-
Versão secundária
-
Revisão
-
reservado
Por exemplo, a versão 6.2.1 seria codificada como: 0x0006' 0002' 0001' 0000
1614 1615 1616 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1614 def auto.crypt_shared_lib_version(lidar) mongocrypt_crypt_shared_lib_version(lidar.ref) end |
.ctx_datakey_init(contexto) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o contexto para criar uma chave de dados
625 626 627 628 629 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 625 def auto.ctx_datakey_init(Contexto) check_ctx_status(Contexto) fazer mongocrypt_ctx_datakey_init(Contexto.ctx_p) end end |
.ctx_decrypt_init(contexto, comando) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o contexto para descriptografia automática
786 787 788 789 790 791 792 793 794 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 786 def auto.ctx_decrypt_init(Contexto, comando) validate_document(comando) de dados = comando.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_decrypt_init(Contexto.ctx_p, data_p) end end end |
.ctx_encrypt_init(contexto, db_name, comando) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicializar o contexto para criptografia automática
692 693 694 695 696 697 698 699 700 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 692 def auto.ctx_encrypt_init(Contexto, db_name, comando) validate_document(comando) de dados = comando.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_encrypt_init(Contexto.ctx_p, db_name, -1, data_p) end end end |
.ctx_explicit_decrypt_init(context, doc) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o contexto para descriptografia explícita
816 817 818 819 820 821 822 823 824 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 816 def auto.ctx_explicit_decrypt_init(Contexto, doc) validate_document(doc) de dados = doc.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_explicit_decrypt_init(Contexto.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_expression_init(context, doc) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o Contexto para criptografia de expressão explícita.
760 761 762 763 764 765 766 767 768 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 760 def auto.ctx_explicit_encrypt_expression_init(Contexto, doc) validate_document(doc) de dados = doc.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_explicit_encrypt_expression_init(Contexto.ctx_p, data_p) end end end |
.ctx_explicit_encrypt_init(context, doc) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicializar o contexto para criptografia explícita
726 727 728 729 730 731 732 733 734 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 726 def auto.ctx_explicit_encrypt_init(Contexto, doc) validate_document(doc) de dados = doc.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_explicit_encrypt_init(Contexto.ctx_p, data_p) end end end |
.ctx_finalize(contexto) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Finalize a máquina de estados representada pelo Contexto
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1209 def auto.ctx_finalize(Contexto) binário = Binário.Novo check_ctx_status(Contexto) fazer mongocrypt_ctx_finalize(Contexto.ctx_p, binário.ref) end # TODO, pois o binário faz referência a um ponteiro C, e ByteBuffer é # escritos em C em MRI, poderíamos omitir uma cópia dos dados fazendo # ByteBuffer faz referência à string que pertence a libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Novo(binário.to_s), modo: :bson) end |
.ctx_kms_done(context) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Indique para libmongocrypt que ela não receberá mais respostas de KMS.
1186 1187 1188 1189 1190 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1186 def auto.ctx_kms_done(Contexto) check_ctx_status(Contexto) fazer mongocrypt_ctx_kms_done(Contexto.ctx_p) end end |
.ctx_mongo_feed(contexto, doc) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Alimente uma resposta do motorista de volta para libmongocrypt
897 898 899 900 901 902 903 904 905 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 897 def auto.ctx_mongo_feed(Contexto, doc) validate_document(doc) de dados = doc.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_mongo_feed(Contexto.ctx_p, data_p) end end end |
.ctx_mongo_op(context) ⇒ BSON::Document
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna um BSON::Document que representa uma operação que o driver deve executar em nome da libmongocrypt para obter as informações necessárias para continuar com a criptografia/descriptografia (por exemplo, um filtro para uma query de cofre de chaves).
868 869 870 871 872 873 874 875 876 877 878 879 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 868 def auto.ctx_mongo_op(Contexto) binário = Binário.Novo check_ctx_status(Contexto) fazer mongocrypt_ctx_mongo_op(Contexto.ctx_p, binário.ref) end # TODO, pois o binário faz referência a um ponteiro C, e ByteBuffer é # escritos em C em MRI, poderíamos omitir uma cópia dos dados fazendo # ByteBuffer faz referência à string que pertence a libmongocrypt. BSON::Documento.from_bson(BSON::ByteBuffer.Novo(binário.to_s), modo: :bson) end |
.ctx_next_kms_ctx(context) ⇒ Mongo::Crypt::KmsContext | nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorne um novo objeto KmsContext necessário para um objeto Context .
929 930 931 932 933 934 935 936 937 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 929 def auto.ctx_next_kms_ctx(Contexto) kms_ctx_p = mongocrypt_ctx_next_kms_ctx(Contexto.ctx_p) se kms_ctx_p.nulo? nada mais KmsContext.Novo(kms_ctx_p) end end |
.ctx_provide_kms_providers(contexto, kms_providers) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Ligue para em resposta ao estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS para definir as configurações do provedor KMS por contexto. Eles seguem o mesmo formato de 'mongocrypt_setopt_kms_providers'. Se nenhuma chave estiver presente na entrada BSON, as configurações do provedor KMS configuradas para o mongocrypt_t na inicialização serão usadas.
1687 1688 1689 1690 1691 1692 1693 1694 1695 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1687 def auto.ctx_provide_kms_providers(Contexto, kms_providers) validate_document(kms_providers) de dados = kms_providers.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_provide_kms_providers(Contexto.ctx_p, data_p) end end end |
.ctx_rewrap_many_datakey_init(contexto, filtro) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize um contexto para retrair as chaves de dados.
656 657 658 659 660 661 662 663 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 656 def auto.ctx_rewrap_many_datakey_init(Contexto, filtro, filtro) filter_data = filtro, filtro.to_bson.to_s Binário.wrap_string(filter_data) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_rewrap_many_datakey_init(Contexto.ctx_p, data_p) end end end |
.ctx_setopt_algorithm(contexto, nome) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina o algoritmo no contexto
569 570 571 572 573 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 569 def auto.ctx_setopt_algorithm(Contexto, name) check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_algorithm(Contexto.ctx_p, name, -1) end end |
.ctx_setopt_algorithm_range(contexto, opções) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
O algoritmo Range é apenas experimental. Não é destinado a
Defina opções para criptografia explícita com o algoritmo de "faixa".
uso público.
1794 1795 1796 1797 1798 1799 1800 1801 1802 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1794 def auto.ctx_setopt_algorithm_range(Contexto, opciona) validate_document(opciona) de dados = opciona.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_algorithm_range(Contexto.ctx_p, data_p) end end end |
.ctx_setopt_contention_factor(contexto, fator) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina o fator de contenção usado para criptografia explícita. O fator de contenção é usado somente para criptografia FLE 2 indexada.
1757 1758 1759 1760 1761 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1757 def auto.ctx_setopt_contention_factor(Contexto, fator) check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_contention_factor(Contexto.ctx_p, fator) end end |
.ctx_setopt_key_alt_names(contexto, key_alt_names) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Definir vários nomes de chave alternativos na criação de chave de dados
500 501 502 503 504 505 506 507 508 509 510 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 500 def auto.ctx_setopt_key_alt_names(Contexto, key_alt_names) key_alt_names.cada fazer |key_alt_name| key_alt_name_bson = { :keyAltName => key_alt_name }.to_bson.to_s Binário.wrap_string(key_alt_name_bson) fazer |key_alt_name_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_key_alt_name(Contexto.ctx_p, key_alt_name_p) end end end end |
.ctx_setopt_key_encryption_key(contexto, key_document) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina o documento de chave de chave de criptografia para criar uma chave de dados.
598 599 600 601 602 603 604 605 606 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 598 def auto.ctx_setopt_key_encryption_key(Contexto, key_document) validate_document(key_document) de dados = key_document.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_key_encryption_key(Contexto.ctx_p, data_p) end end end |
.ctx_setopt_key_id(context, key_id) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Define a opção de ID da chave em um contexto de criptografia explícito.
467 468 469 470 471 472 473 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 467 def auto.ctx_setopt_key_id(Contexto, key_id) Binário.wrap_string(key_id) fazer |key_id_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_key_id(Contexto.ctx_p, key_id_p) end end end |
.ctx_setopt_key_material(contexto, key_material) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um material de chave personalizado para usar para
encrypting data.
535 536 537 538 539 540 541 542 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 535 def auto.ctx_setopt_key_material(Contexto, key_material) de dados = {'keyMaterial' => key_material}.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_key_material(Contexto.ctx_p, data_p) end end end |
.ctx_setopt_query_type(contexto, query_type) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina o tipo de query a ser usado para a criptografia explícita FLE 2 . O tipo de query é usado somente para criptografia FLE 2 indexada.
1725 1726 1727 1728 1729 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1725 def auto.ctx_setopt_query_type(Contexto, query_type) check_ctx_status(Contexto) fazer mongocrypt_ctx_setopt_query_type(Contexto.ctx_p, query_type, -1) end end |
.get_binary_data_direct(mongocrypt_binary_t) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
181 182 183 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 181 def auto.get_binary_data_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_pointer(0) end |
.get_binary_ten_direct(mongocrypt_binary_t) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
185 186 187 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 185 def auto.get_binary_ten_direct(mongocrypt_binary_t) mongocrypt_binary_t.get_uint32(FFI::NativeType::POINTER.Tamanho) end |
.init(handle) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o objeto Mongo::Crypt::Handle
407 408 409 410 411 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 407 def auto.init(lidar) check_status(lidar) fazer mongocrypt_init(lidar.ref) end end |
.kms_ctx_bytes_needed(kms_context) ➤ Inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o número de bytes necessários para o KmsContext.
1063 1064 1065 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1063 def auto.kms_ctx_bytes_needed(kms_context) mongocrypt_kms_ctx_bytes_needed(kms_context.kms_ctx_p) end |
.kms_ctx_endpoint(kms_context) ⇒ String | nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o nome do host com o qual se conectar por TLS para obter informações sobre a chave mestra do Amazon Web Services .
1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1039 def auto.kms_ctx_endpoint(kms_context) ptr = FFI::MemoryPointer.Novo(:pointer, 1) check_kms_ctx_status(kms_context) fazer mongocrypt_kms_ctx_endpoint(kms_context.kms_ctx_p, ptr) end str_ptr = ptr.read_pointer str_ptr.nulo? ? nada : str_ptr.read_string.force_encoding('UTF-8') end |
.kms_ctx_fail(kms_context) ➤ true, false
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Verifique se a última solicitação com falha para o contexto KMS pode ser repetida.
1148 1149 1150 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1148 def auto.kms_ctx_fail(kms_context) mongocrypt_kms_ctx_fail(kms_context.kms_ctx_p) end |
.kms_ctx_feed(kms_context, bytes) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Alimente as respostas do KMS de volta para libmongocrypt.
1083 1084 1085 1086 1087 1088 1089 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1083 def auto.kms_ctx_feed(kms_context, bytes) check_kms_ctx_status(kms_context) fazer Binário.wrap_string(bytes) fazer |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 faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o identificador do provedor de KMS associado a esta solicitação de KMS.
Isso é usado para configurar condicionalmente conexões TLS com base na solicitação do KMS. É útil para o KMIP, que se autentica com um certificado de cliente .
970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 970 def auto.kms_ctx_get_kms_provider(kms_context) len_ptr = FFI::MemoryPointer.Novo(:uint32, 1) fornecedor = mongocrypt_kms_ctx_get_kms_provider( kms_context.kms_ctx_p, len_ptr ) se len_ptr.nada? nada mais len = se BSON::ambiente.jRuby? # A implementação do JRuby FFI não tem o método 'read (type)', mas # tem este `get_uint32'. len_ptr.get_uint32 mais # Para MRI, usamos um método de `read` documentado - https://www.rubydoc.info/github/ffi/ffi/FFI%2FPointer:read len_ptr.ler(:uint32) end fornecedor.read_string(len).to_sym end end |
.kms_ctx_message(kms_context) ➤ string
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha a mensagem necessária para buscar a HTTP Amazon Web Services KMS chave mestra do de um objeto KmsContext.
1010 1011 1012 1013 1014 1015 1016 1017 1018 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1010 def auto.(kms_context) binário = Binário.Novo check_kms_ctx_status(kms_context) fazer (kms_context.kms_ctx_p, binário.ref) end Método binário.to_s end |
.kms_ctx_setopt_retry_kms(handle, value) ⇒ true, fale
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Habilite ou desabilite o comportamento de novas tentativas do KMS.
1167 1168 1169 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1167 def auto.kms_ctx_setopt_retry_kms(lidar, valor) mongocrypt_setopt_retry_kms(lidar.ref, valor) end |
.kms_ctx_usleep(kms_context) ⇒ Integer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o número de milissegundos para hibernar antes de enviar a solicitação KMS para o contexto KMS fornecido.
1131 1132 1133 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1131 def auto.kms_ctx_usleep(kms_context) mongocrypt_kms_ctx_usleep(kms_context.kms_ctx_p) end |
.mongocrypt_binary_data(binary) ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o ponteiro para os dados subjacentes para o mongocrypt_binary_t.
171 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 171 anexar função :mongocrypt_binary_data, [:pointer], :pointer |
.mongocrypt_binary_destroy(binary) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Destrua o objeto mongocrypt_binary_t .
195 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 195 anexar função :mongocrypt_binary_destroy, [:pointer], :void |
.mongocrypt_binary_ten(binary) ➤ Inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o comprimento da array de dados subjacente.
179 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 179 anexar função :mongocrypt_binary_ten, [:pointer], :int |
.mongocrypt_binary_new ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Cria um novo objeto mongocrypt_binary_t (uma visualização não própria de um byte
array).
147 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 147 anexar função :mongocrypt_binary_new, [], :pointer |
.mongocrypt_binary_new_from_data(data, lent) ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Crie um novo objeto mongocrypt_binary_t que mantém um ponteiro para
the specified byte array.
159 160 161 162 163 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 159 anexar função( :mongocrypt_binary_new_from_data, [:pointer, :int], :pointer ) |
.mongocrypt_crypt_shared_lib_version(crypt) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1592 1593 1594 1595 1596 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1592 anexar função( :mongocrypt_crypt_shared_lib_version, [ :pointer ], :uint64 ) |
.mongocrypt_ctx_datakey_init(ctx, filtro) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
618 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 618 anexar função :mongocrypt_ctx_datakey_init, [:pointer], :bool |
.mongocrypt_ctx_decrypt_init(ctx, doc) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicializa o ctx para descriptografia automática.
778 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 778 anexar função :mongocrypt_ctx_decrypt_init, [:pointer, :pointer], :bool |
.mongocrypt_ctx_destroy(ctx) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Destrua a referência ao objeto mongocrypt_ctx_t.
1228 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1228 anexar função :mongocrypt_ctx_destroy, [:pointer], :void |
.mongocrypt_ctx_encrypt_init(ctx, db, db_len, cmd) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Esse método espera que o BSON passado esteja no formato: { “v”: valor BSON para descriptografar }.
Inicializa o ctx para criptografia automática.
678 679 680 681 682 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 678 anexar função( :mongocrypt_ctx_encrypt_init, [:pointer, : string, :int, :pointer], :bool ) |
.mongocrypt_ctx_explicit_decrypt_init(ctx, msg) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicializa o ctx para descriptografia explícita.
804 805 806 807 808 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 804 anexar função( :mongocrypt_ctx_explicit_decrypt_init, [:pointer, :pointer], :bool ) |
.mongocrypt_ctx_explicit_encrypt_init(ctx, msg) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Antes de chamar esse método, defina um key_id, key_alt_name (opcional) e um algoritmo de criptografia usando os seguintes métodos: mongocrypt_ctx_setopt_key_id, mongocrypt_ctx_setopt_key_alt_name e mongocrypt_ctx_setopt_algorithm.
Inicializa o ctx para criptografia de expressão explícita.
714 715 716 717 718 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 714 anexar função( :mongocrypt_ctx_explicit_encrypt_init, [:pointer, :pointer], :bool ) |
.mongocrypt_ctx_finalize(ctx, op_bson) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Execute a criptografia ou descriptografia final e retorne um documento BSON .
1201 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1201 anexar função :mongocrypt_ctx_finalize, [:pointer, :pointer], :void |
.mongocrypt_ctx_mongo_done(ctx) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Indique para libmongocrypt que o driver terminou de alimentar respostas.
913 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 913 anexar função :mongocrypt_ctx_mongo_done, [:pointer], :bool |
.mongocrypt_ctx_mongo_feed(ctx, responder) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Alimente uma resposta BSON para libmongocrypt.
889 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 889 anexar função :mongocrypt_ctx_mongo_feed, [:pointer, :pointer], :bool |
.mongocrypt_ctx_mongo_next_kms_ctx(ctx) ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorne um ponteiro para um objeto mongocrypt_kms_ctx_t ou NULL.
921 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 921 anexar função :mongocrypt_ctx_next_kms_ctx, [:pointer], :pointer |
.mongocrypt_ctx_mongo_op(ctx, op_bson) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha uma operação BSON para o driver executar no MongoDB
collection, the key vault database, or mongocryptd.
857 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 857 anexar função :mongocrypt_ctx_mongo_op, [:pointer, :pointer], :bool |
.mongocrypt_ctx_new(crypt) ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Criar um novo objeto mongocrypt_ctx_t (um wrapper para a libmongocrypt
state machine).
438 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 438 anexar função :mongocrypt_ctx_new, [:pointer], :pointer |
.mongocrypt_ctx_provide_kms_providers(ctx, kms_providers) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1670 1671 1672 1673 1674 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1670 anexar função( :mongocrypt_ctx_provide_kms_providers, [ :pointer, :pointer ], :bool ) |
.mongocrypt_ctx_setopt_algorithm(ctx, algoritmo, lent) ➤ booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Defina o algoritmo usado para criptografia explícita.
555 556 557 558 559 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 555 anexar função( :mongocrypt_ctx_setopt_algorithm, [:pointer, : string, :int], :bool ) |
.mongocrypt_ctx_setopt_algorithm_range(ctx, opts) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1776 1777 1778 1779 1780 1781 1782 1783 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1776 anexar função( :mongocrypt_ctx_setopt_algorithm_range, [ :pointer, :pointer ], :bool ) |
.mongocrypt_ctx_setopt_contention_factor(ctx, containsion_factor) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1741 1742 1743 1744 1745 1746 1747 1748 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1741 anexar função( :mongocrypt_ctx_setopt_contention_factor, [ :pointer, :int64 ], :bool ) |
.mongocrypt_ctx_setopt_key_alt_name(ctx, binary) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Ao criar uma chave de dados, defina um nome alternativo nessa chave. Quando
performing explicit encryption, specifying which data key to use for
encryption based on its keyAltName field.
487 488 489 490 491 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 487 anexar função( :mongocrypt_ctx_setopt_key_alt_name, [:pointer, :pointer], :bool ) |
.mongocrypt_ctx_setopt_key_encryption_key(ctx) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Defina o documento de chave de chave de criptografia para criar uma chave de dados.
585 586 587 588 589 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 585 anexar função( :mongocrypt_ctx_setopt_key_encryption_key, [:pointer, :pointer], :bool ) |
.mongocrypt_ctx_setopt_key_id(ctx, key_id) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Defina o ID da chave usado para criptografia explícita.
459 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 459 anexar função :mongocrypt_ctx_setopt_key_id, [:pointer, :pointer], :bool |
.mongocrypt_ctx_setopt_key_material(ctx, binário) ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Ao criar uma chave de dados, defina um material de chave personalizado para usar para
encrypting data.
522 523 524 525 526 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 522 anexar função( :mongocrypt_ctx_setopt_key_material, [:pointer, :pointer], :bool ) |
.mongocrypt_ctx_setopt_query_type(ctx, mongocrypt_query_type) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1708 1709 1710 1711 1712 1713 1714 1715 1716 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1708 anexar função( :mongocrypt_ctx_setopt_query_type, [ :pointer, : string, :int ], :bool ) |
.mongocrypt_ctx_state(ctx) ➤ Símbolo
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o estado atual do ctx.
845 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 845 anexar função :mongocrypt_ctx_state, [:pointer], :mongocrypt_ctx_state |
.mongocrypt_ctx_status(ctx, status) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina as informações de status do objeto mongocrypt_ctx_t no
mongocrypt_status_t object.
448 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 448 anexar função :mongocrypt_ctx_status, [:pointer, :pointer], :bool |
.mongocrypt_destroy(crypt) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Destrua a referência ao objeto mongocrypt_t.
429 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 429 anexar função :mongocrypt_destroy, [:pointer], :void |
.mongocrypt_init(crypt) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Inicialize o objeto mongocrypt_t .
400 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 400 anexar função :mongocrypt_init, [:pointer], :bool |
.mongocrypt_kms_ctx_bytes_needed(KMS) ➤ Inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o número de bytes necessários para o contexto KMS.
1056 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1056 anexar função :mongocrypt_kms_ctx_bytes_needed, [:pointer], :int |
.mongocrypt_kms_ctx_done(ctx) ⇒ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Indique para libmongocrypt que ela não receberá mais respostas de
mongocrypt_kms_ctx_t objects.
1179 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1179 anexar função :mongocrypt_ctx_kms_done, [:pointer], :bool |
.mongocrypt_kms_ctx_endpoint(KMS, endpoint) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha o nome do host com o qual se conectar por TLS para obter informações sobre
the AWS master key.
1029 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1029 anexar função :mongocrypt_kms_ctx_endpoint, [:pointer, :pointer], :bool |
.mongocrypt_kms_ctx_fail(ctx) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1142 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1142 anexar função :mongocrypt_kms_ctx_fail, [:pointer], :bool |
.mongocrypt_kms_ctx_feed(KMS, bytes) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Alimente as respostas do KMS de volta para libmongocrypt.
1075 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1075 anexar função :mongocrypt_kms_ctx_feed, [:pointer, :pointer], :bool |
.mongocrypt_kms_ctx_get_kms_provider(crypt, kms_providers) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
955 956 957 958 959 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 955 anexar função( :mongocrypt_kms_ctx_get_kms_provider, [:pointer, :pointer], :pointer ) |
.mongocrypt_kms_ctx_message(KMS, mensagem) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Obtenha a mensagem necessária para buscar a Amazon Web Services KMS chave mestra do .
1000 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1000 anexar função :mongocrypt_kms_ctx_message, [:pointer, :pointer], :bool |
.mongocrypt_kms_ctx_status(KMS, status) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Escrever informações de status sobre o objeto mongocrypt_kms_ctx_t
to the mongocrypt_status_t object.
1099 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1099 anexar função :mongocrypt_kms_ctx_status, [:pointer, :pointer], :bool |
.mongocrypt_kms_ctx_usleep(ctx) ⇒ int64
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Indica quanto tempo sono antes de enviar solicitação de KMS.
1123 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1123 anexar função :mongocrypt_kms_ctx_usleep, [:pointer], :int64 |
.mongocrypt_setopt_aes_256_ctr(crypt, aes_256_ctr_encrypt, aes_256_ctr_decrypt, ctx) ➤ booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um hook criptográfico para as operações AES256-CTR.
1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1487 anexar função( :mongocrypt_setopt_aes_256_ctr, [ :pointer, :mongocrypt_crypto_fn, :mongocrypt_crypto_fn, :pointer ], :bool ) |
.mongocrypt_setopt_append_crypt_shared_lib_search_path(crypt, caminho) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1525 1526 1527 1528 1529 1530 1531 1532 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1525 anexar função( :mongocrypt_setopt_append_crypt_shared_lib_search_path, [ :pointer, : string, ], :void ) |
.mongocrypt_setopt_bypass_query_analysis(crypt) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1463 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1463 anexar função(:mongocrypt_setopt_bypass_query_analysis, [:pointer], :void) |
.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(crypt, sign_rsaes_pkcs1_v1_5, ctx = nil) ➤ booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um hook cripto para o algoritmo RASSA-PKCS1-v1_5 com um hash SHA-256 .
1380 1381 1382 1383 1384 1385 1386 1387 1388 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1380 anexar função( :mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5, [ :pointer, :mongocrypt_hmac_fn, :pointer ], :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 faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina hooks de criptomoedas no objeto mongocrypt fornecido.
1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1333 anexar função( :mongocrypt_setopt_crypto_hooks, [ :pointer, :mongocrypt_crypto_fn, :mongocrypt_crypto_fn, :mongocrypt_random_fn, :mongocrypt_hmac_fn, :mongocrypt_hmac_fn, :mongocrypt_hash_fn, :pointer ], :bool ) |
.mongocrypt_setopt_encrypted_field_config_map(crypt, efc_map) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1422 1423 1424 1425 1426 1427 1428 1429 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1422 anexar função( :mongocrypt_setopt_encrypted_field_config_map, [ :pointer, :pointer ], :bool ) |
.mongocrypt_setopt_kms_providers(crypt, kms_providers) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Não inicialize ctx antes de chamar este método.
Configure os provedores de KMS com um documento BSON .
344 345 346 347 348 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 344 anexar função( :mongocrypt_setopt_kms_providers, [:pointer, :pointer], :bool ) |
.mongocrypt_setopt_log_handler(crypt, log_fn, log_ctx = nil) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina o manipulador no objeto mongocrypt_t a ser chamado toda vez
libmongocrypt logs a message.
315 316 317 318 319 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 315 anexar função( :mongocrypt_setopt_log_handler, [:pointer, :mongocrypt_log_fn_t, :pointer], :bool ) |
.mongocrypt_setopt_retry_kms(crypt, enable) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1160 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1160 anexar função :mongocrypt_setopt_retry_kms, [:pointer, :bool], :bool |
.mongocrypt_setopt_schema_map(crypt, schema_map) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Define um mapa de esquema local para criptografia.
375 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 375 anexar função :mongocrypt_setopt_schema_map, [:pointer, :pointer], :bool |
.mongocrypt_setopt_set_crypt_shared_lib_path_override(crypt, path) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1554 1555 1556 1557 1558 1559 1560 1561 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1554 anexar função( :mongocrypt_setopt_set_crypt_shared_lib_path_override, [ :pointer, : string, ], :void ) |
.mongocrypt_setopt_use_need_kms_credentials_state(crypt) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
1633 1634 1635 1636 1637 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1633 anexar função( :mongocrypt_setopt_use_need_kms_credentials_state, [ :pointer ], :void ) |
.mongocrypt_status(crypt, status) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina as informações de status do objeto mongocrypt_t no
mongocrypt_status_t object.
421 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 421 anexar função :mongocrypt_status, [:pointer, :pointer], :bool |
.mongocrypt_status_code(status) ➤ Inteiro
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retornar o código de erro de status.
243 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 243 anexar função :mongocrypt_status_code, [:pointer], :int |
.mongocrypt_status_destroy(status) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Destrói a referência ao objeto mongocrypt_status_t.
269 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 269 anexar função :mongocrypt_status_destroy, [:pointer], :void |
.mongocrypt_status_message(status, len = nil) ⇒ String
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna a mensagem de status.
253 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 253 anexar função :mongocrypt_status_message, [:pointer, :pointer], : string |
.mongocrypt_status_new ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Crie um novo objeto mongocrypt_status_t.
209 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 209 anexar função :mongocrypt_status_new, [], :pointer |
.mongocrypt_status_ok(status) ➤ Boolean
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna se o status está correto ou se é um erro.
261 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 261 anexar função :mongocrypt_status_ok, [:pointer], :bool |
.mongocrypt_status_set(status, tipo, código, mensagem, lent) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina uma mensagem, digite e código em um status existente.
223 224 225 226 227 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 223 anexar função( :mongocrypt_status_set, [:pointer, :status_type, :int, : string, :int], :void ) |
.mongocrypt_status_type(status) ⇒ Symbol
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Indica o tipo de status.
235 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 235 anexar função :mongocrypt_status_type, [:pointer], :status_type |
.mongocrypt_version(ten) ➤ string
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna a string de versão da biblioteca libmongocrypt.
95 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 95 anexar função :mongocrypt_version, [:pointer], : string |
.ongocrypt_new ➤ FFI::Pointer
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Cria um novo objeto mongocrypt_t.
303 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 303 anexar função :mongocrypt_new, [], :pointer |
.parse_version(version) ⇒ Gem::Version
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Fornece uma string que representa um número de versão, analisa-a em um objeto Gem::Version . Isso lida com o caso em que a string não está em um formato suportado pelo Gem::Version fazendo uma análise personalizada.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 108 def auto.parse_version(Versão) Gem::Versão.Novo(Versão) salvar ArgumentError corresponder = Versão.corresponder(/\A(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?(-[A-Za-z\+\d]+)?\z/) aumentar ArgumentError.Novo(" string número de versão malformada #{version}") se corresponder.nada? Gem::Versão.Novo( [ corresponder[:major], corresponder[:minor], corresponder[:patch] ].juntar('.') ) end |
.setopt_aes_256_ctr(handle, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um hook criptográfico para as operações AES256-CTR.
1505 1506 1507 1508 1509 1510 1511 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1505 def auto.setopt_aes_256_ctr(lidar, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb) check_status(lidar) fazer mongocrypt_setopt_aes_256_ctr(lidar.ref, aes_ctr_encrypt_cb, aes_ctr_decrypt_cb, nada ) end end |
.setopt_append_crypt_shared_lib_search_path(handle, caminho) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Anexar um diretório adicional do Atlas Search ao caminho do Atlas Search para carregamento
the crypt_shared dynamic library.
1539 1540 1541 1542 1543 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1539 def auto.setopt_append_crypt_shared_lib_search_path(lidar, caminho) check_status(lidar) fazer mongocrypt_setopt_append_crypt_shared_lib_search_path(lidar.ref, caminho) end end |
.setopt_bypass_query_analysis(handle) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Opte por ignorar a análise de query.
Se ativado:
-
A biblioteca compartilhada csfle não tentará ser carregada.
-
Um mongocrypt_ctx_t nunca entrará no estado MONGOCRYPT_CTX_NEED_Markings.
1472 1473 1474 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1472 def auto.setopt_bypass_query_analysis(lidar) mongocrypt_setopt_bypass_query_analysis(lidar.ref) end |
.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5(handle, rsaes_pkcs_signature_cb) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um hook de criptografia para o algoritmo RSESSA-PKCS1-v1_5 com
a SHA-256 hash oh the Handle.
1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1397 def auto.setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( lidar, rsaes_pkcs_signature_cb ) check_status(lidar) fazer mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5( lidar.ref, rsaes_pkcs_signature_cb, nada ) 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 faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Definir retornos de chamada de criptografia no identificador
1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1359 def auto.setopt_crypto_hooks(lidar, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb ) check_status(lidar) fazer mongocrypt_setopt_crypto_hooks(lidar.ref, aes_encrypt_cb, aes_decrypt_cb, random_cb, hmac_sha_512_cb, hmac_sha_256_cb, hmac_hash_cb, nada ) end end |
.setopt_encrypted_field_config_map(handle, efc_map) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um EncryptedFieldConfigMap local para criptografia.
1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1440 def auto.setopt_encrypted_field_config_map(lidar, efc_map) validate_document(efc_map) de dados = efc_map.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_status(lidar) fazer mongocrypt_setopt_encrypted_field_config_map( lidar.ref, data_p ) end end end |
.setopt_kms_providers(handle, kms_providers) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Definir as opções do provedor KMS no objeto Mongo::Crypt::Handle
357 358 359 360 361 362 363 364 365 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 357 def auto.setopt_kms_providers(lidar, kms_providers) validate_document(kms_providers) de dados = kms_providers.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_status(lidar) fazer mongocrypt_setopt_kms_providers(lidar.ref, data_p) end end end |
.setopt_log_handler(handle, log_callback) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Definir a função de chamada de resposta de chamada do registrador no objeto Mongo::Crypt::Handle
327 328 329 330 331 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 327 def auto.setopt_log_handler(lidar, log_callback) check_status(lidar) fazer mongocrypt_setopt_log_handler(lidar, log_callback, nada) end end |
.setopt_schema_map(handle, schema_map_doc) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Definir mapa de esquema no objeto Mongo::Crypt::Handle
384 385 386 387 388 389 390 391 392 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 384 def auto.setopt_schema_map(lidar, schema_map_doc) validate_document(schema_map_doc) de dados = schema_map_doc.to_bson.to_s Binário.wrap_string(de dados) fazer |data_p| check_status(lidar) fazer mongocrypt_setopt_schema_map(lidar.ref, data_p) end end end |
.setopt_set_crypt_shared_lib_path_override(handle, caminho) ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Defina um único caminho de substituição para carregar a biblioteca compartilhada de criptografia.
1567 1568 1569 1570 1571 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1567 def auto.setopt_set_crypt_shared_lib_path_override(lidar, caminho) check_status(lidar) fazer mongocrypt_setopt_set_crypt_shared_lib_path_override(lidar.ref, caminho) end end |
.setopt_use_need_kms_credentials_state(handle) ➤ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Opte por lidar com o estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS.
Se definido, antes de entrar no estado MONGOCRYPT_CTX_NEED_KMS, os contextos podem entrar no estado MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS e depois aguardar que as credenciais sejam fornecidas por meio de 'mongocrypt_ctx_provide_kms_providers'.
Um contexto só entrará em MONGOCRYPT_CTX_NEED_KMS_CREDENTIALS se um documento vazio tiver sido definido para um provedor de KMS em 'mongocrypt_setopt_kms_providers'.
1651 1652 1653 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1651 def auto.setopt_use_need_kms_credentials_state(lidar) mongocrypt_setopt_use_need_kms_credentials_state(lidar.ref) end |
.validate_document(data) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Todas as instâncias BSON::Document também são instâncias Hash
Verifica se os dados especificados é um Hash antes de serializá-los para BSON para evitar erros de libmongocrypt
1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1844 def auto.validate_document(de dados) Método se de dados.is_a?(Hash) se de dados.nada? = "Tentativa de passar dados nulos para libmongocrypt. " + "Os dados devem ser um Hash" mais = "Tentativa de passar dados inválidos para libmongocrypt: #{data} " + "Os dados devem ser um Hash" end aumentar Erro::Criptografia de erro.Novo() end |
.validate_version(lmc_version) ⇒ Object
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Valida se a versão fornecida da libmongocrypt é válida, ou seja, igual ou superior à versão mínima exigida. Caso contrário, gera um LoadError.
131 132 133 134 135 136 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 131 def auto.validate_version(lmc_version) se (real_version = parse_version(lmc_version)) < MIN_LIBMOCRYPT_VERSION aumentar LoadError, "libmongocrypt version #{MIN_LIBMOCRYPT_VERSION} ou superior é necessário, " + "mas a versão #{real_version} foi encontrada." end end |
Detalhes do método de instância
#mongocrypt_crypto_fn(ctx, key, iv, input, output, status) ⇒ Bool
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Isto define uma assinatura de método para uma chamada de resposta de resposta FFI ; não é um método de instância na classe Binding.
Um chamada de resposta de chamada para uma função que executa criptografia ou descriptografia AES.
1251 1252 1253 1254 1255 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1251 chamada de resposta( :mongocrypt_crypto_fn, [:pointer, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :bool ) |
#mongocrypt_hash_fn(ctx, entrada, saída, status) ➤ Bool
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Isto define uma assinatura de método para uma chamada de resposta de resposta FFI ; não é um método de instância na classe Binding.
Um chamada de resposta de chamada para uma função de hash SHA-256 .
1299 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1299 chamada de resposta :mongocrypt_hash_fn, [:pointer, :pointer, :pointer, :pointer], :bool |
#mongocrypt_hmac_fn(ctx, key, entrada, saída, status) ➤ Bool
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Isto define uma assinatura de método para uma chamada de resposta de resposta FFI ; não é um método de instância na classe Binding.
Um retorno de chamada para uma função que executa HMAC SHA-512 ou SHA-256.
1276 1277 1278 1279 1280 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1276 chamada de resposta( :mongocrypt_hmac_fn, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool ) |
#mongocrypt_log_fn_t(nível, mensagem, lent, ctx) ➤ nil
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Isto define uma assinatura de método para uma chamada de resposta de resposta FFI ; não é um método de instância na classe Binding.
Um chamada de resposta de chamada para a função de registro do mongocrypt. Definir um retorno de chamada de resposta de registro personalizado
with the mongocrypt_setopt_log_handler method
296 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 296 chamada de resposta :mongocrypt_log_fn_t, [:log_level, : string, :int, :pointer], :void |
#mongocrypt_random_fn(ctx, saída, contagem, status) ➤ Bool
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Isto define uma assinatura de método para uma chamada de resposta de resposta FFI ; não é um método de instância na classe Binding.
Um chamada de resposta de chamada para uma função aleatória segura de criptografia.
1317 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1317 chamada de resposta :mongocrypt_random_fn, [:pointer, :pointer, :int, :pointer], :bool |