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 bw,但将bw2其用作 PEMWriter 的参数。我想这只是一个复制/粘贴错误,没关系。

但是,您将其用作 writeObject 的参数确实很重要。在您的情况下,它可能应该是 class 的对象java.security.cert.X509Certificate。该方法不接受类型参数javax.security.cert.X509Certificate- 不同之处在于 javax 中的 x。

查看 Bouncy Castle PEMWriter 的源代码,了解该方法接受的其他类型的类。

于 2012-10-19T13:15:32.937 回答