0

Google マーケットプレイス アプリの証明書を作成しようとしています。インターフェイス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 ファイルで証明書のリストを取得する方法がわかりません。誰か助けてください

4

1 に答える 1

0

あなたの質問を正しく理解できれば、証明書のグループをファイルにまとめようとしています。これは多くの場合、いくつかの形式の KeyStore ファイルを使用して行われます。一般的な 2 つの形式は、JKS と PKCS12 です。Javakeytoolコマンドを使用するかopenssl、キーストアを作成できます。

次に、プログラムでキーストア ファイルを Java KeyStoreオブジェクトにロードできます。そこから、aliases()メソッドを使用して KeyStore 内のすべてのエイリアスを取得できます。次に、メソッドを使用してそれぞれを確認し、true の場合は、メソッドの最後に返される Collection にisCertificateEntry(alias)結果の証明書を追加します。getCertificate(alias)上記の KeyStore リンクには、ファイルから KeyStore をロードするためのコード例がいくつかあります。

cacertsJRE インストールに存在するファイルは、実際には JKS キーストアであることに注意してください。

于 2013-09-03T07:38:47.377 に答える