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.
1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1815 def auto.check_ctx_status(Contexto) do_raise = se block_given? !rendimento mais true end Método a menos que do_raise Status = Status.Novo mongocrypt_ctx_status(Contexto.ctx_p, Status.ref) Status.create_crypt_error 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.
1105 1106 1107 1108 1109 1110 1111 1112 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1105 def auto.check_kms_ctx_status(kms_context) Método se rendimento Status = Status.Novo mongocrypt_kms_ctx_status(kms_context.kms_ctx_p, Status.ref) Status.create_crypt_error(KMS: true) 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.
1802 1803 1804 1805 1806 1807 1808 1809 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1802 def auto.check_status(lidar) Método se rendimento Status = Status.Novo mongocrypt_status(lidar.ref, Status.ref) Status.create_crypt_error 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: 0x00060002'0001'0000
1608 1609 1610 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1608 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
623 624 625 626 627 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 623 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
784 785 786 787 788 789 790 791 792 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 784 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
690 691 692 693 694 695 696 697 698 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 690 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
814 815 816 817 818 819 820 821 822 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 814 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.
758 759 760 761 762 763 764 765 766 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 758 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
724 725 726 727 728 729 730 731 732 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 724 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
1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1206 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: como 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: Contexto.bson_mode) 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.
1183 1184 1185 1186 1187 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1183 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
895 896 897 898 899 900 901 902 903 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 895 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).
866 867 868 869 870 871 872 873 874 875 876 877 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 866 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: como 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 .
927 928 929 930 931 932 933 934 935 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 927 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 que `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.
1681 1682 1683 1684 1685 1686 1687 1688 1689 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1681 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.
654 655 656 657 658 659 660 661 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 654 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
567 568 569 570 571 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 567 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.
1788 1789 1790 1791 1792 1793 1794 1795 1796 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1788 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.
1751 1752 1753 1754 1755 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1751 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
498 499 500 501 502 503 504 505 506 507 508 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 498 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.
596 597 598 599 600 601 602 603 604 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 596 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.
465 466 467 468 469 470 471 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 465 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 a ser usado para criptografar dados.
533 534 535 536 537 538 539 540 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 533 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.
1719 1720 1721 1722 1723 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1719 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.
179 180 181 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 179 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.
183 184 185 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 183 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
405 406 407 408 409 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 405 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.
1061 1062 1063 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1061 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 .
1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1037 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.
1146 1147 1148 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1146 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.
1081 1082 1083 1084 1085 1086 1087 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1081 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 .
968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 968 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.
1008 1009 1010 1011 1012 1013 1014 1015 1016 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1008 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 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.
1165 1166 1167 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1165 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.
1129 1130 1131 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1129 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.
169 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 169 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 .
193 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 193 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.
177 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 177 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 uma array de bytes).
145 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 145 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 a array de bytes especificada.
157 158 159 160 161 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 157 anexar função( :mongocrypt_binary_new_from_data, %i[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.
1586 1587 1588 1589 1590 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1586 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.
616 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 616 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.
776 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 776 anexar função :mongocrypt_ctx_decrypt_init, %i[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.
1225 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1225 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.
Este método espera que o BSON passado esteja no formato: { "v": valor BSON para descriptografar }.
Inicializa o ctx para criptografia automática.
676 677 678 679 680 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 676 anexar função( :mongocrypt_ctx_encrypt_init, %i[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.
802 803 804 805 806 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 802 anexar função( :mongocrypt_ctx_explicit_decrypt_init, %i[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.
712 713 714 715 716 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 712 anexar função( :mongocrypt_ctx_explicit_encrypt_init, %i[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 .
1198 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1198 anexar função :mongocrypt_ctx_finalize, %i[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.
911 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 911 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.
887 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 887 anexar função :mongocrypt_ctx_mongo_feed, %i[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.
919 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 919 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 que o driver seja executado na coleção do MongoDB , no banco de banco de dados do cofre de chaves ou no mongocryptd.
855 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 855 anexar função :mongocrypt_ctx_mongo_op, %i[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.
Crie um novo objeto mongocrypt_ctx_t (um wrapper para a máquina de estado libmongocrypt).
436 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 436 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.
1664 1665 1666 1667 1668 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1664 anexar função( :mongocrypt_ctx_provide_kms_providers, %i[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.
553 554 555 556 557 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 553 anexar função( :mongocrypt_ctx_setopt_algorithm, %i[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.
1770 1771 1772 1773 1774 1775 1776 1777 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1770 anexar função( :mongocrypt_ctx_setopt_algorithm_range, %i[ 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.
1735 1736 1737 1738 1739 1740 1741 1742 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1735 anexar função( :mongocrypt_ctx_setopt_contention_factor, %i[ 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. Ao executar a criptografia explícita, especifique qual chave de dados usar para criptografia com base em seu campo keyAltName .
485 486 487 488 489 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 485 anexar função( :mongocrypt_ctx_setopt_key_alt_name, %i[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.
583 584 585 586 587 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 583 anexar função( :mongocrypt_ctx_setopt_key_encryption_key, %i[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.
457 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 457 anexar função :mongocrypt_ctx_setopt_key_id, %i[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 na criptografia de dados.
520 521 522 523 524 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 520 anexar função( :mongocrypt_ctx_setopt_key_material, %i[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.
1702 1703 1704 1705 1706 1707 1708 1709 1710 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1702 anexar função( :mongocrypt_ctx_setopt_query_type, %i[ 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.
843 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 843 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 objeto mongocrypt_status_t .
446 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 446 anexar função :mongocrypt_ctx_status, %i[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.
427 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 427 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 .
398 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 398 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.
1054 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1054 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 objetos mongocrypt_kms_ctx_t.
1176 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1176 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 a chave mestra do Amazon Web Services .
1027 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1027 anexar função :mongocrypt_kms_ctx_endpoint, %i[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.
1140 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1140 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.
1073 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1073 anexar função :mongocrypt_kms_ctx_feed, %i[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.
953 954 955 956 957 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 953 anexar função( :mongocrypt_kms_ctx_get_kms_provider, %i[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 .
998 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 998 anexar função :mongocrypt_kms_ctx_message, %i[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.
Escreva informações de status sobre o objeto mongocrypt_kms_ctx_t no objeto mongocrypt_status_t.
1097 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1097 anexar função :mongocrypt_kms_ctx_status, %i[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.
1121 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1121 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.
1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1482 anexar função( :mongocrypt_setopt_aes_256_ctr, %i[ 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.
1519 1520 1521 1522 1523 1524 1525 1526 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1519 anexar função( :mongocrypt_setopt_append_crypt_shared_lib_search_path, %i[ 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.
1458 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1458 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 .
1375 1376 1377 1378 1379 1380 1381 1382 1383 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1375 anexar função( :mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5, %i[ 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.
1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1330 anexar função( :mongocrypt_setopt_crypto_hooks, %i[ 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.
1417 1418 1419 1420 1421 1422 1423 1424 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1417 anexar função( :mongocrypt_setopt_encrypted_field_config_map, %i[ 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 .
342 343 344 345 346 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 342 anexar função( :mongocrypt_setopt_kms_providers, %i[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 que libmongocrypt registrar uma mensagem.
313 314 315 316 317 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 313 anexar função( :mongocrypt_setopt_log_handler, %i[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.
1158 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1158 anexar função :mongocrypt_setopt_retry_kms, %i[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.
373 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 373 anexar função :mongocrypt_setopt_schema_map, %i[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.
1548 1549 1550 1551 1552 1553 1554 1555 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1548 anexar função( :mongocrypt_setopt_set_crypt_shared_lib_path_override, %i[ 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.
1627 1628 1629 1630 1631 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1627 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 objeto mongocrypt_status_t .
419 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 419 anexar função :mongocrypt_status, %i[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.
241 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 241 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.
267 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 267 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.
251 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 251 anexar função :mongocrypt_status_message, %i[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.
207 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 207 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.
259 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 259 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.
221 222 223 224 225 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 221 anexar função( :mongocrypt_status_set, %i[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.
233 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 233 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.
93 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 93 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.
301 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 301 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.
106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 106 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.
1500 1501 1502 1503 1504 1505 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1500 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.
Anexe um diretório de pesquisa adicional ao caminho de pesquisa para carregar a biblioteca dinâmica crypt_shared.
1533 1534 1535 1536 1537 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1533 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.
1467 1468 1469 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1467 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 cripto para o algoritmo RASSA-PKCS1-v1_5 com um hash SHA-256 oh the Handle.
1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1392 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
1356 1357 1358 1359 1360 1361 1362 1363 1364 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1356 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.
1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1435 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
355 356 357 358 359 360 361 362 363 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 355 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
325 326 327 328 329 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 325 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
382 383 384 385 386 387 388 389 390 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 382 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.
1561 1562 1563 1564 1565 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1561 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 MONGCRYPT_CTX_NEED_KMS_CREDENTIALS e então 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 no mongocrypt_setopt_kms_providers.
1645 1646 1647 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1645 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
1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1838 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. ' + ' Osdados devem ser um Hash ' mais "Tentativa de passar dados inválidos para libmongocrypt: #{data} " + ' Osdados 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.
129 130 131 132 133 134 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 129 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.
1248 1249 1250 1251 1252 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1248 chamada de resposta( :mongocrypt_crypto_fn, %i[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 .
1296 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1296 chamada de resposta :mongocrypt_hash_fn, %i[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.
1273 1274 1275 1276 1277 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1273 chamada de resposta( :mongocrypt_hmac_fn, %i[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 para a função de log do mongocrypt. Defina um chamada de resposta de log personalizado com o método mongocrypt_setopt_log_handler
294 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 294 chamada de resposta :mongocrypt_log_fn_t, %i[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.
1314 |
# Arquivo 'lib/mongo/crypt/binding.rb', linha 1314 chamada de resposta :mongocrypt_random_fn, %i[pointer pointer int pointer], :bool |