Sei sulla pagina 1di 3

Configurazione SoapUI per SSL

Rosario Turco Spesso necessario disporre di un client in SSL con autenticazione o con mutua autenticazione. La differenza soprattutto nel client. Nel primo caso sufficiente che il client abbia configurato un keystore JKS nel secondo occorre che faccia sia da client che da server. SOAPUI in questo caso torna abbastanza utile. Autenticazione Andare su SOAP Preferences -> SSL Settings. Selezionare alla voce keyStore il file che contiene il keyStore del client (Client.jks). Impostare alla voce keyStore Password la password del keyStore selezionato al passo precedente (CLIENT). Spuntare la voce requires client authentication relativa alla Client Authentication.

Ovviamente da fare la creazione del keystore e assegnarli una password. Vedi APPENDICE per le operazioni di creazione certificati. Mutua autenticazione tra client e server In tal caso serve configurare SOAPUI non solo come client ma anche come server e compilare tutte le parti Mock. APPENDICE Nel seguito usiamo il software Openssl_098k_W32 per Windows. SERVER A da testare Creare directory: C:\MyCert\X509CA ( sia la CA del SistemaA, sia dove si generano i certificati e la catena) Copiare in C:\MyCert\X509CA il file openssl.cnf preso da Openssl_098k_W32 Adesso nel file copiato, modificare le linee nel seguente modo:

cnf dir = . certificate private_key

= $dir/ca/SistemaA_ca.pem # The CA certificate = $dir/ca/SistemaA_ca_pk.pem # The private key

spostarsi in X509CA ed eseguire eseguire echo 01 > serial notepad index.txt Do you want to create a new file?, click Yes Poi su ununica linea: openssl req -x509 -new ca/SistemaA_ca_pk.pem

-config

openssl.cnf

-days

365

-out

ca/SistemaA_ca.pem

keyout

Ad esempio si usa SistemaA per tutte le psw. Country Name State Locality Organization Name Organizat. Unit Cn email IT CAMPANIA Napoli XXX XXX.DU3 Sistema A []

keytool -genkey -dname "CN=SistemaA, OU=XXX.DU3, O=XXX, ST=CAMPANIA, C=IT" -validity 365 -alias SistemaAAlias -keypass SistemaA -keystore SistemaA.jks -storepass SistemaA keytool -certreq -alias SistemaAAlias -file SistemaA_csr.pem -keypass SistemaA -keystore SistemaA.jks storepass SistemaA openssl ca -config openssl.cnf -days 365 -in SistemaA_csr.pem -out SistemaA.pem openssl x509 -in SistemaA.pem -out SistemaA.pem -outform PEM copy SistemaA.pem + ca\SistemaA_ca.pem SistemaA.chain keytool -import -file SistemaA.chain -keypass SistemaA -keystore SistemaA.jks -storepass SistemaA esportare il certificato di SistemaA keytool -export -keystore SistemaA.jks -alias SistemaAAlias -rfc -file SistemaA.cer -storepass SistemaA Nel server SistemaA importare il certificato del client keytool -import -alias SistemaAAlias -file Client.cer -keystore SistemaAtruststore.jks -storepass SistemaA CLIENT Generico (SOAPUI) Creare directory: C:\MyCert\X509CAClient ( sia la CA, sia dove si generano i certificati e la catena) Copiare in C:\MyCert\X509CAClient il file openssl.cnf preso da Openssl_098k_W32 Adesso nel file copiato modificare le linee:

cnf dir = . certificate private_key

= $dir/ca/client_ca.pem # The CA certificate = $dir/ca/client_ca_pk.pem # The private key

In X509CAClient eseguire echo 01 > serial notepad index.txt Do you want to create a new file?, click Yes openssl req -x509 -new -config openssl.cnf -days 365 -out ca/client_ca.pem -keyout ca/client_ca_pk.pem CLIENT psw keytool -genkey -dname "CN=CLIENT, OU=TELECOM.DDT, O=TELECOM, ST=LAZIO, C=IT" -validity 365 -alias ClientAlias -keypass CLIENT -keystore Client.jks -storepass CLIENT keytool -certreq -alias ClientAlias -file Client_csr.pem -keypass CLIENT -keystore Client.jks -storepass CLIENT openssl ca -config openssl.cnf -days 365 -in Client_csr.pem -out Client.pem openssl x509 -in Client.pem -out Client.pem -outform PEM copy Client.pem + ca\Client_ca.pem Client.chain keytool -import -file Client.chain -keypass CLIENT -keystore Client.jks -storepass CLIENT esportare il certificato di Client keytool -export -keystore Client.jks -alias ClientAlias -rfc -file Client.cer -storepass CLIENT client importa il certificato (il client importa il certificato di Arianna e usa il proprio jks e pasw) keytool -import -alias ClientAlias -file SistemaA.cer -keystore clienttruststore.jks -storepass CLIENT

Alla prox