Генерация списка сертификатов 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.

Другие вопросы по тегам