2016-08-19 4 views
0

Я пытаюсь подписать файл с 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.

ответ

0

Я не знаю о библиотеке, которую вы используете, но в отношении xades4j вы можете следить за документацией на project wiki. Из вашего кода это похоже на простой сценарий, который должен поддерживаться xades4j.

+0

Хорошо, я внимательно прочитаю документацию и попытаюсь преобразовать свой код в xades4j. Благодарю. –

Смежные вопросы