For me it was caused by the lack of a trustedCertEntry in the truststore.
To test, use:
keytool -list -keystore keystore.jks
It gives me:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
cert-alias, 31-Jul-2017, PrivateKeyEntry
Even though my PrivateKeyEntry contains a CA it needed to be imported separately:
keytool -import -alias root-ca1 -file rootca.crt -keystore keystore.jks
It imports the certificate, and then re-running keytool -list -keystore keystore.jks
now gives:
Your keystore contains 2 entries
cert-alias, 31-Jul-2017, PrivateKeyEntry,
Certificate fingerprint (SHA1):
<fingerprint>
root-ca1, 04-Aug-2017, trustedCertEntry,
Certificate fingerprint (SHA1):
<fingerprint>
Now it has a trustedCertEntry, and Tomcat will start successfully.