Ответ 1
При импорте сертификата, отличного от самозаверяющего корневого сертификата (например, промежуточных сертификатов), keytool
сначала пытается создать и проверить правильный путь сертификата.
Если вы используете параметр trustcacerts
, то для построения пути keytool
рассмотрит не только сертификаты, уже содержащиеся в хранилище доверия, но дополнительно рассмотрит сертификаты, содержащиеся в хранилище ключей cacerts
этот файл находится в папке lib/security вашей установки JRE). Сертификаты в cacerts
являются своего рода списком доверия по умолчанию, официально доверенными корневыми сертификатами (аналогично спискам, на которые доверяет ваш браузер по умолчанию).
Этот параметр не нужен, поскольку вы всегда можете принудительно импортировать сертификат. При импорте самозаверяющего корневого сертификата также не имеет смысла, поскольку в этой ситуации невозможно создать путь сертификата, либо вы доверяете корневому файлу, либо нет.
Но это может быть приятной особенностью, если вы знаете, что импортированный сертификат должен быть выпущен одним из сертификатов, содержащихся в cacerts - keytool
, предупредит вас, если он все еще не сможет создать и проверить весь путь сертификата - что скорее всего, будет предупреждением, что что-то не так с сертификатом, который вы пытались импортировать.