Il testo che citi significa fondamentalmente: il file è firmato con RSA , e la firma è aggiunta "così com'è" al file. Qui non c'è nulla sui certificati; le firme usano i tasti . I certificati sono modi per associare le chiavi pubbliche alle identità. Il brano che citi, anche se atroce in molti modi, è ancora relativamente chiaro riguardo ai certificati: non ce ne sono qui.
Le firme hanno senso solo relativamente a verifica :
- La firma viene prodotta con, come input, i dati da firmare (l'intero file) e la chiave privata .
- La verifica prende come input i dati firmati (l'intero file, ancora una volta), la firma e la chiave pubblica e ti dice se la firma è buona o meno.
Mentre descrivi il problema, il database si aspetta che i file di input siano firmati con una chiave privata specifica , corrispondente alla chiave pubblica che il database utilizzerà per la verifica. Se non hai questa chiave privata a portata di mano, non sarai in grado di generare firme. hai bisogno di quella chiave se vuoi firmare un tuo file. Altrimenti, è assolutamente assente.
Se hai la chiave privata in un formato o in un altro, dovrai comunque scrivere una piccola porzione di codice per calcolare la firma e aggiungerla al file (questo semplice processo di "accodamento" non è un formato di firma standard, quindi non è possibile ottenere uno strumento standalone immediato per farlo). Questo può essere fatto in molti framework di programmazione, ad es. con Java (utilizzando java.security.Signature ) o C (con alcune librerie come OpenSSL ).
Ad ogni modo, in crittografia, non puoi fare test decenti "dall'esterno". Il meglio che puoi fare è prendere un file di aggiornamento firmato esistente, accettato dal database; quindi modifica la firma (modifica il valore di uno dei byte della firma, che dovrebbe essere l'ultimo 256 byte del file firmato, dalla tua descrizione) e verifica che il file con la firma modificata non sia più accettato dal database . Ciò dimostrerebbe che il database "verifica qualcosa", non che lo fa correttamente. Sapere se un sistema crittografico fa il proprio lavoro in modo adeguato non viene fatto da testing ma da controllo del codice .