<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to AppletIterateSignatureOverMultipleDocuments</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>Recent changes to AppletIterateSignatureOverMultipleDocuments</description><atom:link href="https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 21 Oct 2014 08:37:48 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/feed" rel="self" type="application/rss+xml"/><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -28,3 +28,7 @@
     :::java
     //restituisco il nuovo datahash all'applet
     out.print(encodedContentHash);
+
+L'applet imposterà e visualizzerà il nuovo hash, utilizzandolo per visualizzare tramite la funzione javascript `viewdocument()` il nuovo documento.
+
+**N.B.**: Dato che il PIN viene mantenuto in cache, tutti i documenti successivi al primo vanno firmati dalla stessa persona, **che deve essere informata** sulla necessità di completare l'iterazione in modo che il pin venga cancellato dalla memoria dell'applet.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 08:37:48 -0000</pubDate><guid>https://sourceforge.net3b8a3445eba60363ce31624dbce43e56164f5516</guid></item><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -10,7 +10,7 @@

 In conseguenza di ciò, l'applet riporterà nella barra inferiore il numero d'ordine del documento corrente e richiederà il PIN solo al primo documento, mentre per i successivi il campo PIN sarà sostituito da un pulsante "Firma". L'applet al termine del processo di firma invia l'encrypted digest del documento corrente al server, tramite POST. Nella modalità di firma iterativa si aspetta di ricevere come risposta l'hash del documento successivo, predisponendosi così per la nuova firma. 

-Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'`InputSteram` del documento successivo e ripeta ciò che è stato fatto in precedenza:
+Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'`InputStream` del documento successivo e ripeta ciò che è stato fatto in precedenza:

 #####1. Istanziazione di un nuovo CMSBuilder
     :::java
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 08:29:41 -0000</pubDate><guid>https://sourceforge.net07ad587e80b37d908a6732a778cd469005d96027</guid></item><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -10,7 +10,7 @@

 In conseguenza di ciò, l'applet riporterà nella barra inferiore il numero d'ordine del documento corrente e richiederà il PIN solo al primo documento, mentre per i successivi il campo PIN sarà sostituito da un pulsante "Firma". L'applet al termine del processo di firma invia l'encrypted digest del documento corrente al server, tramite POST. Nella modalità di firma iterativa si aspetta di ricevere come risposta l'hash del documento successivo, predisponendosi così per la nuova firma. 

-Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'`InputStram` del documento successivo e ripeta ciò che è stato fatto in precedenza:
+Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'`InputSteram` del documento successivo e ripeta ciò che è stato fatto in precedenza:

 #####1. Istanziazione di un nuovo CMSBuilder
     :::java
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 08:29:27 -0000</pubDate><guid>https://sourceforge.netfe13c8d1aa0f8fe65864f9b7a438ab1837a5da2d</guid></item><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -2,7 +2,7 @@

 Spesso all'interno di un'applicazione si presenta la necessità di iterare la sessione di firma su più documenti. **`PKCS11SignApplet`** supporta questa funzionalità, nel seguito verrà illustrato brevemente come attivarla.

-## Inizializzazione dell'applet: parametro `singleSignature`
+### Inizializzazione dell'applet: parametro `singleSignature`

 Si abilita nell'applet il supporto per la firma iterativa impostando a "`false`" il parametro `singleSignature`:

@@ -24,7 +24,7 @@
     :::java
     //Si inserisce il nuovo CMSBuilder in sessione, con nuovo datahash come id 
     request.getSession().setAttribute(encodedContentHash,cmsb);
-#####4. Resttituzione all'applet del content hash codificato `base64`
+#####4. Restituzione all'applet del content hash, codificato `base64`
     :::java
     //restituisco il nuovo datahash all'applet
     out.print(encodedContentHash);
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 08:28:09 -0000</pubDate><guid>https://sourceforge.nete42a4a7e6ced6011bbc7234a84676b404773bc5b</guid></item><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -4,7 +4,7 @@

 ## Inizializzazione dell'applet: parametro `singleSignature`

-Si abilita nell'applet il supporto per la firma iterativa impostando a "false" il parametro `singleSignature`:
+Si abilita nell'applet il supporto per la firma iterativa impostando a "`false`" il parametro `singleSignature`:

     &amp;lt;param name="singleSignature" value="false"&amp;gt;

@@ -12,20 +12,19 @@

 Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'`InputStram` del documento successivo e ripeta ciò che è stato fatto in precedenza:

-Istanziazione di un nuovo CMSBuilder
-
+#####1. Istanziazione di un nuovo CMSBuilder
+    :::java
+    cmsb = new CMSBuilder(CMSSignedDataGenerator.DIGEST_SHA256,
+    CMSSignedDataGenerator.ENCRYPTION_RSA);
     cmsb.initializeDataHash(docStream);
-
-Recupero del content hash
-
+#####2. Recupero del content hash
+    :::java
     encodedContentHash = cmsb.getEncodedDataHash();
-
-Inserimento del CMSBuilder in sessione usando il content hash come chiave (se si usa questo metodo per recuperare successivamente CMSBuilder)
-
+#####3. Inserimento del CMSBuilder in sessione usando il content hash come chiave (se si usa questo metodo per recuperare successivamente CMSBuilder)
+    :::java
     //Si inserisce il nuovo CMSBuilder in sessione, con nuovo datahash come id 
     request.getSession().setAttribute(encodedContentHash,cmsb);
-
-Si ritorna all'applet il content hash codificato `base64`
-
+#####4. Resttituzione all'applet del content hash codificato `base64`
+    :::java
     //restituisco il nuovo datahash all'applet
     out.print(encodedContentHash);
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 08:24:31 -0000</pubDate><guid>https://sourceforge.netc3a3c41b63a0122bf2edb1c1580c02c433409083</guid></item><item><title>AppletIterateSignatureOverMultipleDocuments modified by resolir</title><link>https://sourceforge.net/p/j4sign/wiki/AppletIterateSignatureOverMultipleDocuments/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="firmare-piu-files-iterativamente-usando-una-stessa-sessione-dellapplet"&gt;Firmare più files iterativamente usando una stessa sessione dell'Applet.&lt;/h1&gt;
&lt;p&gt;Spesso all'interno di un'applicazione si presenta la necessità di iterare la sessione di firma su più documenti. &lt;strong&gt;&lt;code&gt;PKCS11SignApplet&lt;/code&gt;&lt;/strong&gt; supporta questa funzionalità, nel seguito verrà illustrato brevemente come attivarla.&lt;/p&gt;
&lt;h2 id="inizializzazione-dellapplet-parametro-singlesignature"&gt;Inizializzazione dell'applet: parametro &lt;code&gt;singleSignature&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;Si abilita nell'applet il supporto per la firma iterativa impostando a "false" il parametro &lt;code&gt;singleSignature&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;param&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"singleSignature"&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In conseguenza di ciò, l'applet riporterà nella barra inferiore il numero d'ordine del documento corrente e richiederà il PIN solo al primo documento, mentre per i successivi il campo PIN sarà sostituito da un pulsante "Firma". L'applet al termine del processo di firma invia l'encrypted digest del documento corrente al server, tramite POST. Nella modalità di firma iterativa si aspetta di ricevere come risposta l'hash del documento successivo, predisponendosi così per la nuova firma. &lt;/p&gt;
&lt;p&gt;Quindi basta che il server, ricevuto l'encrypted digest del documento corrente e generata la busta crittografica, recuperi l'&lt;code&gt;InputStram&lt;/code&gt; del documento successivo e ripeta ciò che è stato fatto in precedenza:&lt;/p&gt;
&lt;p&gt;Istanziazione di un nuovo CMSBuilder&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;cmsb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;initializeDataHash&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;docStream&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Recupero del content hash&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;encodedContentHash&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cmsb&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getEncodedDataHash&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Inserimento del CMSBuilder in sessione usando il content hash come chiave (se si usa questo metodo per recuperare successivamente CMSBuilder)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c1"&gt;//Si inserisce il nuovo CMSBuilder in sessione, con nuovo datahash come id &lt;/span&gt;
&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getSession&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encodedContentHash&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;cmsb&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si ritorna all'applet il content hash codificato &lt;code&gt;base64&lt;/code&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="c1"&gt;//restituisco il nuovo datahash all'applet&lt;/span&gt;
&lt;span class="n"&gt;out&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encodedContentHash&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">resolir</dc:creator><pubDate>Tue, 21 Oct 2014 07:58:21 -0000</pubDate><guid>https://sourceforge.neta73cb020e74a1a0226a300484c37204fdc41a469</guid></item></channel></rss>