0

誰かがこの問題に遭遇しましたか?

BouncyCastle を使用して Android で証明書を作成しようとしていますが、BouncyCastle Provider Jar を追加するとすぐに、Java ヒープ領域の問題が発生し、Eclipse が OutOfMemory エラーでクラッシュします。

私がやっていることは次のとおりです。これは弾む城のコード例に似ています。

public static X509Certificate createMasterCert(
    PublicKey pubKey,
    PrivateKey privKey)
    throws Exception
{
    //
    // signers name
    //
    String issuer = "C=AU, O=The Legion of the Bouncy Castle, OU=Bouncy Primary Certificate";

    //
    // subjects name - the same as we are self signed.
    //
    String subject = "C=AU, O=The Legion of the Bouncy Castle, OU=Bouncy Primary Certificate";

    //
    // create the certificate - version 1
    //
    X509v1CertificateBuilder v1CertBuilder = new JcaX509v1CertificateBuilder(
        new X500Name(issuer),
        BigInteger.valueOf(1),
        new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30),
        new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 30)),
        new X500Name(subject),
        pubKey);

    X509CertificateHolder cert = v1CertBuilder.build(new JcaContentSignerBuilder("SHA1withRSA").setProvider(BC).build(privKey));

    return new JcaX509CertificateConverter().setProvider(BC).getCertificate(cert);
}
4

4 に答える 4

0

プログラムに何か問題があるのではないかと思います。たとえば、長いループ、高いメモリの必要性などです。jarを認識していないため、コメントできません。

ヒープを増やしてEclipseを実行する場合は、以下のコマンドを実行してEclipseを開始します。

    eclipse [normal arguments] -vmargs -Xmx512M

必要に応じてサイズを設定してください。

eclipse.iniまたは、ルートディレクトリの下を開いてeclipse、vmargsパラメータを更新することもできます。

  .......
  -vmargs
  -Xms40m
  -Xmx512m <---Update this value

完了したら、日食を再開します。

于 2012-10-12T04:48:18.930 に答える
0

ヒープ領域を増やすには、次の手順に従います。

  1. パッケージ エクスプローラーでプロジェクトを右クリックし、[Run As] に移動して [Run Configuration] をクリックし、クラスの名前を見つけます。
  2. [引数] タブ ([メイン] タブの隣) で、[VM 引数] というラベルの付いたボックス内に書き込みます。-mx256m
于 2012-10-12T04:37:49.873 に答える
0

変更

--launcher.XXMaxPermSize
256m

--launcher.XXMaxPermSize
512m
于 2012-10-12T05:06:55.823 に答える