soapui testare in ssl
DESCRIPTION
Come configurare SOAPUI per autenticazione e mutua autenticazione per i testTRANSCRIPT
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 = $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:
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