我使用Visual Studio 2013(C#)使用来自智能卡的证书对文档进行数字签名.我无法识别当前插入读卡器的证书:(
Windows复制插入读卡器中的所有卡的证书,并将其保存在商店中.我想在读卡器中使用卡片.
我使用的代码是
public static byte[] Sign(Stream inData, string certSubject)
{
// Access Personal (MY) certificate store of current user
X509Store my = new X509Store(StoreName.My, StoreLocation.CurrentUser);
my.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
// Find the certificate we'll use to sign
RSACryptoServiceProvider csp = null;
foreach (X509Certificate2 cert in my.Certificates)
{
if (cert.Subject.Contains(certSubject))
{
// We found it.
// Get its associated CSP and private key
if (cert.HasPrivateKey) {
csp = (RSACryptoServiceProvider)cert.PrivateKey;
if (csp.CspKeyContainerInfo.HardwareDevice)
Console.WriteLine("hardware");
Console.WriteLine(cert.ToString());
}
}
}
if (csp == …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人可以帮助我理解ISO 8583 Field 22POS输入模式之间的区别.我已经知道了:
52 指ICC卡80 在后退的情况下但我想知道的是两者之间的区别
22 (磁条)90谁可以帮我这个事?
我尝试通过C++访问SmartCard.我已经获得了Connection和CardHandle.
但是当我通过SCardTransmit发送APDU命令时,我将从卡中获得6E 00作为答案.无论我发送哪个APDU命令.每次6E 00.
例如:
当我发送带有PC/SC Testtootl的命令"PC/SC Diag"时,同样的事情.
有谁有想法这个错误代码的含义以及如何解决问题?
请帮我 !!!!;-)
有什么办法可以加载. 将java卡中的cap(转换小程序)设计成java,然后将小程序从该.cap(转换小程序)文件安装到智能卡中?
我有一个转换成小程序文件的 .cap 文件,我想在该 .cap 文件中安装小程序。
首先告诉我如何在java中加载.cap文件。
在 java 中,我使用javax.smartcardio包与智能卡和 apdu 命令进行交互,以与安装在智能卡中的小程序进行交互。
我在用:
我想制作带有字段 64 消息验证代码 (MAC) 的 ISO 消息。我想知道用什么来制作mac,没有字段64的ISO消息的二进制文件?或者 ISO 消息的二进制文件,在字段 64 上设置了注释,但位图末尾有一个 1,表明字段 64 中有内容?
使用HSM命令A0(生成密钥),我得到以下响应.
HEADA100U7D4213E0422F4E08E9455D9837E09FDDRA0072B1TX00S000073C35FF96F7A8C7D35D440CCBDA06FFED3AC7017F27B0A0E8896FFC971F0B9
HEAD (Message Header)
A1 (Response Code)
00 (Error Code)
U7D4213E0422F4E08E9455D9837E09FDD (Key under LMK)
RA0072B1TX00S000073C35FF96F7A8C7D35D440CCBDA06FFED3AC7017F27B0A0E8896FFC9 (Key under TMK - export tr31 key block)
71F0B9 (Key Check Value)
Run Code Online (Sandbox Code Playgroud)
我的问题是:
如何从tr31键块中提取密钥(在tmk下)?
有谁知道如何解码tr31键块?
我们正在从Thales 8000迁移到Thales Payshield 9000.我们在8000中生成了RSA密钥对(使用EI- 生成公钥/私钥对命令).我们将公钥存储在主机上,并将私钥加载到HSM的防篡改内存(使用EK- 加载私钥命令).
问题是我们没有保留私钥,我们不想创建新的密钥对,因为如果我们这样做,我们必须与供应商开始一个新的认证过程.是否存在将此密钥存储在智能卡上并转移到LMK等新版本的解决方案.
我阅读了Thales控制台 - 命令参考和程序员手册,但无法找到解决方案.
我不明白究竟是如何在C#socket.send发送数据(字节[]),我的意思是,他们说我需要发送0800(网络管理请求)回声测试,如何转换.我已经编程了一段时间,但我不明白说明.
谢谢
我无法在字节数组中的 128 以上的索引处写入数据。代码如下。
private void Write1(APDU apdu) throws ISOException
{
apdu.setIncomingAndReceive();
byte[] apduBuffer = apdu.getBuffer();
byte j = (byte)apduBuffer[4]; // Return incoming bytes lets take 160
Buffer1 = new byte[j]; // initialize a array with size 160
for (byte i=0; i<j; i++)
Buffer1[(byte)i] = (byte)apduBuffer[5+i];
}
Run Code Online (Sandbox Code Playgroud)
它给了我错误 6F 00(这意味着到达文件结尾)。
我在用: