这个问题诞生的原因是我完全迷失了,所以请原谅那些琐碎而毫无意义的部分。
我有一个Android应用程序,一个Web服务,一个MicroSD智能卡(移动安全卡)。我需要知道如何使用ssl卡与网络服务进行安全通信。重建和刷新操作系统不是一种选择。
我所知道的:
我不知道的是:
seek-for-android有一个OpenSC教程和库,但操作系统需要修补。有没有办法避免这种情况并仍然使用解决方案?
我知道我可以通过一些研究进一步深入研究,但我的截止日期非常接近(几天),所以我需要帮助,很多帮助,很快就会提前谢谢!
修改
更具体地说:
我有Giesecke&amp ;;的智能卡SD卡。 Devrient,使用Java Card OS和精美的applet和开发工具。我还收到了一个Android服务,通过APDU与卡(小程序)进行通信。这是非常低级的,它将字节代码作为命令和数据加入。
我需要通过SSL身份验证调用Web服务。现在我知道SSL使用(可以使用)带有PKCS#11接口的硬件令牌。
有一个名为seek-for-android的项目,其中包含修补操作系统的指南,并且在智能卡上有一个标准的PKCS#11接口(我相信这将是OpenSC)。我无法修补操作系统。
再次提出问题:
答案 0 :(得分:1)
由于这是封装在microSD卡内的智能卡的一种特殊形式,我假设API基于特殊的SD卡读写操作。在没有root访问权限的情况下,此类操作可能在Android上可用,也可能无法使用。
这取决于API的某些实现。通常这种microSD卡已经附带来自供应商的Android库(因为它是最开放的相关移动平台)。你应该在那里要求获得更多信息。
答案 1 :(得分:0)
如果您可以在不修补ROM的情况下访问您的卡,您可以自己推出(需要加密知识)SSL实施。
如果没有,那么AFAIK需要修补Android才能访问额外的硬件。并且内置的SSL库对客户端“硬件令牌”AFAIK没有任何支持。
答案 2 :(得分:0)
使用Bouncycastle(Spongycastle是Android的分支)并实现您自己的安全提供程序,它使用SmartCard而不是存储证书的文件。