Подтвердить что ты не робот

Можем ли мы загрузить несколько сертификатов и ключей в хранилище ключей?

Можно ли загрузить несколько сертификатов и ключей в хранилище ключей?

Всегда ли требуется загружать только пары (например, сертификаты и ключи)?

Если в хранилище ключей есть несколько сертификатов и ключей, какой из них будет выбран, когда Java SSL попытается установить соединение в качестве сервера?

4b9b3361

Ответ 1

Хотя это зависит от типа KeyStore, обычно вы можете хранить несколько закрытых ключей и сертификатов в одном хранилище.

Какая комбинация ключей и сертификатов используется для сервера на основе Java, будет зависеть от того, как было реализовано приложение. Ряд приложений позволяет вам выбрать данный сертификат, используя имя псевдонима. Ключ и сертификаты в KeyStore принимают параметр alias, чтобы сделать этот выбор. Обычно, когда это не указывается в конфигурации, приложение или фрейм будет использовать первый подходящий, который он найдет, на основе перечисления KeyStore.aliases().

Tomcat, например, использует атрибут keyAlias в своей конфигурации коннектора:

keyAlias: псевдоним, используемый для сервера сертификат в хранилище ключей. Если не указан первый ключ, прочитанный в будет использоваться keystore.

В отношении пар ключей некоторые KeyStores (опять же, в зависимости от типа) могут использоваться для хранения SecretKey (например, DES), которые являются совместно используемыми ключами, а также пары открытого и закрытого ключей.

Ответ 2

У вас может быть хранилище ключей с таким количеством сертификатов и ключей, сколько захотите.

Если в хранилище ключей есть несколько сертификатов, которые клиент использует в качестве своего доверия, все сертификаты просматриваются до тех пор, пока не будет найдено подходящее. Вы можете просмотреть предварительно установленные сертификаты, они находятся в /lib/security/cacerts. Это просто большая коллекция сертификатов корневых центров сертификации.

Что касается ключей, я не знаю. Я считаю, что клиент использует ключ, подписанный тем же ЦС, что и сертификат, предоставленный сервером, и если их несколько, используется первый. Но я не могу этого точно сказать.