soapui testare in ssl

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:

Upload: rosario-turco

Post on 08-Mar-2015

415 views

Category:

Documents


1 download

DESCRIPTION

Come configurare SOAPUI per autenticazione e mutua autenticazione per i test

TRANSCRIPT

Page 1: SoapUI testare in SSL

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:

Page 2: SoapUI testare in SSL

cnf dir = .

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

private_key = $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 un’unica linea:

openssl req -x509 -new -config openssl.cnf -days 365 -out ca/SistemaA_ca.pem –keyout

ca/SistemaA_ca_pk.pem

Ad esempio si usa SistemaA per tutte le psw.

Country Name IT

State CAMPANIA

Locality Napoli

Organization Name XXX

Organizat. Unit XXX.DU3

Cn Sistema A

email []

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:

Page 3: SoapUI testare in SSL

cnf dir = .

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

private_key = $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