尝试使用java smartcardio进行相互身份验证后出现0x6A88错误
我一直在尝试在Java上进行相互身份验证,这就是我正在做的: 首先我要求挑战,得到了随机数尝试使用java smartcardio进行相互身份验证后出现0x6A88错误,java,smartcard,javacard,pcsc,Java,Smartcard,Javacard,Pcsc,我一直在尝试在Java上进行相互身份验证,这就是我正在做的: 首先我要求挑战,得到了随机数 TRX --> 0084000008 REC <-- 4E621D238C8B185F 9000 有没有人在Java进行相互身份验证时遇到过同样的问题 有人找到解决方案了吗?我的问题是,我试图在错误的小程序上执行相互身份验证。在get challenge APDU之前,我刚刚选择了正确的小程序id,并最终获得了它。什么协议的相互身份验证?你做了一个选择援助吗?是的,我忘了把它放在我的问题。
TRX --> 0084000008
REC <-- 4E621D238C8B185F 9000
有没有人在Java进行相互身份验证时遇到过同样的问题
有人找到解决方案了吗?我的问题是,我试图在错误的小程序上执行相互身份验证。在get challenge APDU之前,我刚刚选择了正确的小程序id,并最终获得了它。什么协议的相互身份验证?你做了一个选择援助吗?是的,我忘了把它放在我的问题。但是你给了我一个可能是我的问题的线索,我选择了一个小程序,但是当我必须在另一个小程序中进行相互验证时。我会更新我的帖子。谢谢@owlstead谢谢@owlstead!我试图在一个错误的小程序上进行相互身份验证。
TRX --> 0082000028[seed enc mac ... bytes transformed]00
REC <-- 6A88
public CardTerminal getCardTerminal() throws Exception {
CardTerminal ct = null;
TerminalFactory terminalFactory = TerminalFactory.getDefault();
CardTerminals cardTerminals = terminalFactory.terminals();
// Searches for first card terminal available on the PC
if (cardTerminals.list().isEmpty() == false) {
ct = cardTerminals.list().get(0);
}
return ct;
}
public void test() throws Exception {
CardTerminal cardTerminal;
Card card;
MyManager instance;
cardTerminal = getCardTerminal();
instance = new DpiV2Manager();
card = cardTerminal.connect("T=1");
card = connect(cardTerminal);
card.beginExclusive();
CardChannel cardChannel = card.getBasicChannel();
// Inside this method I do the get challange, mutual auth, etc
instance.readGeneralData(cardChannel);
card.endExclusive();
card.disconnect(true);
}