Classe: Mongo::Crypt::Binding Private
- Herda:
-
Objeto
- Objeto
- Mongo::Crypt::Binding
- Estendido por:
- FFI::Biblioteca
- Definido em:
- build/ruby-driver-v2.19/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.7.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 "rangePreview".
-
.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 .
-
.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_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.
-
.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_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_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_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.
1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1757 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.
1099 1100 1101 1102 1103 1104 1105 1106 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1099 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.
1744 1745 1746 1747 1748 1749 1750 1751 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1744 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
1550 1551 1552 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1550 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
617 618 619 620 621 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 617 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
778 779 780 781 782 783 784 785 786 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 778 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
684 685 686 687 688 689 690 691 692 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 684 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
808 809 810 811 812 813 814 815 816 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 808 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.
752 753 754 755 756 757 758 759 760 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 752 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
718 719 720 721 722 723 724 725 726 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 718 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
1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1145 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.
1122 1123 1124 1125 1126 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1122 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
889 890 891 892 893 894 895 896 897 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 889 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).
860 861 862 863 864 865 866 867 868 869 870 871 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 860 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 .
921 922 923 924 925 926 927 928 929 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 921 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.
1623 1624 1625 1626 1627 1628 1629 1630 1631 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1623 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.
648 649 650 651 652 653 654 655 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 648 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
561 562 563 564 565 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 561 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 RangePreview é apenas experimental. Não é destinado a
Defina opções para criptografia explícita com o algoritmo "rangePreview".
uso público.
1730 1731 1732 1733 1734 1735 1736 1737 1738 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1730 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.
1693 1694 1695 1696 1697 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1693 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
492 493 494 495 496 497 498 499 500 501 502 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 492 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.
590 591 592 593 594 595 596 597 598 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 590 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.
459 460 461 462 463 464 465 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 459 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.
527 528 529 530 531 532 533 534 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 527 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.
1661 1662 1663 1664 1665 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1661 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 |
.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
399 400 401 402 403 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 399 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.
1055 1056 1057 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1055 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 .
1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1031 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_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.
1075 1076 1077 1078 1079 1080 1081 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1075 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 .
962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 962 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.
1002 1003 1004 1005 1006 1007 1008 1009 1010 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1002 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 |
.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 |
# File 'build/ruby-driver-v2.19/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 .
187 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 187 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 |
# File 'build/ruby-driver-v2.19/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 |
# File 'build/ruby-driver-v2.19/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 |
# File 'build/ruby-driver-v2.19/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.
1528 1529 1530 1531 1532 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1528 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.
610 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 610 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.
770 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 770 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.
1164 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1164 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.
670 671 672 673 674 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 670 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.
796 797 798 799 800 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 796 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.
706 707 708 709 710 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 706 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 .
1137 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1137 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.
905 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 905 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.
881 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 881 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.
913 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 913 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.
849 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 849 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).
430 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 430 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.
1606 1607 1608 1609 1610 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1606 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.
547 548 549 550 551 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 547 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.
1712 1713 1714 1715 1716 1717 1718 1719 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1712 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.
1677 1678 1679 1680 1681 1682 1683 1684 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1677 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.
479 480 481 482 483 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 479 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.
577 578 579 580 581 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 577 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.
451 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 451 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.
514 515 516 517 518 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 514 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.
1644 1645 1646 1647 1648 1649 1650 1651 1652 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1644 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.
837 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 837 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.
440 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 440 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.
421 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 421 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 .
392 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 392 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.
1048 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1048 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.
1115 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1115 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.
1021 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1021 anexar função :mongocrypt_kms_ctx_endpoint, [:pointer, :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.
1067 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1067 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.
947 948 949 950 951 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 947 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 .
992 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 992 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.
1091 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1091 anexar função :mongocrypt_kms_ctx_status, [:pointer, :pointer], :bool |
.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.
1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1423 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.
1461 1462 1463 1464 1465 1466 1467 1468 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1461 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.
1399 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1399 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 .
1316 1317 1318 1319 1320 1321 1322 1323 1324 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1316 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.
1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1269 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.
1358 1359 1360 1361 1362 1363 1364 1365 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1358 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 .
336 337 338 339 340 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 336 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.
307 308 309 310 311 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 307 anexar função( :mongocrypt_setopt_log_handler, [:pointer, :mongocrypt_log_fn_t, :pointer], :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.
367 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 367 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.
1490 1491 1492 1493 1494 1495 1496 1497 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1490 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.
1569 1570 1571 1572 1573 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1569 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.
413 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 413 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.
235 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 235 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.
261 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 261 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.
245 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 245 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.
201 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 201 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.
253 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 253 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.
215 216 217 218 219 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 215 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.
227 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 227 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 |
# File 'build/ruby-driver-v2.19/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.
295 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 295 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 |
# File 'build/ruby-driver-v2.19/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.
1441 1442 1443 1444 1445 1446 1447 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1441 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.
1475 1476 1477 1478 1479 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1475 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.
1408 1409 1410 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1408 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.
1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1333 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
1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1295 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.
1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1376 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
349 350 351 352 353 354 355 356 357 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 349 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
319 320 321 322 323 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 319 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
376 377 378 379 380 381 382 383 384 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 376 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.
1503 1504 1505 1506 1507 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1503 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'.
1587 1588 1589 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1587 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
1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1780 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 |
# File 'build/ruby-driver-v2.19/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.
1187 1188 1189 1190 1191 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1187 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 .
1235 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1235 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.
1212 1213 1214 1215 1216 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1212 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
288 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 288 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.
1253 |
# File 'build/ruby-driver-v2.19/lib/mongo/crypt/binding.rb', linha 1253 chamada de resposta :mongocrypt_random_fn, [:pointer, :pointer, :int, :pointer], :bool |