Похоже, keytool
вы используете реализацию GNU , а не Oracle / Sun или OpenJDK. Из вывода keytool -list
он генерирует тип хранилища gkr
, который представляет собой хранилище ключей GNU .
Я не уверен, используете ли вы Apache Tomcat, используя OpenJDK или Sun / Oracle JRE, и в этом случае этот формат не будет поддерживаться без дополнительных провайдеров безопасности.
Если вы запускаете Apache Tomcat с GNU JRE, который поддерживает gkr
(или, по крайней мере, JRE, где вы добавили провайдера безопасности, поддерживающего gkr
), вы можете попробовать keystoreType="gkr"
в вашей конфигурации <Connector />
.
Однако проще всего, вероятно, использовать keytool
, как это предусмотрено Oracle или OpenJDK, и использовать тип хранилища JKS (который будет типом по умолчанию, если вы запускаете Apache Tomcat с OpenJDK или Sun / Oracle JRE). Вероятно, он был установлен вместе с вашей JRE, но он не похож на $JAVA_HOME
, который вы используете, указывает на Oracle или OpenJDK JAVA_HOME
. В некоторых дистрибутивах Linux есть механизмы для установки нескольких JRE и настройки ссылок (update-alternatives
в семействе Debian / Ubuntu).
(Как примечание, обычно не рекомендуется запускать Apache Tomcat от имени пользователя root, что вы, похоже, делаете, поскольку $HOME/.keystore
- это /root/.keystore
в вашем примере.)