2015-01-23 3 views
11

У меня есть файл хранилища ключей cacerts под jre/lib/security, в котором я добавил сертификат с помощью команды import.Найти имя псевдонима в файле хранилища ключей

В моем хранилище ключей хранится более 50 сертификатов. Как найти псевдоним последнего импортированного сертификата в хранилище ключей. Я хочу удалить последний добавленный сертификат, для которого мне нужно имя псевдонима. Незлая помощь.

ответ

22

Вы можете перечислить все сертификаты в хранилище как

на Linux

keytool -list -v -keystore keystore.jks | grep "Alias name\|Creation date" 

на Windows,

keytool -list -v -keystore keystore.jks | findstr "Alias Creation" 
+0

спасибо SubOptimal за ваш ответ. Я смог перечислить все псевдонимы с датой создания. Однако я не могу найти сертификат, который я добавил вчера. Он имеет все сертификаты, добавленные до 2014 года. Я не вижу никаких сертификатов, которые добавляются в 2015 году. Я добавил сертификат, используя следующий подход, сообщите мне, если он правильный. 1) откройте URL-адрес и экспортируйте сертификат из браузера на рабочий стол и сохраните его как root.cer. 2) импортируйте этот файл root.cer в файл хранилища cacerts с помощью команды импорта, предоставленной keytool. – user903676

+1

Звучит правильно. Не могли бы вы добавить команду, которую вы ввели, чтобы импортировать файл cer в свой вопрос? – SubOptimal

+0

PLS найти команду, которую я использовал для импорта сертификата. keytool -import -file <путь к файлу root.cer>. это побудило меня ввести пароль, который я дал default pwd 'changeit'. то он попросил опцию «Доверять этот сертификат» (нет): я дал «да». и он дал сообщение «сертификат был успешно добавлен». – user903676

1

Вы можете использовать java.security.KeyStore для загрузки хранилища ключей и использовать aliases() метод, чтобы получить Enumaration всех псевдонимов в файле хранилища ключей.

java security.Keystorejava doc

2

Вы пробовали перечислять все сертификаты.

Keytool -list -v -keystore keys.store

Это может быть в том порядке, они были добавлены.

Также, если вы добавили сертификат через командную строку или историю проверки терминала.

+0

Я добавил сертификат с помощью командной строки. Когда я пытаюсь добавить сертификат снова, он говорит, что псевдоним уже существует. Однако, когда я проверил, чтобы проверить количество сертификатов в файле cacerts до и после добавления сертификата, количество сертификатов остается таким же. Когда я импортировал сертификат в keystre, он дал мне msg «сертификат был добавлен в хранилище ключей». Теперь 1) как я могу проверить, правильно ли был добавлен сертификат. 2) Чтобы удалить сертификат, мне нужно знать имя псевдонима, как найти псевдоним имени сертификата, который я добавил. – user903676

+0

Какова команда, которую вы использовали для импорта сертификата? – yohanfernando