¿Qué hizo la autoridad de certificación con mi CSR?

6

Necesitaba acceder a un servicio web que no es mío.

El departamento de TI de ese servicio web me ha pedido que les envíe un CSR (solicitud de firma de certificado). Luego, me enviará un certificado firmado que puedo incluir en mis llamadas con PHP combinando ese certificado con mi clave privada.

¿Qué hizo la autoridad de certificación para permitirme hacer esto? ¿Cómo acepta el servicio web mis llamadas? ¿Puede alguien describirme paso a paso lo que han hecho?

    
pregunta Marie 15.12.2012 - 20:24
fuente

2 respuestas

4

Una CSR es un archivo que contiene su clave pública y los datos que describen su servidor, como su nombre de host ("nombre común"), etc. Una autoridad de certificación (CA) es un intermediario que usted y las partes con las que se conectan confían mutuamente. Una CA revisará la CSR que envíe y luego emitirá un certificado, que generalmente es la misma información que en la firma digital de CSR plus CA. Cuando ofrece este certificado a los servidores a los que se conecta, comprueban que la firma de CA sea válida y pertenezca a una CA en la que confían. Esto simplifica el procedimiento de asegurar la confianza entre las partes al colocarlo en una "autoridad de confianza mutua".

Le sugiero que busque términos como "qué es una solicitud de firma de certificado" y lea algunos artículos introductorios sobre la infraestructura de clave pública x509.

    
respondido por el mricon 16.12.2012 - 04:00
fuente
2

Un certificado es un objeto que contiene un nombre y una clave pública , y que está firmado. La autoridad de certificación es la entidad que aplica la firma: al hacerlo, la CA declara: " esta clave pública es realmente propiedad del individuo con ese nombre". La propiedad de la clave se define mediante el control de la clave privada correspondiente.

La solicitud de certificado es un objeto que contiene un nombre y una clave pública, que envía a una CA. La CA creará el certificado (y luego lo firmará), colocando en él los datos relevantes; en particular, colocará la clave pública que envió como parte de la solicitud. Por supuesto, la CA lo hará solo después de verificar que realmente es su clave (supongo, o al menos espero firmemente, que, en su situación, el "departamento de TI" tenga una forma razonablemente confiable de asegurarse de que la solicitud de certificado que recibieron es realmente el que usted envió). Por supuesto, para generar la solicitud de certificado, tenía que generar un par de claves pública / privada. La clave privada nunca dejó tu computadora; solo la parte pública fue enviada a la AC

Al instalar el certificado en su máquina, a lo largo de la clave privada correspondiente, permitió que PHP realizara la autenticación de cliente basada en certificados. El protocolo principal para eso es SSL / TLS (por lo tanto, HTTPS, que es HTTP sobre SSL). Cuando el cliente SSL se conecta al servidor, realizan una criptografía (el "apretón de manos"), y el servidor puede solicitar un certificado al cliente: el cliente debe enviar el certificado y usar el correspondiente clave privada para responder a un desafío desde el servidor (básicamente, calcular una firma digital ). Luego, el servidor valida el certificado (es decir, verifica la firma que aplicó la CA): este certificado le dice al servidor cuál es su clave pública su , momento en el cual el servidor puede verificar su respuesta al desafío y , por lo tanto, asegúrese de que realmente está hablando con usted.

Resumen: el servidor autentica a su cliente al verificar que el cliente controla una clave privada que corresponde a una clave pública específica. El certificado enlaza esa clave pública a su nombre. La CA establece esta vinculación. Para producir el certificado, la CA necesita conocer su clave pública; su clave pública está contenida en la solicitud de certificado que envió a la CA.

    
respondido por el Thomas Pornin 28.12.2012 - 15:00
fuente

Lea otras preguntas en las etiquetas