0
AndroidでXADES-BESでファイルに署名しようとしています。私はそれについての図書館を見つけました。 APKの作成と作成はうまくいきます。ファイルを選択してSignボタンをクリックすると、ランタイムエラーが発生します。デバッグ後に、私はの文脈での間違いがあることがわかりました。プログラムがクラッシュする箇所にコメントを追加しました。コードの関連部分は以下の通りです:AndroidでXAdeS-BESで署名する
String sourceFilePath = filePathView.getText().toString();
if(sourceFilePath.isEmpty()){
exc = new Exception("No File Picked");
return null;
}
mAPDUSmartCard.login(pwdText);
Pair<CardTerminal,ECertificate> selection = certListAdapter.getSelection();
ECertificate signCert = selection.second;
BaseSigner signer = mAPDUSmartCard.getSigner(signCert.asX509Certificate(), Algorithms.SIGNATURE_RSA_SHA256);
Context context = new Context();
XMLSignature signature = new XMLSignature(context); // THIS IS WHERE THE APP CRASHES.
signature.addDocument(sourceFilePath,"application/xml", false);
signature.getSignedInfo().setSignatureMethod(SignatureMethod.RSA_SHA256);
signature.addKeyInfo(signCert);
signature.sign(signer);
signature.write(new FileOutputStream(sourceFilePath + ".xsig"));
私はcades4j libに適した形で、このコードを変換する方法がわからないので、私は、Xades4j libには使用しませんでした。
さて、ドキュメントを慎重に読み、コードをxades4jに変換しようとします。ありがとう。 –