标签: smartcard

winscard.dll热身

首先,我想明确指出我是一名java程序员,但现在我必须在Visual Studio 2010 Express中移动一段时间进行C#编程,以构建一个读写smardcard(sle4428)的程序.我有几个问题.

1)我在这个url中看到了一些关于winscard.dll api的文档,但是在函数的签名中,没有参数的数据类型,只有in或out.(Doh)存在一种解决我必须使用哪种类型的方法?

2)存在一些代码示例,说明如何初始化通信,而无需在"谷歌搜索代码"中搜索

3)客户向我提供了基本的VB代码,我可以构建一些可以在C#上下文中使用的东西吗?

Thnaks伙伴们帮忙!!!!

c# dll smartcard

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

我们是否需要在机器上安装根证书?

我正在使用智能卡来验证用户身份.我有一个身份验证服务(SecurityTokenService),它处理服务器上的身份验证逻辑.

我正在使用X509Certificate2.Verify()来验证证书.由于此API可以通过联机并联系证书颁发机构(CA)来检查证书是否有效/已撤销,我是否需要服务器上的根证书?

我们可以避免在本地计算机上拥有根证书吗?或根证书总是强制性的?

.net certificate smartcard x509certificate2

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

坏填充异常 - pkcs11中的RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING

我的应用程序正在访问e-Token以解密来自服务器的响应

来自服务器的会话密钥使用以下方式加密: -

RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING

我正在使用SunPKCS11 Provider来实现对加密令牌的访问.每当我尝试使用上述机制解密时,即使用RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING,我得到: -

**javax.crypto.BadPaddingException: doFinal() failed  
    at sun.security.pkcs11.P11RSACipher.implDoFinal(P11RSACipher.java:328)  
    at sun.security.pkcs11.P11RSACipher.engineDoFinal(P11RSACipher.java:353)  
    at javax.crypto.Cipher.doFinal(DashoA13*..)
Run Code Online (Sandbox Code Playgroud)

以下是我的代码: -

private static final String TRANSFORMATION = "RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING";
private static final String SECURITY_PROVIDER = "BC";
private static final String DIGEST_ALGORITHM = "SHA-256";
private static final String MASKING_FUNCTION = "MGF1";
Run Code Online (Sandbox Code Playgroud)

错误发生的代码片段如下: -

private byte[] decryptSecretKeyData(byte[] encryptedSecretKey, byte[] iv, PrivateKey privateKey) throws Exception {

        try {
            Cipher rsaCipher = Cipher.getInstance(TRANSFORMATION, SECURITY_PROVIDER);

            System.out.println("Cipher block initialized"); - **Printed**
            PSource pSrc = (new PSource.PSpecified(iv));
            System.out.println("PSource inisitialized"); …
Run Code Online (Sandbox Code Playgroud)

java encryption bouncycastle smartcard pkcs#11

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

Javacard集合

我一直在浏览JavaCard API和示例,找不到对更高级别数据集合(如List,ArrayList,HashMaps等)的任何引用?

我想念什么吗?

我知道JavaCard环境的资源非常有限,并且JVM必须尽可能小,但是缺少某种形式的易于使用的数据收集对象会使过程变得很手工。

smartcard javacard

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

如何将任何APDU命令从当前选定的applet传递到另一个applet?

问题:假设有一个Applet的多个实例.目前选择了一个Applet实例.是否可以将任何APDU命令从选定的Applet传递到另一个Applet实例?我在JavaCard API 3.0.4版中没有找到这样的方法.

详细信息:在研究文档"Expresspay Mobile Specifications v1.2"以实现"应用程序选择"服务时,我陷入了以下5.3.6节.由于该文件不是开源的,我引用了选择性部分:

"如果使用部分AID通过无接触界面选择Expresspay移动应用程序,则它应将SELECT命令和后续命令传递给激活的Expresspay移动应用程序实例(可能是也可能不是正在选择的应用程序)."

它声明我需要将SELECT命令从当前选定的applet传递到另一个applet(已激活!).但我没有在JavaCard API中找到任何可以将任何命令从一个applet传递到另一个applet的东西.我搜索在Oracle社区,发现这个没有回复!

编辑:假设applet A有三个实例A1,A2,A3.Applet A有一个可共享的标志对象 flag,包含AID为"active"实例,比如AID为A2.(假设flag可以预先初始化).当前选择实例A1.现在终端发送任何APDU命令,该命令将到达实例A1.A1将检查flag并找出flag包含A2的AID.因此,A1会将APDU命令传递给A2进行进一步处理.我的问题是A1实例如何向A2实例发送任何APDU命令?

apdu smartcard nfc javacard contactless-smartcard

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

在Linux中使用ACS ACR1252U USB NFC读卡器

我正在使用通过USB连接的ACS ACR1252U读卡器(http://www.acs.com.hk/en/products/342/acr1252u-usb-nfc-reader-iii-nfc-forum-certified-reader/)说实话,我不知道如何让它工作.我用谷歌搜索了很多东西,但没有运气.我正在使用Debian的变种.以下是我所做的或多或少:

我使用dmesg得到以下内容:

[ 7173.059710] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
[ 7173.160500] usb 1-1.3: not running at top speed; connect to a high speed hub
[ 7173.163114] usb 1-1.3: New USB device found, idVendor=072f, idProduct=223b
[ 7173.163147] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7173.163168] usb 1-1.3: Product: ACR1252 Dual Reader
[ 7173.163186] usb 1-1.3: Manufacturer: ACS
Run Code Online (Sandbox Code Playgroud)

我使用以下Python代码来获取有关设备的更多详细信息:

#!/usr/bin/python

import sys
import usb.core

# find USB devices
dev = usb.core.find(find_all=True) …
Run Code Online (Sandbox Code Playgroud)

python linux usb smartcard nfc

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

我应该使用哪个APDU命令取消当前执行的读取记录?

当主机向卡发送APDU命令(如读取命令)时,是否还有另一个命令,主机可以在执行第一个命令时发送该命令以取消先前(正在进行的)命令执行?

例如,这里Command_2被Command_3中断:

     Host        <--->        Card     
----------------------------------------------------------
 Command_1        --->             \
                                   | Processing Command_1
                 <---   Response_1 /

 Command_2        --->             \
                                   | Processing Command_2
                                   |
 Command_3        --->             x Processing interrupted
                 <---   Response_3 /

apdu smartcard javacard

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

pro.javacard.gp.GPException:严格警告:检测到未融合的JCOP

尝试使用以下命令列出智能卡的内容时

gp -l
Run Code Online (Sandbox Code Playgroud)

获得以下异常:

pro.javacard.gp.GPException: STRICT WARNING: Unfused JCOP detected
at pro.javacard.gp.GlobalPlatform.printStrictWarning(GlobalPlatform.java:184)
at pro.javacard.gp.GlobalPlatform.select(GlobalPlatform.java:213)
at pro.javacard.gp.GPTool.main(GPTool.java:334)
Run Code Online (Sandbox Code Playgroud)

搜索时,我知道该卡不是预先个性化的.我的问题是什么是智能卡预个性化?这种预先预先定位的人是谁?它是供应商吗?

smartcard javacard globalplatform jcop

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

存储在EMV芯片中的应用程序事务计数器用于ARQC生成的目的是什么?

EMV第2册:安全和密钥管理(第151页)中,有人说

"该计数器使密码(ARQC)具有唯一性,并为主机验证服务提供跟踪值,允许识别重放的交易和克隆卡."

如果发行人依赖ARQC的收单机构(终端发送会话UN的nonce)那么ATC的目的是什么?"允许重播交易"是什么意思?谁重播ARQC?

cryptography smartcard emv digital-signature replay

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

MTIP MP92测试1方案1-卡表示它不支持非接触式

我正在运行M-TIP MP92测试01方案01。测试的目的是:

“为了确保终端在卡指示不支持非接触式M / Chip时终止交易”。

我不明白的是,卡片是如何表明这一点的。我现在的终端正在处理“ 获取处理选项”步骤之后的步骤,这导致我的测试工具失败。到目前为止,我已经查看了卡和工具之间交换的数据,但我不知道这是什么。

    Select (2PAY.SYS.DDF01)
        Request : 00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
            Class    :00
            Ins      :A4
            P1       :04
            P2       :00
            Lc       :0E
            Data     :32 50 41 59 2E 53 59 53 2E 44 44 46 30 31
                Application: 2PAY.SYS.DDF01
            Le       :00
        Response: 6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 …
Run Code Online (Sandbox Code Playgroud)

testing smartcard emv mastercard

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