我正在为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
看起来很有希望 - 有一些不错的方法,但有“神秘”的论点。下一步做什么?
答案 0 :(得分:1)
我认为这就是你要找的东西:
答案 1 :(得分:0)
您必须实现SmartCardSession方法,还要实现RSACryptoToken方法。 使用SmartCardSession方法,您将能够与智能卡通信,并且使用RSACryptoToken方法,您将能够执行加密操作。 您还必须阅读有关APDU协议的信息。