Pregunta

Tenemos un servicio de cifrado que hemos expuesto a través de net.tcp.La mayoría de las veces, el servicio se utiliza para cifrar/descifrar cadenas.Sin embargo, de vez en cuando, necesitamos cifrar documentos de gran tamaño (pdf, jpg, bmp, etc.).

¿Cuáles son las mejores configuraciones de punto final para un escenario como este?¿Debo aceptar/devolver una transmisión?He leído mucho sobre esto, pero nadie brinda orientación sobre qué hacer cuando el archivo grande no aparece con frecuencia.

¿Fue útil?

Solución

MSDN describe cómo habilitar la transmisión a través de WCF bastante bien.

Tenga en cuenta que si es necesario cifrar el vínculo entre el cliente y el servidor, deberá implementar su propio mecanismo de cifrado.El valor por defecto net.tcp el cifrado requiere certificados X.509, que no funcionan con secuencias, ya que este tipo de cifrado debe funcionar en un mensaje completo de una vez en lugar de en una secuencia de bytes.

Esto, a su vez, significa que no podrá autenticar al cliente utilizando los mecanismos de seguridad WCF predeterminados, ya que la autenticación requiere cifrado.La única solución para esto que yo sepa es implementar sus propias extensiones de comportamiento personalizadas en el cliente y el servidor para manejar la autenticación.

Una muy buena referencia sobre cómo agregar extensiones de comportamiento personalizadas es aquí:esto también documenta cómo proporcionar una configuración personalizada (algo que no creo que se analice en ninguna parte de los documentos de MSDN en este momento).

Otros consejos

Un patrón que podría seguir es tener un servicio asincrónico que funcione con archivos en una ubicación compartida del sistema de archivos:

  1. Coloque el archivo a cifrar en una ubicación compartida
  2. Llame al servicio y dígale que cifre el archivo, pasando tanto la ubicación como el nombre del archivo y la dirección de un servicio de devolución de llamada en el cliente.
  3. El servicio cifraría el archivo y colocaría la copia cifrada en una ubicación compartida (la misma donde se colocó la copia no cifrada o diferente, no importa)
  4. El servicio devolvería la llamada al cliente y le daría el nombre y la ubicación del archivo cifrado.
  5. El cliente puede recuperar el archivo cifrado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top