Clase: Mongo::Socket::SSL Privado

Hereda:
Mongo::Socket Mostrar todo
Incluye:
Registrable, OpenSSL
Definido en:
lib/mongo/socket/ssl.rb

Overview

Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Envoltorio para sockets TLS.

Desde:

  • 2.0.0

Resumen constante

Constantes incluidas desde Loggable

Registrable::PREFIX

Constantes heredadas de Mongo::Socket

SSL_ERROR, TIMEOUT_ERROR, TIMEOUT_PACK, WRITE_CHUNK_SIZE

Colapso delresumen de atributos de instancia

Atributos heredados de Mongo::Socket

#familia, #opciones, #socket, #tiempo de espera

Colapso del resumen del método de instancia

Métodos incluidos en Loggable

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

Métodos heredados de Mongo::Socket

#vivo?, #cerrado, #conectable?, #dirección_de_conexión, #generación_de_conexión, #fin_de?, #obtiene, #monitorear?, #tubería, #leer, #resumen, #escribir

Detalles del constructor

#inicializar(host, puerto, nombre_de_host, tiempo de espera, familia, opciones = {}) ⇒ SSL

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicializa un nuevo socket TLS.

Ejemplos:

Crea el socket TLS.

SSL.new('::1', 27017, 30)

Parámetros:

  • host (Cadena) -

    El nombre de host o la dirección IP.

  • Puerto (Entero)

    El número de puerto.

  • tiempo de espera (Flotar) -

    El valor de tiempo de espera del socket.

  • familia (Entero)

    La familia de sockets.

  • opciones (Hash) (predeterminado: {})

    Las opciones.

Opciones Hash(opciones):

  • :tiempo de espera de conexión (Flotar)

    Tiempo de espera de conexión.

  • :dirección_de_conexión ( DIRECCIÓN)

    Dirección de la conexión que creó este socket.

  • :generación_de_conexión (Entero)

    Generación de la conexión (para conexiones que no son de monitoreo) que creó este socket.

  • :monitor (true | false)

    Si este socket fue creado por una conexión de monitoreo.

  • :certificado ssl_ca_cert (Cadena)

    El archivo que contiene los certificados de autoridad de certificación concatenados, utilizado para validar los certificados transmitidos desde el otro extremo de la conexión. Los certificados intermedios NO deben especificarse en los archivos referenciados por esta opción. Se requiere :ssl_ca_cert, :ssl_ca_cert_string o :ssl_ca_cert_object (en orden de prioridad) al usar :ssl_verify.

  • :objeto de certificado SSL CA (Matriz<OpenSSL::X509::Certificate>)

    Una matriz de objetos OpenSSL::X509::Certificate que representan los certificados de la autoridad de certificación utilizados para validar los certificados transmitidos desde el otro extremo de la conexión. Los certificados intermedios NO deben especificarse en los archivos referenciados por esta opción. Se requiere :ssl_ca_cert, :ssl_ca_cert_string o :ssl_ca_cert_object (en orden de prioridad) al usar :ssl_verify.

  • :cadena de certificado ssl_ca (Cadena)

    Cadena que contiene el certificado de la autoridad de certificación, utilizado para validar los certificados transmitidos desde el otro extremo de la conexión. Esta opción permite transmitir solo un certificado de CA al controlador. Los certificados intermedios NO deben especificarse en los archivos referenciados por esta opción. Se requiere uno de los siguientes: :ssl_ca_cert, :ssl_ca_cert_string o :ssl_ca_cert_object (en orden de prioridad) al usar :ssl_verify.

  • :certificado_ssl (Cadena)

    El archivo de certificado utilizado para identificar la conexión con MongoDB. Se puede pasar una cadena de certificados especificando primero el certificado del cliente, seguido de cualquier certificado intermedio hasta el certificado de la CA. El archivo también puede contener la clave privada del certificado, que se ignorará. Esta opción, si está presente, prevalece sobre los valores de :ssl_cert_string y :ssl_cert_object.

  • :objeto de certificado SSL (OpenSSL::X::Certificado)509

    El certificado OpenSSL::X509::Certificate utilizado para identificar la conexión con MongoDB. Solo se puede pasar un certificado mediante esta opción.

  • :ssl_cert_string (Cadena)

    Una cadena que contiene el certificado codificado en PEM utilizado para identificar la conexión con MongoDB. Se puede pasar una cadena de certificados especificando primero el certificado del cliente, seguido de cualquier certificado intermedio hasta el certificado de la CA. La cadena también puede contener la clave privada del certificado, que se ignorará. Esta opción, si está presente, prevalece sobre el valor de :ssl_cert_object.

  • :ssl_key (Cadena)

    El archivo de clave privada que se utiliza para identificar la conexión con MongoDB. Ten en cuenta que, aunque la clave se almacene en el mismo archivo que el certificado, es necesario especificar ambos explícitamente. Esta opción, si está presente, tiene prioridad sobre los valores de :ssl_key_string y :ssl_key_object

  • :ssl_key_object (OpenSSL::PKey)

    La clave privada utilizada para identificar la conexión con MongoDB

  • :frase_de_contraseña_de_clave_ssl (Cadena)

    Una frase de contraseña para la clave privada.

  • :cadena de claves SSL (Cadena)

    Una cadena que contiene la clave privada codificada en PEM utilizada para identificar la conexión con MongoDB. Este parámetro, si está presente, tiene prioridad sobre el valor de la opción :ssl_key_object.

  • :ssl_verify (verdadero,falso)

    Si se debe realizar la validación de certificados de pares y la verificación de nombres de host. Tenga en cuenta que la decisión de validar certificados se invalidará si se configura :ssl_verify_certificate, y la decisión de validar nombres de host se invalidará si se configura :ssl_verify_hostname.

  • :certificado_de_verificación_ssl (verdadero,falso)

    Si se debe realizar la validación del certificado de pares. Esta configuración anula :ssl_verify respecto a si se realiza la validación del certificado.

  • :ssl_verify_hostname (verdadero,falso)

    Si se debe realizar la validación del nombre de host del par. Esta configuración anula :ssl_verify respecto a si se realiza la validación del nombre de host.

Desde:

  • 2.0.0



104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Archivo 'lib/mongo/socket/ssl.rb', línea 104

def inicializar(host, Puerto, nombre_de_host, tiempo de espera, familia, opciones = {})
  Super(tiempo de espera, opciones)
  @host, @puerto, @nombre_de_host = host, Puerto, nombre_de_host
  @contexto = crear_contexto(opciones)
  @familia = familia
  @tcp_socket = ::Enchufe.Nuevo(familia, CORRIENTE DE CALCETINES, 0)
  begin
    @tcp_socket.setsockopt(IPPROTO_TCP, TCP_NODELAY, 1)
    establecer_opciones_de_socket(@tcp_socket)
    ganchos de contexto de ejecución de tls

    ¡conectar!
  rescate
    @tcp_socket.cerrar
    propagar
  end
end

Detalles de los atributos de instancia

#contextoSSLContext (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve contexto El contexto TLS.

Devuelve:

  • (SSLContext)

    contexto El contexto TLS.

Desde:

  • 2.0.0



123
124
125
# Archivo 'lib/mongo/socket/ssl.rb', línea 123

def context
  @contexto
end

#hostCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve host El host al que conectarse.

Devuelve:

  • (Cadena) -

    host El host al que conectarse.

Desde:

  • 2.0.0



126
127
128
# Archivo 'lib/mongo/socket/ssl.rb', línea 126

def host
  @host
end

#host_nameCadena (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve host_name El nombre del host original.

Devuelve:

  • (Cadena) -

    host_name El nombre del host original.

Desde:

  • 2.0.0



129
130
131
# Archivo 'lib/mongo/socket/ssl.rb', línea 129

def nombre_de_host
  @nombre_de_host
end

#puertoEntero (solo lectura)

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve puerto El puerto al que conectarse.

Devuelve:

  • (Entero)

    puerto El puerto al que conectarse.

Desde:

  • 2.0.0



132
133
134
# Archivo 'lib/mongo/socket/ssl.rb', línea 132

def Puerto
  @puerto
end

Detalles del método de instancia

#readbyteObjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Leer un solo byte del socket.

Ejemplos:

Leer un solo byte.

socket.readbyte

Devuelve:

  • (Objeto) -

    El byte leído.

Desde:

  • 2.0.0



188
189
190
191
192
193
# Archivo 'lib/mongo/socket/ssl.rb', línea 188

def byte de lectura
  excepciones de mapa hacer
    byte = Socket.Lea(1).bytes.to_a[0]
    byte.nil? ? propagar(Error de EOFE) : byte
  end
end