テキストのデコードに問題があります。
アプリにフィールドがあります:
JTextArea jCertImport = new JTextArea();
jCertImport には、BASE64 でエンコードされたテキストが含まれています。jCertImport に挿入されたテキストをデコードしたいので、エンコードする前にバイト形式を取得できます。
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
...
byte [] cert_bin = null;
BASE64Decoder cert_decoded = new BASE64Decoder();
try {
cert_bin = cert_decoded.decodeBuffer(jCertImport.getText());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
その後、証明書のバイト形式を取得しますが、値はエンコード前のものとは異なります。なんで?ある値でエンコードを使用し、出力でデコードすると、エンコードする前に元の値を取得する必要があると思いました。