Curl doesn't have support for java keystore file, so therefor the file should be converted to a PEM format. It consists of the following multiple steps:
- Convert keystore to p12 file
 - Convert p12 file to pem file
 - Run curl command with pem files
 
keytool -importkeystore -srckeystore truststore.jks \
                        -destkeystore truststore.p12 \
                        -srcstoretype JKS \
                        -deststoretype PKCS12 \
                        -deststorepass password \
                        -srcstorepass password \
                        -nopromptopenssl pkcs12 -in truststore.p12 -passin pass:password -out truststore.pemcurl secret --cacert truststore.pem https://localhost:8443/api/helloExample curl request for mutual authentication, loading trusted certificates and loading private and public key of the client:
Repeat step 1 (if applicable) choosing the correct alias and step 2 for the identity.jks, but with different options, which contains the keypair.
keytool -importkeystore -srckeystore keystore.jks \
                        -destkeystore client.pfx -deststoretype PKCS12 \
                        -srcalias mykey \
                        -deststorepass password \
                        -destkeypass password \
                        -srcstorepass password \
                        -nopromptopenssl pkcs12 -in client.pfx -passin pass:password -out client.p12 -nodesThen call cURL
curl --cert identity.pem --cacert truststore.pem https://localhost:8443/api/hello