API KeyStore не предоставляет операцию переименования псевдонимов. Но что вы можете сделать:
- Сохраните содержимое (пара ключей, сертификаты) записи в хранилище ключей, которую вы хотите переименовать.
- Удалить запись.
- Создайте новую запись с сохраненным контентом и новым псевдонимом.
В Java-код:
Key privateKey = keyStore.getKey(alias, password.toCharArray());
Certificate[] certs = keyStore.getCertificateChain(alias);
keyStore.setKeyEntry(newAlias, privateKey, password.toCharArray(), certs);
keyStore.deleteEntry(alias);
Конечно, это не работает, если закрытый ключ хранится на аппаратном устройстве (смарт-карты или HSM) и, следовательно, не может быть прочитан.
Если запись содержит хранилище ключей доверенный сертификат, код выглядит несколько иначе:
Certificate cert = keyStore.getCertificate(alias);
keyStore.setCertificateEntry(newAlias, cert);
keyStore.deleteEntry(alias);
Почему? Что вам не нравится, что такое псевдоним? – EJP
@EJP внутренние реквизиты – Yuri