TP3: ¿Los elementos de la creacion de un nuevo certificado se envian por separado?

21 views
Skip to first unread message

Franco Martin Di Maria

unread,
Apr 20, 2019, 4:22:05 PM4/20/19
to 7542 - Taller de Programación
Hola,

En el enunciado dice:

El cliente quiere crear (​ new​ ) un nuevo certificado. Para eso le envía al servidor el siguiente mensaje:
  • El comando o acción ​ new ​ codificado con el valor numérico ​ 0 ​ . En otras palabras, envía el número ​ 0 ​ .
  • A continuación se envía el subject. Como se indicó en la sección ​ Formato del mensaje​ , para enviar
  • un string se debe enviar primero su longitud (4 bytes, sin signo, big endian) y luego el contenido del
  • string sin el ​ ‘\0’​ .
  • Luego se envía el módulo del cliente como un entero sin signo de 2 bytes.
  • Se envía el exponente como un entero sin signo de 1 byte.
  • La fecha de inicio del certificado.
  • La fecha de finalización de la validez del certificado.
¿Esto significa que:
  1. Primero envio en 4 bytes sin signo big endian, la lognitud del comando, en este caso 1, para el 0.
  2. Envio la longitud del subject y luego el subject.
  3. Envio la longitud del modulo, y luego el modulo.
  4. Envio la longitud del exponente y luego el exponente.
  5. Envio la longitud de la fecha de inicio y luego la fecha de inicio.
  6. Envio la longitud de la fecha de finalización y luego la fecha de finalizacion.
?
¿O debo la longitud de todo lo anterior , y luego todo el los parametros de la creacion del certificado pegado uno al lado del otro?

En caso de ser lo primero, para los casos del comando, modulo, exponente, ¿se puede obviar la longitud, no?

Saludos,

Franco M. Di Maria
100498

Federico Manuel Gomez Peter

unread,
Apr 22, 2019, 10:58:39 AM4/22/19
to 7542 - Taller de Programación
la longitud es para cuando envías un string (que puede variar de tamaño).

1. mandás 1 byte para comando (sin longitud previa porque sabés exactamente el largo esperado)
2. enviás el subject. Este es un string, cuyo largo puede variar, por lo tanto primeron enviás en 4 bytes big endian sin signo la longitud del subject, y después la tira de bytes del string.
3. el módulo se sabe que su extensión es de 2 bytes, por lo que tampoco enviás longitud. Solo mandás 2 bytes en big endian sin signo.
4. El exponente es 1 byte, de nuevo tampoco se necesita mandar un header con la longitud del mensaje.
5.  Las fechas son un string, y se envían de  acuerdo a lo descripto en el punto 2.
Reply all
Reply to author
Forward
0 new messages