黑莓智能卡读卡器的例子

时间:2010-03-31 15:47:03

标签: blackberry cryptography rsa smartcard smartcard-reader

我正在为BlackBerry使用BlackBerry智能卡读卡器编写应用程序。没有太多关于这个主题的文档,所以我真的很想,如果有人能给我开始的例子。

基本上,卡上有一个RSA私钥和一个证书(用于配对的公钥)。我希望能够加密/解密数据并对其进行签名。最终目标是使用智能卡上包含的客户端证书建立相互认证的SSL连接。

这是我到目前为止设法提出的代码:

SmartCardReader btReader = null;
SmartCardReader[] readers = SmartCardReaderFactory.getInstalledReaders();
for (int i = 0; i < readers.length; i++) {
    SmartCardReader reader = readers[i];
    if (reader.getType().equalsIgnoreCase("bluetooth")) {
        btReader = reader;
        break;
    }
}

SmartCardReaderSession readerSession = reader.openSession();
CryptoSmartCard card = (CryptoSmartCard) readerSession.getSmartCard();
RSACryptoToken token = (RSACryptoToken) card.getCryptoToken("RSA");

这个token看起来很有希望 - 有一些不错的方法,但有“神秘”的论点。下一步做什么?

2 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西:

http://code.google.com/p/seek-for-android/wiki/BTPCSC

答案 1 :(得分:0)

您必须实现SmartCardSession方法,还要实现RSACryptoToken方法。 使用SmartCardSession方法,您将能够与智能卡通信,并且使用RSACryptoToken方法,您将能够执行加密操作。 您还必须阅读有关APDU协议的信息。