CRLの生成のコンテキストでInputStreamが空であることを確認する方法は?

Nuqie Noila

CRL URLを指定して、X509CRLオブジェクトを取得したいと思います。以下はコードです、

    private static X509CRL downloadCRLFromWeb(String crlURL) throws
            MalformedURLException, IOException, CertificateException, CRLException {

        URL url = new URL(crlURL);
        InputStream crlStream = url.openStream();
        try {
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            return (X509CRL) cf.generateCRL(crlStream);
        } catch (CRLException e) {
            System.out.println("Caught exception: " + e.getMessage());
            e.printStackTrace();
            return null;
        } finally {
            assert crlStream != null;
            crlStream.close();
        }

この行return (X509CRL) cf.generateCRL(crlStream);は、CRLException: Empty input私が試したいくつかのURL(すべてではない)で生成されます。

以下はスタックトレースです、

java.security.cert.CRLException: Empty input
    at sun.security.provider.X509Factory.engineGenerateCRL(X509Factory.java:397)
    at java.security.cert.CertificateFactory.generateCRL(CertificateFactory.java:497)
    at demo.pkcs.pkcs11.TryLDAP.downloadCRLFromWeb(TryLDAP.java:60)
    at demo.pkcs.pkcs11.TryLDAP.main(TryLDAP.java:83)

また、読み取ったときにcrlStream戻らない-1ため、正確に「空」はないことも注意しください。この例外の正確な原因とその解決方法を教えてください。そして、X509CRLこの例外を取得したURLからオブジェクトを取得できるように、このコードを修正するにはどうすればよいですか?

Nuqie Noila

例外をキャッチしたURLについては、次の手順で解決しました。

  1. オブジェクトに変換crlStreamするString
  2. 追加"-----BEGIN X509CRL-----\n"し、"\n-----END X509CRL-----\n"開始と終了の時crlStreamString
  3. に変換しcrlStreamString直しますInputStream

以下は作業コードです、

        InputStream crlStream = url.openStream();
        String stream = IOUtils.toString(crlStream);
        String tryPEM = "-----BEGIN X509CRL-----\n";
        tryPEM = tryPEM.concat(stream);
        tryPEM = tryPEM.concat("\n-----END X509CRL-----\n");
        System.out.println(tryPEM);
        try {
            CertificateFactory cf = CertificateFactory.getInstance("X.509");
            return (X509CRL) cf.generateCRL(IOUtils.toInputStream(tryPEM));

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

基準リストが空であることを確認する方法は?

分類Dev

テキストファイルが空ではないが特定の形式に準拠していることを確認する方法をbashしますか?

分類Dev

Javaでオブジェクトの変数が空またはNULLであることを確認する方法

分類Dev

モデルのオブジェクトがlaravelで空であることを確認する方法は?

分類Dev

Angularjsでリストが空であることを確認する方法

分類Dev

生成されたコンポーネントのhas-blockが空であるかどうかを確認する方法はありますか?

分類Dev

DynamoDBの - 既存のテーブルが空か非空であることを確認する方法

分類Dev

要素がJavaのクラスのインスタンスであることを確認する方法は?

分類Dev

selectステートメントで列の値がnullまたはないことを確認する方法

分類Dev

オブジェクトの配列内のアイテムが空であるか、すべてを使用していないことを確認する方法は?

分類Dev

関数の引数が空であることを確認する方法

分類Dev

hasManyの関係レコードが雄弁なlaravelで空であることを確認する方法

分類Dev

jooqクエリの左結合でレコードが完全に空であることを確認する方法

分類Dev

IBMWCMのコンテンツのリッチテキストフィールドの値を確認する方法が空です

分類Dev

UTF-8テキストをファイルから反復可能なコンテナに変換し、C ++ですべての記号が英数字であることを確認するにはどうすればよいですか?

分類Dev

id文字列が空であることを確認する方法次に、AndroidStudioでが空の場合はデフォルト値を定義します

分類Dev

JUnitテストで、すべてのアサーションが実行されたことを確認する方法はありますか?

分類Dev

2Dマトリックスが空であることを確認する方法は?

分類Dev

2Dマトリックスが空であることを確認する方法は?

分類Dev

文字列がコンマ区切りのリストであることを確認するSQLServer 2008

分類Dev

コンテキストがインテントコールのクラスと同じであるかどうかを確認します

分類Dev

jmespathを使用してjsonデータ内の配列が空であることを確認する方法は?

分類Dev

テーブル内のすべての入力テキストボックスが空であることを確認するにはどうすればよいですか?

分類Dev

文字列が空またはnullであることを確認する最良の方法

分類Dev

リッチテキストエディタのコンテンツが空かどうかを確認するにはどうすればよいですか?

分類Dev

列の値がRの同じtibbleの別のリストタイプの列のメンバーであることを確認する方法は?

分類Dev

postgresのテキスト列でBOMを確認する方法は?

分類Dev

Recyclerviewsが空であることを確認する方法

分類Dev

List <SqlRow>が空であることを確認する方法

Related 関連記事

  1. 1

    基準リストが空であることを確認する方法は?

  2. 2

    テキストファイルが空ではないが特定の形式に準拠していることを確認する方法をbashしますか?

  3. 3

    Javaでオブジェクトの変数が空またはNULLであることを確認する方法

  4. 4

    モデルのオブジェクトがlaravelで空であることを確認する方法は?

  5. 5

    Angularjsでリストが空であることを確認する方法

  6. 6

    生成されたコンポーネントのhas-blockが空であるかどうかを確認する方法はありますか?

  7. 7

    DynamoDBの - 既存のテーブルが空か非空であることを確認する方法

  8. 8

    要素がJavaのクラスのインスタンスであることを確認する方法は?

  9. 9

    selectステートメントで列の値がnullまたはないことを確認する方法

  10. 10

    オブジェクトの配列内のアイテムが空であるか、すべてを使用していないことを確認する方法は?

  11. 11

    関数の引数が空であることを確認する方法

  12. 12

    hasManyの関係レコードが雄弁なlaravelで空であることを確認する方法

  13. 13

    jooqクエリの左結合でレコードが完全に空であることを確認する方法

  14. 14

    IBMWCMのコンテンツのリッチテキストフィールドの値を確認する方法が空です

  15. 15

    UTF-8テキストをファイルから反復可能なコンテナに変換し、C ++ですべての記号が英数字であることを確認するにはどうすればよいですか?

  16. 16

    id文字列が空であることを確認する方法次に、AndroidStudioでが空の場合はデフォルト値を定義します

  17. 17

    JUnitテストで、すべてのアサーションが実行されたことを確認する方法はありますか?

  18. 18

    2Dマトリックスが空であることを確認する方法は?

  19. 19

    2Dマトリックスが空であることを確認する方法は?

  20. 20

    文字列がコンマ区切りのリストであることを確認するSQLServer 2008

  21. 21

    コンテキストがインテントコールのクラスと同じであるかどうかを確認します

  22. 22

    jmespathを使用してjsonデータ内の配列が空であることを確認する方法は?

  23. 23

    テーブル内のすべての入力テキストボックスが空であることを確認するにはどうすればよいですか?

  24. 24

    文字列が空またはnullであることを確認する最良の方法

  25. 25

    リッチテキストエディタのコンテンツが空かどうかを確認するにはどうすればよいですか?

  26. 26

    列の値がRの同じtibbleの別のリストタイプの列のメンバーであることを確認する方法は?

  27. 27

    postgresのテキスト列でBOMを確認する方法は?

  28. 28

    Recyclerviewsが空であることを確認する方法

  29. 29

    List <SqlRow>が空であることを確認する方法

ホットタグ

アーカイブ