X509Certificate があり、次のようにファイルに書き込み/出力します。(証明書の内容を読みたいので、エンコードされたバイトを書いていません)
X509Certificate cer = generateCertificate(); // cer is DER encoded
writeToFile( cer.toString() ); // cer.toString() converts DER to UTF/ASCII???
後で、このファイル (上記) を文字列として読み取り、新しい X509Certificate を作成したいと考えています。
String cerStr = readCerFromFile(); // Read what is written above. In ASCII/ UTF format
ByteArrayInputStream bais = null;
try {
CertificateFactory cf = CertificateFactory.getInstance("X.509");
bais = new ByteArrayInputStream(cerStr.getBytes());
return (X509Certificate) cf.generateCertificate(bais);
} ...
これにより、次の例外がスローされます。
Java.security.cert.CertificateParsingException: Invalid DER-encoded certificate data
そして、私が cerStr を DER 形式に変換していないことは明らかです (また、 DER に変換できるかどうかはわかりません)。エンコードされていない文字列から X509Certicate を作成する方法を説明してください。
前もって感謝します。!