Некоторые сведения о последних изменениях в tomcat 8.5.x: (как объяснено в @ dave-thompson-085 в другом посте)
Java 8u60 up getInstance ("JKS"") (с обычными провайдерами) может читать либо JKS, либо PKCS12, но" PKCS12 "читает только PKCS12, как это происходит здесь.В 9 и 10 (я еще не пробовал 11) он работает в обоих направлениях, но трассировка стека OP не показывает модули как 9 up.Tomcat 8.5 (и 9.0) в основном переписал конфигурационную область SSL / TLS для обработки нескольких сертификатов (SNI), а также для выравнивания ранее различных конфигураций JSSE vs APR = OpenSSL, но, по моему мнению, он все равно должен по умолчанию использовать JKS, если вы не (не) установилиjavax.net.ssl.keyStoreType
Как мы это исправили:
В tomcat 8.0 значение по умолчанию для javax.net.ssl.keyStoreType
равно JKS .После того, как мы обновились до tomcat 8.5.x, они изменились на PKCS12 , поскольку в настоящее время он используется в качестве отраслевого стандарта.
После того, как я сломал себе голову, заметил, что в файле tomcat.conf
аргументы виртуальной машины настроены на использование PKCS12 .Я изменил на JKS .Все работало нормально после.
Изменено -Djavax.net.ssl.keyStoreType=PKCS12
на -Djavax.net.ssl.keyStoreType=JKS
Совет: Если не удается найти файл tomcat.conf, найдите файл, содержащий строку "-Djavax.net.ssl.keyStoreType "в боковом каталоге tomcat.Я видел, что у портативного томата Windows этот файл отсутствует.