Я понимаю, что в хранилище ключей обычно хранятся частные / открытые ключи, а в хранилище доверенных ключей - только открытые ключи (и представляет собой список доверенных сторон, с которыми вы собираетесь общаться). Что ж, это мое первое предположение, так что, если это неверно, я, вероятно, не очень хорошо начал ...
Мне было интересно понять, как и когда вы различаете магазины при использовании keytool.
Итак, я создал хранилище ключей, используя
keytool -import -alias bob -file bob.crt -keystore keystore.ks
который создает мой файл keystore.ks. Я отвечаю yes
на вопрос, доверяю ли я Бобу, но мне неясно, создал ли это файл хранилища ключей или файл хранилища доверенных сертификатов? Я могу настроить свое приложение на использование этого файла в качестве любого из них.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
и с установленным System.setProperty( "javax.net.debug", "ssl")
я могу видеть сертификат в разделе доверенных сертификатов (но не в разделе хранилища ключей). В конкретном сертификате, который я импортирую, есть только открытый ключ, и я намерен использовать его для отправки материалов Бобу через SSL-соединение (но, возможно, это лучше оставить для другого вопроса!).
Будем очень признательны за любые указатели или пояснения. Является ли вывод keytool таким же, что вы импортируете, и его обычным соглашением, в котором говорится, что одно является хранилищем ключей, а другое - хранилищем доверия? Какая связь при использовании SSL и т. Д.?