【问题标题】:Signing with XAdeS-BES in Android在 Android 中使用 XAdeS-BES 进行签名
【发布时间】:2016-08-19 09:26:06
【问题描述】:

我正在尝试在 Android 中使用 XADES-BES 签署文件。我找到了一个关于那个的图书馆。构建和创建 APK 工作正常。在我选择文件并单击“签名”按钮后,它会出现运行时错误。调试后发现Context有错误。我在程序崩溃的地方添加了一条评论。相关部分代码如下:

 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 的形式。

【问题讨论】:

    标签: java android xades4j type-signature


    【解决方案1】:

    我不知道您正在使用的库,但关于 xades4j,您可以关注project wiki 上的文档。从您的代码来看,这似乎是一个简单的场景,xades4j 应该支持。

    【讨论】:

    • 好的,我会仔细阅读文档并尝试将我的代码转换为xades4j。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2022-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多