Генерация списка сертификатов X.509 и сохранение его в файле.bin
Я пытаюсь создать сертификат для приложения Google Marketplace. я пытаюсь реализовать интерфейс http://code.google.com/p/step2/source/browse/code/java/trunk/common/src/main/java/com/google/step2/xmlsimplesign/TrustRootsProvider.java?r=383
мой исходный код
public class AppEngineTrustsRootProvider implements TrustRootsProvider {
private static final String CERT_FILE = "/cacerts.bin";
private final Collection<X509Certificate> certs;
@SuppressWarnings("unchecked")
public AppEngineTrustsRootProvider() {
try {
ObjectInputStream in =
new ObjectInputStream(AppEngineTrustsRootProvider.class.getResourceAsStream(CERT_FILE));
certs = (Collection<X509Certificate>) in.readObject();
} catch (IOException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
public Collection<X509Certificate> getTrustRoots() {
return certs;
}
}
Я прочитал эту статью, в которой с помощью openssl или keytool мы можем генерировать сертификат в файле.cert или в файле.der, но как получить список сертификатов в файле.bin. это пример кода, я не могу понять, как получить список сертификатов в.bin файле. пожалуйста, помогите
1 ответ
Если я правильно понимаю ваш вопрос, вы пытаетесь собрать группу сертификатов в файл. Это часто делается через файл хранилища ключей, который может быть нескольких форматов. Два популярных формата - JKS и PKCS12. Вы можете использовать Java keytool
команда или openssl
создать хранилища ключей.
Затем программно вы можете загрузить файл хранилища ключей в объект хранилища ключей Java. Оттуда вы можете использовать aliases()
метод для получения всех псевдонимов в хранилище ключей. Затем вы можете пройти каждый с isCertificateEntry(alias)
метод, и если true, добавьте полученный сертификат из getCertificate(alias)
в коллекцию, которую вы вернете в конце метода. Ниже приведен пример кода для загрузки хранилища ключей из файла по ссылке выше.
Обратите внимание, что cacerts
Файл, присутствующий в установках JRE, на самом деле является хранилищем ключей JKS.