Post on 13-Mar-2020
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 2
Sommario 1 Introduzione ........................................................................................................................................ 4 2 Requisiti Software ............................................................................................................................... 4 2.1 ORACLE DBMS .............................................................................................................................. 4 2.2 PostgreSQL DBMS ........................................................................................................................ 5 2.3 Gestore Eventi ............................................................................................................................. 6 2.3.1 JBOSS MQ ............................................................................................................................. 6 2.3.2 ACTIVE MQ ........................................................................................................................... 6
3 Installazione e deploy ....................................................................................................................... 10 4 Configurazione .................................................................................................................................. 11 4.1 Database di configurazione PDDEDA ......................................................................................... 11 4.2 Parametri di Configurazione ...................................................................................................... 12 4.3 HANDLER .................................................................................................................................... 24 4.4 TRATTAMENTI ............................................................................................................................ 29 4.5 Configurazione degli Handler con funzionalità di sicurezza ...................................................... 33 4.5.1 Firma Digitale ...................................................................................................................... 34 4.5.2 Token SAML non firmato .................................................................................................... 38 4.5.3 Token SAML firmato ........................................................................................................... 42 4.5.4 Cifratura .............................................................................................................................. 48
4.6 Parametri di configurazione della PDD EDA .............................................................................. 51 5 Monitoraggio .................................................................................................................................... 53 5.1 Transazioni attive ....................................................................................................................... 53 5.2 Storico transazioni ..................................................................................................................... 53
6 Configurazione certificati .................................................................................................................. 54 6.1 Creazione di KeyStore ................................................................................................................ 54 6.2 Import di un certificato nel KeyStore ........................................................................................ 54 6.3 Import di una Certification Authority nel KeyStore ................................................................... 54 6.4 Configurazione Trasporto over HTTPS ....................................................................................... 54 6.5 Configurare JBOSS in HTTPS ...................................................................................................... 55
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 3
IL CONTENUTO DEL PRESENTE DOCUMENTO PUÒ ESSERE RIPRODOTTO, IN TOTO O IN PARTE,
PER TUTTI GLI SCOPI FUNZIONALI ALL’ADESIONE AL SISTEMA SPICCA DI REGIONE CAMPANIA ED È ESCLUSO L’UTILIZZO A FINI DI LUCRO. PER L’UTILIZZO DI QUANTO DI SEGUITO RIPORTATO SI DOVRÀ, IN TUTTI I CASI, CITARE COME FONTE IL PRESENTE DOCUMENTO.
e configurazione PDD del 25/08/2009 Pagina 4
SPICCA: Manuale di installazione v.1.0
1 Introduzione
Questo documento descrive le procedure di installazione e configurazione della Porta di Dominio. Il medesimo è stato realizzato in collaborazione con Vitrociset S.p.a. in quanto ditta aggiudicataria dell’appalto concorso per la realizzazione del “Sistema Regionale per la Cooperazione Applicativa in Sicurezza” della Regione Campania.
2 Requisiti Software
I requisiti software necessari alla PDD sono: • DBMS Oracle (e/o PostgreSQL)
• Application Server Jboss 4.0.x
• AXIS 1.4
• Preparazione Base Dati
2.1 ORACLE DBMS La presente descrizione è basata sull’utilizzo del DBMS ORACLE. C’e’ da notare, però, che la PDD è stata
testata anche con MySQL. Per poter essere utilizzata anche con MySQL è necessario però, effettuare alcune conversioni degli script SQL, non oggetto della presente guida1.
I passi da seguire per la preparazione della base dati sono:
Procedura Manuale
1. Creazione di un’utenza per la PDD (per es. PDD)
2. Caricare una qualunque shell per il caricamento di file di comandi SQL
3. Lanciare il file di script sql: load‐pdd‐db.sql presente nella directory %PDD_HOME%/sql/. Questo
script crea il nuovo schema con tutte le tabelle, sequence, trigger... e crea l’utenza
PDDUSER/PDDUSER. Qualora si decida di creare un’utenza differente, modificare i file:
%PDD_SRC_DIR%/Software/sql/create_user.sql e %JBOSS_HOME%\server\default\deploy\PDD‐
ds.xml.
1 Nella stessa directory è presente un file batch che effettua la maggior parte delle conversioni tra ORACLE e MYSQL. Per poter funzionare, il file batch (build_mysql_data.bat) necessita di trovare nel path i comandi open source (stile unix) cat e sed gratuitamente scaricabili da internet all’indirizzo: http://unxutils.sourceforge.net/UnxUtils.zip
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 5
Procedura Automatica
1. Posizionarsi nella directory: %PDD_HOME%/sql e lanciare il batch: setupdb.bat. Lo script
provvederà a creare l’utenza PDDUSER/PDDUSER@ORCL e a lanciare lo script load‐db.sql.
2. Qualora il SID del database non sia ORCL, modificare il file
%PDD_HOME%/Software/descriptor/db/PDD‐ds.xml opportunamente.
2.2 PostgreSQL DBMS La presente descrizione è basata sull’utilizzo del DBMS PostgreSQL 8.1.
I passi da seguire per la preparazione della base dati sono:
Procedura Automatica
1. Posizionarsi nella directory: %PDD_HOME%/sql/postgres e lanciare il batch: setupdb.bat. Lo script
provvederà a creare l’utenza PDDUSER@PDD e a lanciare lo script di creazione della base dati PDD
per PostgreSQL. Nota, che la password dell’utenza PDDUSER della BaseDati PDD verrà chiesta in
fase di creazione dall’apposito script (setupdb.bat).
2. Qualora il DB_NAME del database non sia PDD, modificare il file %PDD_HOME%/Software/
sql/postgresql/setupdb.bat opportunamente:
- Modificare la seguente riga createdb ‐U pdduser pdd, dove pdduser è l’utenza del
DataBase e pdd è il DB_NAME della BaseDati.
3. Modificare la variabile DBHOST con il nome/indirizzo IP del db server
2
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 6
.3 Gestore Eventi Qualora fosse richiesto alla PDD di effettuare cooperazione applicativa secondo il paradigma
Publish&Subscribe, risulta necessario installare/configurare un gestore eventi supportato dalla PDD.
I gestori eventi attualmente supportati dalla PDD sono JBOSS MQ e ACTIVE MQ. Di seguito sono
descritte le fasi di configurazione ed installazione. E’ da notare come la configurazione per JBOSS MQ risulti
molto più semplice in quanto già presente nella distribuzione di JBOSS utilizzata dalla PDD.
2.3.1 JBOSS MQ Settare tramite il configuratore ( le seguenti variabili:
• MQ_ENGINE = JBOSS_MQ
• PS_ADAPTER_URI = http://[host]:{port}/axis/services/PSJMSAdapter
Settare nel file build.properties nella directory %INSTALL_DIR%\build le seguenti proprietà:
• mq.version.dir = jboss_mq
• mq.engine = jboss_mq
2.3.2 ACTIVE MQ Per la seguente configurazione è richiesto come requisito base ActiveMQ Version 4.0.x
Copiare nella cartella di deploy della versione utilizzata di JBOSS il file activemq‐ra‐4.0.rar presente
nella directory %ACTIVE_MQ_INSTALL%\lib\optional
Settare tramite il configuratore le seguenti variabili:
• MQ_ENGINE = ACTIVE_MQ
• PS_ADAPTER_URI = http://[host]:{port}/axis/services/PSJMSAdapter
Settare nel file build.properties nella directory %INSTALL_DIR%\build le seguenti proprietà:
• mq.version.dir = active_mq
• mq.engine = active_mq
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 7
Aggiungere al file di configurazione activemq.xml presente nella directory
%ACTIVE_MQ_INSTALL%\conf la seguente riga indicata in grassetto:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<broker brokerName="receiver1" useJmx="false">
<plugins>
<!‐‐ use JAAS to authenticate using the login.config file on the classpath to configure JAAS ‐‐>
<jaasAuthenticationPlugin configuration="activemq‐domain" />
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry topic="topic.PDDTopic" read="users" write="users,pull"
admin="users" />
<authorizationEntry topic="ActiveMQ.Advisory.>" read="users" write="users"
admin="users"/>
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
• PERSISTENZA DEI MESSAGGI IN ACTIVEMQ CON IL DMBS DERBY
Per default, ActiveMQ utilizza DERBY per la persistenza dei dati. Non è quindi necessario
apportare alcuna modifica. In ogni caso, editare il file activemq.xml e verificare le seguenti righe:
<persistenceAdapter>
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 8
<journaledJDBC journalLogFiles="5"
dataDirectory="../activemq- data"/>
</persistenceAdapter>
• PERSISTENZA DEI MESSAGGI IN ACTIVEMQ CON IL DMBS POSTGRESQL
Per gestire la persistenza dei messaggi è necessario creare un utenza e un database sotto
PostgreSQL. Per default l’utenza da creare è utente:activemq password:activemq ed il nome del
database è activemq. Editare, in seguito, il file activemq.xml e aggiungere le seguenti righe:
<persistenceAdapter>
<!-- <journaledJDBC journalLogFiles="5" dataDirectory="../activemq-
data"/> -->
<!-- To use a different datasource, use th following syntax : -->
<journaledJDBC journalLogFiles="5" dataSource="#postgres-ds"/>
</persistenceAdapter>
ed i parametri di connessione al database:
<!-- Postgres DataSource Sample Setup -->
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
<property name="serverName" value="{hostServer}"/>
<property name="databaseName" value="activemq"/>
<property name="portNumber" value="0"/>
<property name="user" value="activemq"/>
<property name="password" value="activemq"/>
<property name="dataSourceName" value="postgres"/>
<property name="initialConnections" value="1"/>
<property name="maxConnections" value="10"/>
</bean>
Nella directory %ACTIVE_MQ_INSTALL%\conf, se non esiste il file login.config crearlo.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 9
Editarlo e scrivere le seguenti righe:
activemq‐domain {
org.apache.activemq.jaas.PropertiesLoginModule required
debug=true
org.apache.activemq.jaas.properties.user="users.properties"
org.apache.activemq.jaas.properties.group="groups.properties";
};
Nella directory %ACTIVE_MQ_INSTALL%\conf, editare il file groups.properties e aggiungere i
seguenti utenti:
users=push,pull
Nella directory %ACTIVE_MQ_INSTALL%\conf, editare il file users.properties e aggiungere i seguenti
utenti:
NB: la simbologia è da intendere USER=PASSWORD
push=push
pull=pull
STARTUP
Prima di lanciare JBOSS bisogna lanciare il Listener di ACTIVE MQ.
Lanciare il seguente script:
%ACTIVE_MQ_INSTALL%\bin\activemq.bat (.sh)
Dopo sarà possibile lanciare lo startup di JBOSS nel modo canonico.
Se configurazione PDD
Pagina 10
PICCA: Manuale di installazione v.1.0 del 25/08/2009
3 Installazione e deploy
I passi da seguire per installare la PDD sono i seguenti:
- Estrarre jboss4.0.5.zip nella directory di installazione (Installazione JBoss). Viene creata la
dir <directory di installazione>/jboss‐4.0.5
- Settare la variabile di ambiente JBOSS_HOME con <directory di installazione>/jboss‐4.0.5
- Settare la variabile di ambiente JBOSS_SERVER_NAME con il nome del server utilizzato
(JBOSS_SERVER_NAME=default)
- Posizionarsi nella directory %PDD_HOME%/build
- ant2 clean
- ant all
- ant axis_dist_install
- ant install
- Avviare JBoss
ant deploy
testare axis all'url: http://localhost:8080/axis
2 ANT è richiesto per la sola installazione e compilazione. Supportata dalla versione ant‐1.6.5 in poi.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 11
4 Configurazione
Gli riportati. elementi di configurazioni sono di seguito
4.1 Database di configurazione PDDEDA
Questo documento descrive il DataBase di configurazione della Porta di Dominio EDA in fase di
installazione.
Gli elementi che compongono il DataBase sono i seguenti:
• PORTE
• HANDLER
• INVOKER
• LOGGER
• TRATTAMENTI
• PDD_CONFIG (Parametri di configurazione della Porta di Dominio EDA)
COMPONENTI OBBLIGATORI PER IL CORRETTO START‐UP DELLA PDD‐EDA
Porta Tipologia Profilo Invoker
I_PS_PUBLISH APPLICATIVA SINCRONO INTEGRATION_MANAGER
I _PS_SUBSCRIBE_PUSH APPLICATIVA SINCRONO INTEGRATION_MANAGER
I _PS_SUBSCRIBE_PULL APPLICATIVA SINCRONO INTEGRATION_MANAGER
I_PS_GETEVENT APPLICATIOVA SINCRONO INTEGRATION_MANAGER
I_PORTA_DEL_GEN DELEGATA SINCRONO COOPERATION_MANAGER
I _PS_CALLBACK APPLICATIVA SINCRONO INTEGRATION_MANAGER
I _PORTA_DEL_ASINC_SIMM_GEN DELEGATA A‐SINCRONO_SIMM COOPERATION_MANAGER
I _PORTA_APPL_ASINC_SIMM_GEN APPLICATIVA A‐SINCRONO_SIMM ASAP_INTEGRATION_MANAGER
EPROXY_INIT_HANDLER com.enterpriseda.pdd.level1.handler.common.EProxyInitHandler
EGOV_HANDLER com.enterpriseda.pdd.level1.handler.common.EGovHandler
VALIDATION_HANDLER com.enterpriseda.pdd.level1.handler.common.ValidationHandler
PDD_LOG org.apache.logger.Logger
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 12
4.2 Parametri di Configurazione
PORTE
Porta Tipologia Profilo Invoker
S_SINCRONO APPLICATIVA SINCRONO INTEGRATION_MANAGER
S_SINCRONO_DEL DELEGATA SINCRONO COOPERATION_MANAGER
I_PS_PUBLISH
APPLICATIVA SINCRONO INTEGRATION_MANAGER
I _PS_SUBSCRIBE_PUSH APPLICATIVA SINCRONO INTEGRATION_MANAGER
I _PS_SUBSCRIBE_PULL APPLICATIVA SINCRONO INTEGRATION_MANAGER
I_PS_GETEVENT APPLICATIOVA SINCRONO INTEGRATION_MANAGER
I_PORTA_DEL_GEN DELEGATA SINCRONO COOPERATION_MANAGER
S _PS_GETEVENT_DEL DELEGATA SINCRONO COOPERATION_MANAGER
I _PS_CALLBACK APPLICATIVA SINCRONO INTEGRATION_MANAGER
S_ASINC_ASIM APPLICATIVA A‐SINCRONO ASAP_INTEGRATION_MANAGER
S_ASINC_ASIM_DEL DELEGATA A‐SINCRONO COOPERATION_MANAGER
S_ASINC_SIM APPLICATIVA A‐SINCRONO ASAP_INTEGRATION_MANAGER
S_ASINC_SIM_DEL DELEGATA A‐SINCRONO COOPERATION_MANAGER
Porta Tipologia Profilo Invoker
S_PKCS7 APPLICATIVA SINCRONO INTEGRATION_MANAGER
S_PKCS7_DEL DELEGATA SINCRONO COOPERATION_MANAGER
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 13
Porta Tipologia Profilo Invoker
I _PORTA_DEL_ASINC_SIMM_GEN DELEGATA A‐SINCRONO_SIMM COOPERATION_MANAGER
I _PORTA_APPL_ASINC_SIMM_GEN APPLICATIVA A‐SINCRONO_SIMM ASAP_INTEGRATION_MANAGER
NB: In neretto sono contrassegnati gli Handler OBBLIGATORI per il funzionamento dell PDD‐EDA
DETTAGLIO PORTE
S_SINCRONO
wsdl RFU
operationNa
me echo
endPoint http://localhost:8080/axis/services/SincronoSer
vice
contentMode
2
operationStyl
e RFU
descrizioneM
ode 0
S_SINCRONO_DEL
class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona
paType TIPO PA
descrizioneMode
0
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 14
paCode ALTRA PA
contentMode 2
endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_SINCR
ONO
operationName echo
paTelematicAddr
ess http://192.168.1.1
servizio.tipo TIPO_SERVIZIO
I_PS_PUBLISH
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
operationNam
e publish
endPoint http://localhost:8080/axis/services/PSJMSAdapter
contentMode
2
operationStyle
RFU
escrizione
Mode 0
false
I_PS_SUBSCRIBE_PUSH
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 15
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
operationNam
e subscribePush
endPoint http://localhost:8080/axis/services/PSJMSAdapter
contentMode
2
operationStyle
RFU
escrizione
Mode 0
I_PS_SUBSCRIBE_PULL
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
operationNam
e subscribePull
endPoint http://localhost:8080/axis/services/PSJMSAdapter
contentMode
2
operationStyle
RFU
escrizione
Mode 0
false
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 16
I_PS_GETEVENT
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
operationNam
e getEvent
contentMode
2
operationStyle
RFU
escrizione
Mode 0
false
endPoint http://localhost:8080/axis/services/PSJMSAdapter
S_PS_GETEVENT_DEL
paType PA_TYPE
escrizione
Mode 0
paTelematicAddr
ess http://192.168.0.1
operationName getEvent
contentMode 2
class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 17
endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_PS_GETE
VENT
servizio.tipo TIPO_SERVIZIO
I_PS_CALLBACK
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
contentMod
e 2
operationSt
yle RFU
endPoint http://localhost:8080/axis/services/SincronoService
operationNa
me putEvent
I_PORTA_GEN_DEL
paTelematicAddress http://TO_SET
contentMode 2
paType PA
operationName TO_SET
class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona
descrizioneMode 0
endPoint http://TO_SET
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 18
paCode PA
servizio.tipo TIPO_SERVIZIO
S_ASINC_ASIM
class com.enterpriseda.pdd.level2.PDDPortaApplicativaAsincronaAsi
mmetrica
wsdl RFU
operationName sum
servizio.operazione.richiesta.suc
cessiva checksum
endPoint http://localhost:8080/axis/services/AsincronoAsimmService
contentMode 2
operationStyle RFU
asap.factory.actor.uri uri:factory
asap.instance.actor.uri uri:instance
descrizioneMode 0
S_ASINC_ASIM_DEL
class com.enterpriseda.pdd.level2.PDDPortaDelegataAsincronaAsimmetrica
paType
Pubblica Amministrazione
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 19
paTelematicAddress
http://192.168.1.1/
paCode PDD Regione Lazio
contentMode 2
endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_ASINC_ASIM
operationName sum
descrizioneMode 0
ResultDataType <complexType name="ResultDataType"> <sequence> <element
name="Sum" type="xsd:string"/> </sequence> </complexType>
ContextDataType
<complexType name="ContextDataType"> <sequence> <element
name="X" type="int"/> <element name="Y" type="int"/> </sequence>
</complexType>
servizio.tipo TIPO_SERVIZIO
S_ASINC_SIM
class com.enterpriseda.pdd.level2.PDDPortaApplicativaAsincronaSimmet
rica
wsdl RFU
operationName TO_FILL
endPoint TO_FILL
contentMode 2
operationStyle RFU
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 20
asap.factory.actor.
uri uri:factory
asap.instance.actor
.uri uri:instance
descrizioneMode 0
isPortaApplicativaCall
back true
servizio.nome Nome_servizio
S_ASINC_SIM_DEL
endPoint TO_FILL
operationName TO_FILL
descrizioneMode 0
class com.enterpriseda.pdd.level2.PDDPortaDelegataAsincronaSimmetrica
paType TO_FILL
paTelematicAddr TO_FILL
paCode TO_FILL
contentMode 2
servizio.tipo TIPO_SERVIZIO
S_PKCS7
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 21
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona
wsdl RFU
operationNa
me uploadFile
endPoint http://localhost:8180/axis/services/FileServer
contentMode
2
operationStyl
e RFU
descrizioneM
ode 0
pkcs7.apply.cr
ypt true
pkcs7.apply.si
gn true
x509.apply.sig
n true
x509.verify.sig
n false
S_PKCS7_DEL
class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 22
paType TIPO PA
descrizioneMode
0
paTelematicAddr
ess 192.168.1.1
paCode ALTRA PA
contentMode 2
endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_DEMO_PK
CS7
operationName uploadFile
pkcs7.apply.cryp
t true
pkcs7.apply.sign
true
x509.apply.sign true
x509.verify.sign true
servizio.tipo TIPO_SERVIZIO
I_PORTA_DEL_ASINC_ASIMM_GEN
paType Toset
paCode Toset
operationName toset
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 23
paTelematicAddress
http://someurl
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincrona
I_PORTA_DEL_ASINC_ASIMM_GEN
asap.factory.actor.uri uri:toActorUri
asap.instance.actor.uri uri:toActorUri
operationName toset
endPoint http://someurl
class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincrona
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 24
4.3 HANDLER
Handler Classe
EPROXY_INIT_HANDLER
com.enterpriseda.pdd.level1.handler.common.EProxyInitHandler
EGOV_HANDLER
com.enterpriseda.pdd.level1.handler.common.EGovHandler
VALIDATION_HANDLER
com.enterpriseda.pdd.level1.handler.common.ValidationHandler11
PKCS7_HANDLER
com.enterpriseda.pdd.level1.handler.security.PKCS7Handler
EnvelopeLoggerHandler com.enterpriseda.pdd.level1.handler.common.EnvelopeLoggerHandler
WSDOALLSENDER_HANDLER org.apache.ws.axis.security.WSDoAllSender
WSDOALLRECEIVER_HANDLER org.apache.ws.axis.security.WSDoAllReceiver
NB: In neretto sono contrassegnati gli Handler OBBLIGATORI per il funzionamento dell PDD‐EDA
DETTAGLIO HANDLER
EPROXY_INIT_HANDLER
cl
ass
com.enterpriseda.pdd.level1.handler.common.EProxyInitHan
dler
EGOV_HANDLER
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 25
class com.enterpriseda.pdd.level1.handler.common.EGovHan
dler
VALIDATION_HANDLER
cl
ass
com.enterpriseda.pdd.level1.handler.common.ValidationHandl
er11
ENVELOPE_LOGGER_HANDLER
cl
ass
com.enterpriseda.pdd.level1.handler.common.EnvelopeLoggerHan
dler
PKCS7_HANDLER
cl
ass
com.enterpriseda.pdd.level1.handler.security.PKCS7Han
dler
WS_DO_ALL_SENDER
cl
ass
org.apache.ws.axis.security.WSDoAllSe
nder
WS_DO_ALL_RECEIVER
cl
ass
org.apache.ws.axis.security.WSDoAllRece
iver
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 27
INVOKER
Invoker Classe
INTEGRATION_MANAGER com.enterpriseda.pdd.invoker.IntegrationInvokerImpl
COOPERATION_MANAGER com.enterpriseda.pdd.invoker.CooperationInvokerImpl
ASAPIntegrationManager
com.enterpriseda.pdd.invoker.ASAPIntegrationInvokerImpl
PDD_LOG
log4j.additivity.pdd FALSE
log4j.appender.pddFile.datePattern ‐yyyy‐MM‐dd
log4j.appender.pddFile.layout org.apache.log4j.PatternLayout
log4j.appender.pddFile.layout.Convers
ionPattern %d{dd‐MM‐yyyy HH:mm:ss} ‐ %p ‐ [%C{1} %M] %m%n
log4j.appender.pddFile.File /home/pdd/pdd/logs/pdd.log
log4j.appender.pddFile org.apache.log4j.DailyRollingFileAppender
log4j.appender.pddJMS.datePattern ‐yyyy‐MM‐dd
log4j.appender.pddJMS.layout org.apache.log4j.PatternLayout
log4j.appender.pddJMS.layout.Conver
sionPattern %d{dd‐MM‐yyyy HH:mm:ss} ‐ %p ‐ [%C{1} %M] %m%n
log4j.appender.pddJMS com.enterpriseda.spicca.sensoreterminale.appender.jms.JMSApp
ender
log4j.appender.pddJMS.errorHandler com.enterpriseda.spicca.sensoreterminale.appender.handler.Fail
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 28
overErrorHandler
log4j.appender.pddJMS.errorHandler.l
ogger‐ref.ref pdd
log4j.appender.pddJMS.errorHandler.
appender‐ref.ref BACKUP
log4j.appender.BACKUP.Threshold DEBUG
log4j.appender.BACKUP com.enterpriseda.spicca.sensoreterminale.appender.file.LoggingE
ventFileAppender
log4j.appender.pddJMS.Threshold DEBUG
log4j.appender.pddJMS.QueueConnec
tionFactoryBindingName ConnectionFactory
log4j.appender.pddJMS.InitialContext
FactoryName org.apache.activemq.jndi.ActiveMQInitialContextFactory
log4j.appender.pddJMS.ProviderURL tcp://10.28.131.129:61616
log4j.appender.pddJMS.UserName pdd
log4j.appender.pddJMS.Password pdd
log4j.appender.pddJMS.QueueBinding
Name queue.pddQueue
log4j.appender.pddJMS.LocationInfo true
log4j.appender.BACKUP.path /tmp/
log4j.appender.BACKUP.baseNomeFile
BackupProvaLog
log4j.logger.pdd INFO, pddFile
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 29
4.4 TRATTAMENTI In questa sezione si affronterà la configurazione delle proprietà dei singoli trattamenti associabili ad
una Porta.
Di seguito un esempio di configurazione dei due Handler delegati alla Sicurezza (WsDoAllSender,
WsDoAllReceiver).
WsDoAllSender – Dettaglio
passwordCallbackClass com.enterpriseda.pdd.level1.wsutils.PasswordCallback
org.apache.ws.security.crypto.merlin.keys
tore.password security
action Signature Timestamp
org.apache.ws.security.crypto.provider org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.keys
tore.type jks
user wss4jCertDSA
signatureKeyIdentifier DirectReference
org.apache.ws.security.crypto.merlin.file /home/pdd/pdd/security/keystore/wss4j.keystore
WsDoAllReceiver – Dettaglio
passwordCallbackClass com.enterpriseda.pdd.level1.wsutils.PasswordCallback
org.apache.ws.security.crypto.merlin.key
store.password security
action Signature Timestamp
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 30
org.apache.ws.security.crypto.provider org.apache.ws.security.components.crypto.Merlin
org.apache.ws.security.crypto.merlin.key
store.type jks
org.apache.ws.security.crypto.merlin.file c:/pdd/security/keystore/wss4j.keystore
S_SINCRONO ( Porta Applicativa con profilo di comunicazione Sincrono )
S_SINCRO
NO WsDoAllSender Server
Respo
nse Disabilitato
S_SINCRO
NO wsDoAllReceiver Server
Reque
st Disabilitato
S_SINCRO
NO Validation Server
Reque
st Abilitato
S_SINCRO
NO PKCS7Handler Server
Reque
st Disabilitato
S_SINCRO
NO PKCS7Handler Server
Respo
nse Disabilitato
S_SINCRONO_DEL ( Porta Delegata con profilo di comunicazione Sincrono )
S_SINCRONO_
DEL WsDoAllSender Client
Requ
est Disabilitato
S_SINCRONO_
DEL wsDoAllReceiver Client
Resp
onse Disabilitato
S_SINCRONO_
DEL Validation Client
Resp
onse Abilitato
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 31
S_SINCRONO_
DEL EGovHandler Client
Requ
est Abilitato
S_SINCRONO_
DEL PKCS7Handler Client
Requ
est Disabilitato
S_SINCRONO_
DEL PKCS7Handler Client
Resp
onse Disabilitato
I_PS_PUBLISH
S_PS_PUBL
ISH Validation
Client
Resp
onse Abilitato
S_PS_PUBL
ISH EGovHandler Client
Requ
est Abilitato
I_PS_SUBSCRIBE_PUSH
S_PS_SUBSCRIBE_P
USH
Validatio
n
C
lient
Resp
onse
Abilit
ato
S_PS_SUBSCRIBE_P
USH
EGovHa
ndler
C
lient
Requ
est
Abilit
ato
I_PS_SUBSCRIBE_PULL
S_PS_SUBSCRIBE_P
ULL
Validatio
n
C
lient
Resp
onse
Abilit
ato
S_PS_SUBSCRIBE_P
ULL
EGovHa
ndler
C
lient
Requ
est
Abilit
ato
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 32
I_PS_GETEVENT_DEL
S_PS_GETEVENT_
DEL
Validatio
n
C
lient
Resp
onse
Abilit
ato
S_PS_GETEVENT_
DEL
EGovHa
ndler
C
lient
Requ
est
Abilit
ato
I_PS_GETEVENT
S_PS_GETEVENT ValidationServer
Req
uest Abilitato
I_PORTA_DEL_GEN
I_PORTA_DEL_
GEN
Validatio
n
C
lient
Resp
onse
Abilit
ato
I_PORTA_DEL_
GEN
EGovHa
ndler
C
lient
Requ
est
Abilit
ato
I_PORTA_DEL_ASINC_SIMM_GEN
I_PORTA_DEL_ASINC_SIMM_
GEN
Validatio
n
C
lient
Resp
onse
Abilit
ato
I_PORTA_DEL_ASINC_SIMM_
GEN
EGovHa
ndler
C
lient
Requ
est
Abilit
ato
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 33
S_ASINC_SIMM_DEL
S_ASINC_SIMM_DELValidatio
n
C
lient
Resp
onse
Abilit
ato
S_ASINC_SIMM_DEL EGovHa
ndler
C
lient
Requ
est
Abilit
ato
S_PS_CALLBACK
S_PS_CALLABCKValidatio
n
Se
rver
Requ
est
Abilit
ato
S_PS_CALLBACK EGovHa
ndler
Se
rver
Requ
est
Abilit
ato
4.5 Configurazione degli Handler con funzionalità di sicurezza In questa sezione descriveremo le procedure necessarie alla configurazione delle funzionalità di
sicurezza della PDD, realizzate attraverso una personalizzazione dell'implementazione open suorce WSS4j delle specifiche Web Service Security.
Le diverse funzionalità di sicurezza sono implementate da due Handler, WSDoAllSender e
WsDoAllReceiver, che vanno opportunamente configurati nella porta di dominio. L'handler WsDoAllSender è da utilizzare nei messaggi in uscita dalla Porta di Dominio (Contesto Client/Flusso Request e Contesto Server/Flusso Response), mentre l'handler WsDoAllReceiver è da utilizzare nei messagi in entrata nella Porta di Dominio (Contesto Client/Flusso Response e Contesto Server/Flusso Request).
Relativamente al corretto posizionamento degli Handler nel chain handlers, ovvero nella catena di handler che elabora un messaggio in transito da e verso la PDD, si osservi che l'Handerl WsDoAllSender deve essere sempre l'ultimo handler che elabora un messaggio in uscita dalla PDD, mentre l'handler WsDoAllReceiver deve essere sempre il primo handler che elabora un messaggio in ingresso alla PDD.
Prima di descrivere nel dettaglio le procedure per la configurazione degli handler di sicurezza, è
opportuno sottolineare che WSS4j, come è naturale immaginare, è basata su un’infrastruttura di sicurezza a chiave pubblica. Per un’agevole gestione delle chiavi private/pubbliche e dei certificati digitali, WSS4j fa uso dei Keystore, che rappresentano Repository (protetti da password) per la memorizzazione ed il recupero di chiavi e certificati. A partire dalla versione 1.2, JDK fornisce un’utility, denominata keytool, per la gestione dei Keystore che consente di effettuare operazioni quali, a titolo esemplificativo, la creazione
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 34
di una coppia chiave privata/pubblica, l’import ed export di chiavi, l’import di certificati rilasciati da Certification Authority e così via. Nella parte finale di questo documento è previsto un paragrafo relativo alle funzionalità offerte dal keytool.
Configurazione WSDoAllSender e WsDoAllReceiver
Le funzionalità di sicurezza implementate nella PDD sono le seguenti: firma digitale, token SAML. Per
ogni funzionalità, mostreremo come configurare opportunamente gli handler WSDoAllSender e
WsDoAllReceiver rispettivamente per una porta delegata ed una porta applicativa. Il contesto che
prenderemo di riferimento è quello di una porta delegata sincrona (denominata S_SINCRONO_DEL) che
invoca una porta applicativa (denominata S_SINCRONO). In questo contesto, a valle delle osservazioni
riportate in precedenza in merito al corretto posizionamento degli Handler, configureremo l’handler
WSDoAllSender per i messaggi in uscita dalla PDD delegata (Contesto Client / Flusso Request) e l’handler
WsDoAllReceiver per i messaggi in ingresso alla PDD applicativa (Contesto Server / Flusso Request).
4.5.1 Firma Digitale
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 35
Descrizione dei parametri dell’Handler • passwordCallbackClass = com.enterpriseda.pdd.level1.wsutils.PasswordCallback: il parametro si
riferisce ad una classe contenente un insieme di coppie (user, pwdUser). Nel caso della firma digitale, user è l'identificativo, nell'ambito del keystore della chiave privata con cui firmare il messaggio e pwdUser è la pwd della chiave privata identificata da user.
• org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • action = Signature Timestamp: è il parametro che determina l'azione effettuata dagli handler WSS.
In particolare specificando “Signature Timestamp” l’handler applicherà una firma digitale ed un timestemp al messaggio in uscita
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la
classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 36
• user =wss4jCertDSA: è l'identificativo della chiave privata, nell'ambito del keystore, da utilizzare
per la firma • signatureKeyIdentifier=DirectReference
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 37
Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler • action = Signature Timestamp: è il parametro che determina l'azione effettuata dagli handler WSS.
In particolare specificando “Signature Timestamp” l’handler verificherà la firma digitale ed il timestemp del messaggio ricevuto
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato
• org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 38
4.5.2 Token SAML non firmato
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
Descrizione dei parametri dell’Handler • org.apache.ws.security.saml.issuerClass = org.apache.ws.security.saml.SAMLIssuerImpl: è la
classe che genera l’asserzione SAML
• org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.authenticationMethod = password : è il meccanismo
d’autenticazione utilizzato dal Subject dell’asserzione SAML • org.apache.ws.security.saml.confirmationMethod = senderVouches : è il metodo di utilizzato per
la verifica del contenuto dell’Asserzone SAML. Sender Vouches indica che l’Issuer si fa da garante per la verifica del Subject. Il ricevitore dell’asserzione SAML, che ha stabilito una relazione di fiducia con l’Issuer, si fida di quanto affermato dal’Issuer.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 39
• org.apache.ws.security.saml.subjectNameId.name: è l’identificativo del Subject nell’ambito di un dominio.
• action = SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS.
In particolare specificando SAMLTokenUnsigned genererà un Token SAML non firmato Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler • action SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In
particolare specificando SAMLTokenUnsigned l’Handler verificherà l’esistenza di un Token SAML non firmato nel messaggio ricevuto
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 40
Token SAML non firmato – PDD Issuer di Asserzioni relative ad utenti autenticati sul NAG
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
Descrizione dei parametri dell’Handler • action SAMLTokenUnsignedForShib è il parametro che determina l'azione effettuata dagli handler
WSS. In particolare specificando SAMLTokenUnsignedForShib l’handler genererà un Token SAML non firmato relativo all’utente autenticatosi sul NAG
• org.apache.ws.security.saml.issuerClass = com.enterpriseda.sa.shibintegration.ws.saml.SAMLShibIssuerImpl: è la classe che genera l’asserzione SAML. In questo caso le informazioni relative all’utente autenticatosi sono ottenute dai moduli d’integrazione con Shibboleth
• org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 41
Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler • action SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In
particolare specificando SAMLTokenUnsigned l’Handler verificherà l’esistenza di un Token SAML non firmato nel messaggio ricevuto
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 42
4.5.3 Token SAML firmato
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
Descrizione dei parametri dell’Handler • org.apache.ws.security.saml.issuerClass = org.apache.ws.security.saml.SAMLIssuerImpl: è la
classe che genera l’asserzione SAML
• org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.authenticationMethod = password : è il meccanismo
d’autenticazione utilizzato dal Subject dell’asserzione SAML • org.apache.ws.security.saml.confirmationMethod = senderVouches : è il metodo di utilizzato per
la verifica del contenuto dell’Asserzone SAML. Sender Vouches indica che l’Issuer si fa da garante
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 43
per la verifica del Subject. Il ricevitore dell’asserzione SAML, che ha stabilito una relazione di fiducia con l’Issuer, si fida di quanto affermato dal’Issuer.
• org.apache.ws.security.saml.subjectNameId.name: è l’identificativo del Subject nell’ambito di un
dominio. • action = SAMLTokenSigned: è il parametro che determina l'azione effettuata dagli handler WSS. In
particolare specificando SAMLTokenUnsigned genererà un Token SAML firmato • org.apache.ws.security.saml.issuer.key.name = wss4jCert: è l'identificativo della chiave privata,
nell'ambito del keystore, da utilizzare per la firma
• org.apache.ws.security.saml.issuer.key.password = security: è la password della chiave provata da utilizzare per la firma
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato
• org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • signatureKeyIdentifier=DirectReference
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 44
Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la
classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Signature SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli
handler WSS. In particolare specificando “Signature SAMLTokenUnsigned” l’handler verificherà la firma digitale e l’esistenza del Token SAML nel messaggio ricevuto
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 45
Token SAML firmato – PDD Issuer di Asserzioni relative ad utenti autenticati sul NAG
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
Descrizione dei parametri dell’Handler
• org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.issuer.key.name = wss4jCert: è l'identificativo della chiave privata,
nell'ambito del keystore, da utilizzare per la firma
• org.apache.ws.security.saml.issuer.key.password = security: è la password della chiave provata da utilizzare per la firma
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la
classe del motore di cifratura utilizzato
• org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 46
• action SAMLTokenSignedForShib è il parametro che determina l'azione effettuata dagli handler
WSS. In particolare specificando SAMLTokenSignedForShib l’handler genererà un Token SAML non firmato relativo all’utente autenticatosi sul NAG
• org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • signatureKeyIdentifier=DirectReference • org.apache.ws.security.saml.issuerClass =
com.enterpriseda.sa.shibintegration.ws.saml.SAMLShibIssuerImpl: è la classe che genera l’asserzione SAML. In questo caso le informazioni relative all’utente autenticatosi sono ottenute dai moduli d’integrazione con Shibboleth
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 47
Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la
classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Signature SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli
handler WSS. In particolare specificando “Signature SAMLTokenUnsigned” l’handler verificherà la firma digitale e l’esistenza del Token SAML nel messaggio ricevuto
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 48
4.5.4 Cifratura
Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request)
Descrizione dei parametri dell’Handler
• org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin: è la
classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Encrypt: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare
specificando “Encrypt” l’handler cifrerà il body del messaggio utilizzando la chiave pubblica dell’utente specificato con il parametro
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 49
• encryptionUser: è l’alias nel keystore della chiave pubblica utilizzata per cifratura • encryptionSymAlgorithm: specifica l’algoritmo utilizzato per la cifratura
Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request)
Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la
classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file
del keystore
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 50
• org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Encrypt: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare
specificando “Encrypt” l’handler cifrerà il body del messaggio utilizzando la chiave pubblica dell’utente specificato con il parametro
• org.apache.ws.security.privatekey.password: nell’ambito del keystore, è la password della chiave
privata che sarà utilizzata per la decifratura.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 51
4.6 Parametri di configurazione della PDD EDA
ASAP_FACTORY_URI http://localhost:8080/axis/services/FactoryProxy
ASAP_INSTANCE_URI http://localhost:8080/axis/services/InstanceProxy
ASAP_OBSERVER_URI http://localhost:8080/axis/services/ObserverProxy
AXIS_CLIENT_CONFIG_FILE /home/pdd/pdd/config/client‐config.wsdd
CODICE_PA PDDEDA
CODICE_PDD PDD
DMBS POSTGRES
EPROXY_CALLBACK_URI http://localhost:8080/axis/services/EProxy
EPROXY_URI http://localhost:8080/axis/services/EProxy
INDIRIZZO_TELEMATICO http://localhost:8080/
IPROXY_CALLBACK_URI http://localhost:8080/axis/services/IProxy
IPROXY_URI http://localhost:8080/axis/services/IProxy
LOGGER_EPROXY pdd
LOGGER_HANDLER pdd
LOGGER_IPROXY pdd
LOGGER_PLATFORM pdd
LOGON_URI http://localhost:8080/axis/JWSServices/JWSAccessManager.jws
PUBLISH_SUBSCRIBE_URI http://localhost:8080/toset
TIPO_PA CODICE_ASL
PORTA_DELEGATA_ASINC_ASI
M_DEFAULT PortaDelegataAsincronaSimmetricaDefault
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 52
java.naming.factory.initial org.jboss.naming.HttpNamingContextFactory
CODICE_PA_PASSWORD password
java.naming.provider.url http://localhost:8080/invoker/JNDIFactory
java.naming.factory.url.pkgs org.jboss.naming.client
MBEAN_SERVICE_EDA_COM eda.com:service= PDD_Startup
USER_KEY wss4jCertDSA
PASSWORD_KEY security
PASSWORD_PKCS7 123456
FILE_KS_PKCS7 c:/pdd/security/keystore/farsa.keystore
MQ_ENGINE ACTIVE_MQ
PS_ADAPTER_URI http://10.2.52.56:8080/axis/services/PSJMSAdapter
egov.pre.validator.handler.class com.enterpriseda.pdd.level1.handler.common.CheckServizioAzione
Handler
egov.soap.deep.check.enabled true
egov.soap.fault.send.detail false
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 53
5 Monitoraggio
5.1 Transazioni attive Nel Database sono presenti le transazioni attive nella tabella “Transazioni”.
È inoltre possibile visualizzare il dettaglio di ogni transazione e visualizzare l’intera busta e‐gov
transitata.
5.2 Storico transazioni Nel Database sono presenti lo storico delle transazioni nella tabella “Storico_Transazioni”.
È inoltre possibile visualizzare il dettaglio di ogni transazione e visualizzare l’intera busta e‐gov
transitata.
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 54
6 Configurazione certificati
6.1 Creazione di KeyStore keytool ‐genkey ‐keystore <nomeFileKeyStore> ‐alias <alias della chiave> ‐keyalg RSA ‐keysize 2048 –
keypass <passwordDellaChiave>
Viene creato un keystore nella home directory dell’utente.
6.2 Import di un certificato nel KeyStore keytool ‐import ‐alias <alias del server> ‐trustcacerts ‐file certreq_signed.pem
6.3 Import di una Certification Authority nel KeyStore keytool ‐import ‐alias <alias della ca> ‐trustcacerts ‐file certreq_signed.pem
6.4 Configurazione Trasporto over HTTPS Per poter effettuare porte delegate che possano invocare end‐point in https, è necessario configurare
un keystore con tutte le chiavi pubbliche del server in https.
Le informazioni necessarie devono essere presenti nel componente di tipo PROPERTIES di nome:
HTTPS_CLIENT_PROPS configurato tra i componenti di sistema.
L’elemento PROPERTIES deve avere le seguenti proprietà configurate:
SPICCA: Manuale di installazione e configurazione PDD
v.1.0 del 25/08/2009 Pagina 55
6.5 Configurare JBOSS in HTTPS Quest’ attività non è richiesta per l’installazione della PDD. Viene riportata solo come guida per
l’amministratore, qualora si desiderasse configurare JBOSS in https:
- Creare il certifato SSL che sarà usato per l'autenticazione e la codifica dei dati. Per generare il crtificato
è possibile utilizzare la "Keytool" utility fornita dalla j2sdh 1.4+. Il tool si trova nella directory
"%JAVA_HOME%\bin". Per eseguire il tool digitare dal prompt il seguente comando:
%JAVA_HOME%\bin\keytool ‐genkey ‐keyalg RSA (dove RSA è l'algoritmo di cifratura utilizzato).
Il comando creerà un file ".keystore" nella home directory dell'utente. Ricordare di utilizzare come
password della keystore la stessa password che si utilizzarà all'interno di jboss.
- Modificare "%Jboss‐Home%\server\default\deploy\jbossweb‐tomcat50.sar\server.xml", all'interno
dell'elemento <service> decommentare la parte relativa al Connector SSL/TSL.
Nell'elemento <Connector...> decommentato settare l'attributo "keystoreFile" con il file relativo alla
chiave da me generata in precedenza, e settare l'attributo "keystorePass" con la password utilizzata per
generare il keystore.
- Riavviare JBOSS e verificare la possibilità di accedere a all'applicazione con il supporto SSL. Per esempio,
provare a connettersi al seguente url, se non sono state modificare le impostazioni di default relative
alla porta, "https://localhost:8443/".