[Pcsclite-cvs-commit] r1715 - trunk/Drivers/ccid/examples

Ludovic Rousseau rousseau at costa.debian.org
Wed Nov 16 09:14:18 UTC 2005


Author: rousseau
Date: 2005-11-16 09:14:17 +0000 (Wed, 16 Nov 2005)
New Revision: 1715

Modified:
   trunk/Drivers/ccid/examples/scardcontrol.c
Log:
add a modify PIN dump command


Modified: trunk/Drivers/ccid/examples/scardcontrol.c
===================================================================
--- trunk/Drivers/ccid/examples/scardcontrol.c	2005-11-16 09:12:09 UTC (rev 1714)
+++ trunk/Drivers/ccid/examples/scardcontrol.c	2005-11-16 09:14:17 UTC (rev 1715)
@@ -496,6 +496,43 @@
 			printf("keyboard sent: %s", in);
 		}
 	}
+
+	/* modify PIN dump */
+	printf("\nmodify PIN dump: ");
+	send_length = 5;
+	memcpy(bSendBuffer, "\x00\x40\x00\x00\xFF",
+		send_length);
+	for (i=0; i<send_length; i++)
+		printf(" %02X", bSendBuffer[i]);
+	printf("\n");
+	length = sizeof(bRecvBuffer);
+	rv = SCardTransmit(hCard, &pioSendPci, bSendBuffer, send_length,
+		&pioRecvPci, bRecvBuffer, &length);
+	printf(" card response:");
+	for (i=0; i<length; i++)
+		printf(" %02X", bRecvBuffer[i]);
+	printf("\n");
+	PCSC_ERROR_EXIT(rv, "SCardTransmit")
+
+	if ((2 == length) && (0x6C == bRecvBuffer[0]))
+	{
+		printf("\nverify PIN dump: ");
+		send_length = 5;
+		memcpy(bSendBuffer, "\x00\x40\x00\x00\xFF",
+			send_length);
+		bSendBuffer[4] = bRecvBuffer[1];
+		for (i=0; i<send_length; i++)
+			printf(" %02X", bSendBuffer[i]);
+		printf("\n");
+		length = sizeof(bRecvBuffer);
+		rv = SCardTransmit(hCard, &pioSendPci, bSendBuffer, send_length,
+			&pioRecvPci, bRecvBuffer, &length);
+		printf(" card response:");
+		for (i=0; i<length; i++)
+			printf(" %02X", bRecvBuffer[i]);
+		printf("\n");
+		PCSC_ERROR_EXIT(rv, "SCardTransmit")
+	}
 #endif
 
 	/* card disconnect */




More information about the Pcsclite-cvs-commit mailing list