1

リクエスト データがありますが、PEMWriter を使用してこのリクエスト データをエクスポートする方法がわかりません。

私のリクエストデータ:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBoDCCAQkCAQAwYDEQMA4GA1UEBhMHTXlhbm1hcjEKMAgGA1UECBMBdDEKMAgGA1UEBxMBdDEK
MAgGA1UEChMBdDEKMAgGA1UECxMBdDEKMAgGA1UEAxMBdDEQMA4GCSqGSIb3DQEJARYBdDCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp8NqU0BHIlxzOWuoAtOcamm1cxlAr5Uz+wlx/KSxKR4p
0VqV1PdUVNVK2O7C1jy5VB+hXeNIlwo3BIlA6hdWtS33ynZxdUZ9BrHr6lELjd6T91q0yzbV/dQk
pR0KmycIOXgfqGF7PhZlGku+fI7wllI8n/oZvFnW/M4kSCnfEBcCAwEAAaAAMA0GCSqGSIb3DQEB
BQUAA4GBADgOHimTuqjb+Vbt0ffuK9skIQFCoicfKV5vKPpU8Uxeji/RuQ7zQVoACYOcQ8O1Epof
Aq7vZFLXKlscFO/w4UKWGEix45JIFoc8a6rCVUQph8P8GLdQNofIWVXc2dgBe/yCqgD54bnQt1tX
GLciFlHU+Oa0Lxtdc+jIOzzvYe5P
-----END NEW CERTIFICATE REQUEST-----

このように PEMWriter を使用してリクエスト データをエクスポートしました。 コード :

BufferedWriter bw = new BufferedWriter(new FileWriter(txtRequest.getText()));
PEMWriter writer = new PEMWriter(bw2);                  
writer.writeObject(certificate);

writer.close();
bw.close();

しかし、私はエラーがあります。

エラー: java.io.IOException: 不明なオブジェクトが渡されました - エンコードできません。

説明してください。ありがとう。

4

1 に答える 1

0

最初に BufferedWriter を作成していますが、PEMWriter のパラメーターとしてbw使用しています。bw2これは単なるコピー/貼り付けエラーであり、問​​題ではないと思います。

ただし、 writeObject のパラメーターとして使用するものは重要です。あなたの場合、それはおそらくクラスのオブジェクトでなければなりませんjava.security.cert.X509Certificate。このメソッドは型のパラメーターを受け入れませんjavax.security.cert.X509Certificate。違いは、javax の x です。

Bouncy Castle PEMWriter のソース コードを調べて、このメソッドが受け入れるその他の種類のクラスを確認してください。

于 2012-10-19T13:15:32.937 に答える