Necesito para la instalación de 2 vías SSL canal de comunicación entre un .NET/aplicación WCF y una tercera parte del servidor web. Ahora estoy tratando de conseguir con éxito un apretón de manos con el host con el fin de validar que todos los elementos estén correctamente instaladas (certificado de cliente, servidor de certificados de la autoridad, la comunicación en red…). Estoy usando openSSL herramienta de línea de comandos para probar y validar esto, el uso de la s_client comando.

Aquí es lo que me detiene, y lo que no entiendo:

  • lo que puedo hacer, openSSL está a la espera de encontrar una clave privada para el
    cliente certificado
  • el certificado de cliente me fue dado por el tercero, pero
    no contiene la clave privada
  • si me acaba de generar mi propio archivo de clave privada utilizando openSSL, me estoy poniendo
    una clave de los valores de error de coincidencia de

Tenga en cuenta que acabo de empezar a conseguir mis manos en SSL, así que tengo una comprensión muy básica de todo el protocolo. Por lo que he estado leyendo, parece que tanto el servidor como el cliente necesita su clave privada en una forma 2, configuración de SSL. Sin embargo, yo no puedo averiguar cómo conseguir un trabajo clave privada en mi cliente (en colaboración con el certificado de cliente que le ha dado a mí).
Yo aprecio mucho si alguien pudiera arrojar algo de luz sobre el certificado de cliente claves privadas, ya que esto me está dando un dolor de cabeza importante.

Gracias!

  • La única cosa que usted debe de haber sido dado, en todo caso, el certificado de servidor. Nadie más puede darle un certificado de cliente: usted tiene que construir por sí mismo a partir de su propia clave privada. Posiblemente quien se la dio a usted no entiende eso.
  • Dicho de esa manera, esto tiene más sentido, de hecho. Y yo te confirmo que tengo la sensación de que no muchas personas a mi alrededor parecen entender todo este SSL cosa muy bien. Supongo que es a mí a levantar la barra sobre el tema (que es lo que estoy tratando de lograr aquí).
InformationsquelleAutor Aerendel | 2012-06-26

1 Comentario

  1. 50

    Certificados en sus propias son sólo para las piezas de información. Lo que une a un certificado de clave pública para el nombre que contiene es el hecho de que quien tiene el control legítimo sobre ese nombre (por ejemplo, su nombre o el nombre de tu servidor) también tiene la clave privada para él.

    Los certificados se usan para probar la identidad de la parte remota mediante el desafío de la parte remota para realizar una operación que sólo se puede hacer con la correspondiente clave privada: la firma de algo (que puede ser verificada con la clave pública) o descifrar algo que se ha cifrado con la clave pública. (Tanto que puede suceder en el SSL/TLS handshake, dependiendo de la suite de cifrado.)

    Durante el SSL/TLS handshake, el servidor envía su certificado (en claro), y se demuestra al cliente que tiene la clave privada correspondiente el uso de la autenticación de intercambio de claves.

    En su caso, usted también desea utilizar el cliente de autenticación de certificado. No es suficiente para enviar el certificado de cliente durante el apretón de manos: el cliente también debe demostrar que tiene la clave privada. De lo contrario, cualquier persona que recibe este certificado podría clonar. El punto de uso de los certificados es para evitar cualquier tipo de clonación, de tal manera que usted nunca tendrá que mostrar su propio secreto (la clave privada).

    Más específicamente, el cliente tiene que firmar el protocolo de enlace de los mensajes en el Certificado De Verificar mensaje de la TLS handshake por lo que el servidor puede verificar en contra de la clave pública se envía en el certificado de cliente. Sin este paso, no hay cliente-certificado de de autenticación que estaría teniendo lugar.

    el certificado de cliente me fue dado por el tercero, pero no
    no contiene ninguna clave privada

    Darle su certificado sin su clave privada parece un poco inútil, a menos que se espera generar una solicitud de certificado en su lado de antemano (en el que caso de que usted tiene la clave privada).

    De hecho, en vez de dar un certificado y su clave privada, es la mejor práctica para generar el par de claves, crear una solicitud de certificado (CSR), y tienen su CA emitir un certificado de que la RSE (pero sin siquiera saber su clave privada). En este caso, se esperaría que han mantenido su clave privada, y usted sería capaz de usarlo con el cert que habría recibido.

    • Así que, básicamente, tengo 2 opciones: 1 – pedir la clave privada del certificado, si lo tienen (es posible que hacer dadas las circunstancias), pero esta práctica no es uniforme en todo O 2 – el uso de openSSL (por ejemplo) para generar la clave de + la RSE y darles de que la RSE. La RSE debe tener la información necesaria para generar un certificado de cliente correspondiente a la clave privada?
    • Sí. (Tenga en cuenta que hay otras maneras de OpenSSL para generar un par de claves y solicitar un certificado, en particular, hay algunos basada en navegador CAs, donde las claves son generadas dentro del navegador, y pueden ser exportados.)
    • Tenemos toda la clave privada de la cosa descubierto ahora. Todavía se enfrentan a otros problemas, pero por diferentes motivos, por lo que este respondió a mi pregunta. Muchas gracias por tomarse el tiempo para explicar esto en una forma útil.

Dejar respuesta

Please enter your comment!
Please enter your name here