Creazione di un messaggio firmato

La figura seguente illustra le attività che devono essere eseguite per creare un messaggio firmato. I passaggi sono elencati seguendo la figura.

firma di un messaggio

Per creare un messaggio firmato

  1. Creare i dati (se necessario) e ottenere un puntatore.

  2. Aprire un archivio certificati contenente il certificato del firmatario.

  3. Ottenere la chiave privata per il certificato. Una proprietà deve essere impostata sul certificato prima di usarla, per associare un certificato a un determinato CSP e, all'interno di tale CSP, a una determinata chiave privata. Questa operazione deve essere impostata una sola volta.

  4. Scegliere un algoritmo di hashing per l'operazione di digest. È consigliabile selezionare l'algoritmo hashing da un percorso configurabile che può essere successivamente aggiornato senza richiedere modifiche al codice.

  5. Inviare i dati tramite la funzione hashing usando l'algoritmo di hashing, creando così un hash (digest) dei dati.

  6. Usando la chiave privata ottenuta tramite la proprietà nel certificato, crittografare il digest, creando la firma.

  7. Includere quanto segue nel messaggio firmato:

    • Dati firmati
    • Algoritmo hash
    • Firma
    • Identificatore del firmatario (autorità emittente del certificato e numero di serie)
    • Certificato del firmatario (facoltativo)

Per una procedura dettagliata ed esempio, vedere Procedura per la firma dei dati e il programma C di esempio: firma di un messaggio e verifica di una firma del messaggio.