Я пытаюсь подписать файл с XADES-BES в Android. Об этом я нашел библиотеку. Строительство и создание АПК прекрасно работает. После того, как я выберу файл и нажмите кнопку «Значок», он даст ошибку времени выполнения. После отладки я обнаружил, что есть ошибка в отношении Контекст. Я добавил комментарий, где программа выйдет из строя. Соответствующая часть кода ниже:Подписание с XAdeS-BES в Android
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"));
Я не использовал Xades4j LIB, потому что я не знаю, как преобразовать этот код в подходящей форме для cades4j Lib.
Хорошо, я внимательно прочитаю документацию и попытаюсь преобразовать свой код в xades4j. Благодарю. –