El texto que cita básicamente significa: el archivo está firmado con RSA , y la firma se adjunta "tal como está" al archivo. No hay nada acerca de los certificados aquí; las firmas usan claves . Los certificados son formas de vincular las claves públicas a las identidades. El pasaje que cita, aunque atroz de muchas maneras, todavía es relativamente claro acerca de los certificados: no hay ninguno aquí.
Las firmas solo tienen sentido en relación con la verificación :
- La firma se produce con, como entradas, los datos a firmar (todo el archivo) y la clave privada .
- La verificación toma como entrada los datos firmados (el archivo completo, nuevamente), la firma y la clave pública , y le informa si la firma es buena o no.
Al describir el problema, la base de datos espera que los archivos de entrada se firmen con una clave privada específica , correspondiente a la clave pública que la base de datos utilizará para la verificación. Si no tiene esa clave privada a mano, no podrá generar firmas. Usted necesita esa clave si desea firmar un archivo propio. De lo contrario, eso es un absoluto de ninguna manera.
Si tiene la clave privada en algún formato u otro, aún deberá escribir un pequeño fragmento de código para calcular la firma y adjuntarla al archivo (este proceso simple "adjunto" no es un formato de firma estándar, por lo que no obtendrá una herramienta independiente disponible para hacerlo). Esto se puede hacer en muchos marcos de programación, por ejemplo, con Java (utilizando java.security.Signature ) o C (con alguna biblioteca como OpenSSL ).
De todos modos, en criptografía, no puede hacer pruebas decentes "desde afuera". Lo mejor que puede hacer es tomar un archivo de actualización firmado existente, que la base de datos acepta; luego modifique la firma (cambie el valor de uno de los bytes de la firma, que deberían ser los últimos 256 bytes del archivo firmado, a partir de su descripción), y vea que la base de datos ya no acepte el archivo con la firma modificada . Esto demostraría que la base de datos "verifica algo", no que lo haga correctamente. Saber si un sistema criptográfico hace su trabajo adecuadamente no lo hace testing sino auditando el código .