标签: smartcard

从pkcs#11令牌或智能卡访问证书和私钥

我在C#4中创建一个必须签署XML文件的应用程序.我没有遇到什么大问题,直到我遇到这个问题:访问智能卡/令牌以获取其证书和私钥.
什么都没有开箱即用,只需获得证书和密钥,基于密码.

没有任何付费框架,有谁知道如何做到这一点?

c# smartcard pkcs#11 c#-4.0

2
推荐指数
1
解决办法
5894
查看次数

如何让Android手机充当非接触式智能卡?

我想知道如何让Android手机充当非接触式卡,将某些数据传输到POS.是否有任何特定的意图我们应该尝试捕捉以及如何通过NFC与永恒的POS进行通信.

android smartcard nfc

2
推荐指数
1
解决办法
6784
查看次数

谜团:4个字节应该代表一个日期,但是如何?

所以我已经能够从官方的德国智能卡中读取一些不安全的值.它适用于Numbers和Strings,但我无法理解如何解释Dates.

我想要阅读的日期指定为4字节日期,如规范中所示:http://imgur.com/3jU8k

我读的四个字节是:

0x4f 0x41 0x8d 0x00 (hex)
0100 1111 0100 0001 1000 1101 0000 0000 (binary)
Run Code Online (Sandbox Code Playgroud)

并应代表此日期:20.02.2012二进制:

20 - 0001 0100
02 - 0000 0010
2012 - 0111 1101 1100
Run Code Online (Sandbox Code Playgroud)

另一个:

0x58 0xAA 0x31 0x7f (hex)
0101 1000 1010 1010 0011 0001 0111 1111 (binary)
Run Code Online (Sandbox Code Playgroud)

应代表:19.02.2017

19 - 0001 0011
02 - 0010
2017 - 0111 1110 0001
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个编码谜语


来自卡的数据可以通过商业软件读取,因此我猜我得到的原始数据可以以任何方式使用.

对于感兴趣的:供应商有一个非常庞大的规格,我已经搜索了很多次(http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32002R1360:DE:NOT多个可用语言)卡的结构首先在第119页提到

c# smartcard winscard

2
推荐指数
1
解决办法
831
查看次数

如何读取金雅拓智能卡的序列号?

我有智能卡和读卡器(金雅拓).我想用C#读取卡的序列号.我在金雅拓支持网站上阅读了文档/图书馆,但没有任何信息对我有用.

我希望有人对金雅拓有所帮助我帮助我一些例子!

非常感谢 !

c# smartcard smartcard-reader gemalto

2
推荐指数
1
解决办法
6679
查看次数

编码APDU命令以验证PIN时出现问题

我正在尝试使用javax.smartcardioAPI 发送VERIFY(引脚)命令。我的密码是12345678。

根据我在网上发现的一些示例,我尝试使用此APDU:

00 20 00 83 08 01 02 03 04 05 06 07 08
Run Code Online (Sandbox Code Playgroud)

但结果是: 69 84 (reference data invalid)

我也尝试过:

00 20 00 83 08 12 34 56 78
Run Code Online (Sandbox Code Playgroud)

但是我仍然遇到同样的错误。

根据我的SmartCart规范,该卡支持:

  • ISO 7816智能卡A,B和C(5 V,3 V,1.8 V)
  • 与通讯协议T = 0,T = 1兼容
  • 支持PPS(协议和参数选择)

我有点绝望,因为我找不到出路。您能建议我对APDU进行一些更改,甚至是完全不同的方法(与我的智能卡连接的另一个库或语言)吗?

apdu smartcard

2
推荐指数
1
解决办法
7765
查看次数

EMV静态数据认证

在EMV book v4.3 2第49页中说明

如果上述所有步骤都成功执行,则SDA成功完成.表7中恢复的数据认证码应存储在标签'9F45'中.

如何存储在标签9F45中恢复的数据验证代码

到目前为止,我陷入了这个阶段,我唯一提出的是我必须发出PUT DATA命令APDU.

任何帮助将不胜感激

authentication apdu smartcard emv mastercard

2
推荐指数
1
解决办法
1070
查看次数

javax.smartcardio case 4 APDU消失 - 6700响应 - 警告

使用javax.smartcardio类进行智能卡编程,我遇到了持久性错误 - 当代码看起来很好时,从卡中获取6700(无效长度)和类似的错误代码.示例代码:

    req = new CommandAPDU(0x00, 0xA4, 0x04, 0x00, aid, 0x00);
Run Code Online (Sandbox Code Playgroud)

这应该构造一个案例4 APDU.为什么卡片会像我丢失的东西一样回应?

java apdu smartcard

2
推荐指数
1
解决办法
702
查看次数

SmartCardIO EMV阅读器,找到我的卡类型,只有ATR号码

我正在开始一个新项目,我是新用的EMV阅读器和Javax SmartCardIO.

我有每种类型的卡的RID列表,但是我唯一可以在不知道卡类型的情况下访问的是ATR,我想知道是否有办法获得RID或卡类型只有这个信息,欢迎任何帮助.

提前致谢!

编辑:

我尝试使用此方法执行select PSE命令:

public static byte[] selectPSE(CardChannel channel) throws CardException {
    byte[] selectPSE = {(byte)0x00, (byte)0xA4, (byte)0x04, (byte)0x00, (byte)0x0E, (byte)0x31, (byte)0x50, (byte)0x41, (byte)0x59, (byte)0x2E, (byte)0x53, (byte)0x59, (byte)0x53, (byte)0x2E, (byte)0x44, (byte)0x44, (byte)0x46, (byte)0x30, (byte)0x31};
    CommandAPDU command = new CommandAPDU(selectPSE);
    ResponseAPDU response = channel.transmit(command);
    System.out.println(response.getBytes());
    return response.getBytes();
}
Run Code Online (Sandbox Code Playgroud)

但是,它只与AMEX和Visa合作,我得到了两张万事达卡(信用卡和借记卡)的错误6a82.

这看起来很奇怪,据我所知,所有主要的发卡机构(包括万事达卡)都使用1PAY.SYS.DDF01,我可以通过试用和错误的AID得到我想要的信息,但我不认为这是最好的解.

java smartcard emv

2
推荐指数
2
解决办法
1053
查看次数

ATR智能卡,更改ATR,添加

有什么方法可以更改智能卡上的ATR?卡片NXP JCOP J2A40

ATR需要更改或添加才能与硬件卡一起正常使用

smartcard

2
推荐指数
1
解决办法
870
查看次数

SCardCreateContext内存泄漏

在某些Windows安装中,我们突然遇到了智能卡api的问题。调用SCardEstablishContext函数时似乎有内存泄漏。可以在控制台应用程序中重现该问题,其代码示例位于 http://www.pinvoke.net/default.aspx/winscard.scard建立上下文

class Program
{
    #region Win32
    // WinSCard APIs to be imported.
    [DllImport("WinScard.dll")]
    static extern int SCardEstablishContext(uint dwScope,
        IntPtr notUsed1,
        IntPtr notUsed2,
        out IntPtr phContext);

    [DllImport("WinScard.dll")]
    static extern int SCardReleaseContext(IntPtr phContext);

    [DllImport("WinScard.dll")]
    static extern int SCardConnect(IntPtr hContext,
        string cReaderName,
        uint dwShareMode,
        uint dwPrefProtocol,
        ref IntPtr phCard,
        ref IntPtr ActiveProtocol);

    [DllImport("WinScard.dll")]
    static extern int SCardDisconnect(IntPtr hCard, int Disposition);

    [DllImport("WinScard.dll", EntryPoint = "SCardListReadersA", CharSet = CharSet.Ansi)]
    static extern int SCardListReaders(
      IntPtr hContext,
      byte[] mszGroups,
      byte[] mszReaders,
      ref UInt32 pcchReaders);
    #endregion

    static …
Run Code Online (Sandbox Code Playgroud)

c# memory-leaks smartcard native-code winscard

2
推荐指数
1
解决办法
1057
查看次数