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"));
我沒有用Xades4j lib中,因爲我不知道如何將此代碼轉換成合適的形式cades4j庫。
好的,我會仔細閱讀文檔,並嘗試將我的代碼轉換爲xades4j。謝謝。 –