[Pcsclite-cvs-commit] r360 - trunk/muscleTool

Karsten Ohme ohme-guest at costa.debian.org
Tue Nov 1 23:45:25 UTC 2005


Author: ohme-guest
Date: 2005-11-01 23:45:24 +0000 (Tue, 01 Nov 2005)
New Revision: 360

Modified:
   trunk/muscleTool/muscleTool.c
Log:
spelling corrections
new listing for keys and objects

Modified: trunk/muscleTool/muscleTool.c
===================================================================
--- trunk/muscleTool/muscleTool.c	2005-10-20 12:03:13 UTC (rev 359)
+++ trunk/muscleTool/muscleTool.c	2005-11-01 23:45:24 UTC (rev 360)
@@ -434,15 +434,23 @@
 	rv = MSCListObjects(pConnection, MSC_SEQUENCE_RESET, &objInfo);
 	CHECK_ERR((rv != MSC_SUCCESS && rv != MSC_SEQUENCE_END), "ListObjects Failed");
 
-	printf("%20s %12s %8s%8s %8s\n", "Object ID", "Object Size",
-		"READ", "WRITE", "DELETE");
-	printf("   -----------------  -----------    ------  ------  ------\n");
+	printf("%20s %12s\n", "Object ID", "Object Size");
+	printf("   -----------------  -----------\n");
 
 	if (rv == MSC_SUCCESS)
 	{
 		printf("%20s   %10ld  ", objInfo.objectID, objInfo.objectSize);
+		printf("\n");
+		printf("            READ\n");
+		printf("       ---------\n");
 		doPrintAUT(objInfo.objectACL.readPermission),
+		printf("\n");
+		printf("           WRITE\n");
+		printf(" ---------------\n");
 		doPrintAUT(objInfo.objectACL.writePermission),
+		printf("\n");
+		printf("          DELETE\n");
+		printf(" ---------------\n");
 		doPrintAUT(objInfo.objectACL.deletePermission);
 		printf("\n");
 	}
@@ -458,8 +466,17 @@
 		if (rv == MSC_SUCCESS)
 		{
 			printf("%20s   %10ld  ", objInfo.objectID, objInfo.objectSize);
+			printf("\n");
+			printf("            READ\n");
+			printf("       ---------\n");
 			doPrintAUT(objInfo.objectACL.readPermission),
+			printf("\n");
+			printf("           WRITE\n");
+			printf(" ---------------\n");
 			doPrintAUT(objInfo.objectACL.writePermission),
+			printf("\n");
+			printf("          DELETE\n");
+			printf(" ---------------\n");
 			doPrintAUT(objInfo.objectACL.deletePermission);
 			printf("\n");
 		}
@@ -597,52 +614,81 @@
 	}
 }
 
+/**
+ * Prints the key flags.
+ * \param flags The key flags.
+ */
+void doPrintKeyFlags(MSCUShort16 flags) {
+	if (flags & MSC_KEY_CARD_GENERATED)
+	{
+		printf("%s\n", "Key is generated on card.");
+		return;
+	}
+	else {
+		printf("%s%02X\n", "Unknown flag(s): ", flags);
+		return;
+	}
+}
 #endif
+
+/**
+ * Prints the need authentications
+ * \param aut The authentication mask.
+ */
 void doPrintAUT(MSCUShort16 aut)
 {
 	if (aut == MSC_AUT_NONE)
 	{
-		printf("%8s", "NEVER");
+		printf("%16s\n", "NEVER");
 		return;
 	}
 	else if (aut == MSC_AUT_ALL)
 	{
-		printf("%8s", "ALWAYS");
+		printf("%16s\n", "ALWAYS");
 		return;
 	}
 
 	if (aut & MSC_AUT_PIN_0)
-		printf("%8s", "PIN #0");
+		printf("%16s\n", "PIN #0");
 
 	if (aut & MSC_AUT_PIN_1)
-		printf("%8s", "PIN #1");
+		printf("%16s\n", "PIN #1");
 
 	if (aut & MSC_AUT_PIN_2)
-		printf("%8s", "PIN #2");
+		printf("%16s\n", "PIN #2");
 
 	if (aut & MSC_AUT_PIN_3)
-		printf("%8s", "PIN #3");
+		printf("%16s\n", "PIN #3");
 
 	if (aut & MSC_AUT_PIN_4)
-		printf("%8s", "PIN #4");
+		printf("%16s\n", "PIN #4");
 
+	if (aut & 0x0020)
+		printf("%16s\n", "PIN #5");
+
+	if (aut & 0x0040)
+		printf("%16s\n", "PIN #6");
+
+	if (aut & 0x0080)
+		printf("%16s\n", "PIN #7");
+
 	if (aut & MSC_AUT_KEY_0)
-		printf("%8s", "KEY #0");
+		printf("%16s\n", "KEY #0");
 
 	if (aut & MSC_AUT_KEY_1)
-		printf("%8s", "KEY #1");
+		printf("%16s\n", "KEY #1");
 
 	if (aut & MSC_AUT_KEY_2)
-		printf("%8s", "KEY #2");
+		printf("%16s\n", "KEY #2");
 
 	if (aut & MSC_AUT_KEY_3)
-		printf("%8s", "KEY #3");
+		printf("%16s\n", "KEY #3");
 
 	if (aut & MSC_AUT_KEY_4)
-		printf("%8s", "KEY #4");
+		printf("%16s\n", "KEY #4");
 
 	if (aut & MSC_AUT_KEY_5)
-		printf("%8s", "KEY #5");
+		printf("%16s\n", "KEY #5");
 }
 
 void doLoggedID(MSCULong32 aut)
@@ -695,7 +741,7 @@
 	CHECK_ERR(pConnection == 0, "Must Connect First !");
 
 	rv = MSCGetStatus(pConnection, &pStatusStruct);
-	CHECK_ERR(rv != MSC_SUCCESS, "GetStatus Failed !");
+	CHECK_ERR(rv != MSC_SUCCESS, "GetState Failed !");
 
 	printf(" Protocol Version: %d.%d\n", (pStatusStruct.appVersion>>8) & 0xFF, 
 		(pStatusStruct.appVersion & 0x00FF));
@@ -1541,7 +1587,7 @@
 		PRINT_SUPPORT(capability[MSC_SUPPORTED_FUNCTIONS_OFFSET_OBJECT_USE_AND_MANGEMENT] & MSC_SUPPORT_READOBJECT);
 		printf("MSCGetCapabilities       ");
 		PRINT_SUPPORT(capability[MSC_SUPPORTED_FUNCTIONS_OFFSET_STATUS] & MSC_SUPPORT_GETCAPABILITIES);
-		printf("MSCGetStatus             ");
+		printf("MSCGetState             ");
 		PRINT_SUPPORT(capability[MSC_SUPPORTED_FUNCTIONS_OFFSET_STATUS] & MSC_SUPPORT_GETSTATUS);
 #else
 	rv = MSCGetCapabilities(pConnection, MSC_TAG_SUPPORT_FUNCTIONS,
@@ -2752,10 +2798,8 @@
 
 	CHECK_ERR((rv != MSC_SEQUENCE_END && rv != MSC_SUCCESS), "ListKeys Failed !");
 
-	printf("%16s %8s %4s%8s%8s%8s\n", "Key Type", "Key Num",
-		"SIZE", "READ", "WRITE", "USE");
-	printf("%16s %8s %4s%8s%8s%8s\n", "---------------",
-		"-------", "----", "------", "------", "------");
+	printf("%16s %8s %5s\n", "Key Type", "Key Num", "SIZE");
+	printf("%16s %8s %5s\n", "---------------",	"-------", "----");
 
 	switch (keyInfo.keyType)
 	{
@@ -2801,9 +2845,24 @@
 
 	if (rv == MSC_SUCCESS)
 	{
-		printf("%9d %04d", keyInfo.keyNum, keyInfo.keySize);
+		printf("%9d  %04d\n", keyInfo.keyNum, keyInfo.keySize);
+#ifdef VERSION2
+		printf("\n");
+		printf("       Key Flags\n");
+		printf(" ---------------\n");
+		doPrintKeyFlags(keyInfo.keyFlags);
+#endif
+		printf("\n");
+		printf("            READ\n");
+		printf("          ------\n");
 		doPrintAUT(keyInfo.keyACL.readPermission);
+		printf("\n");
+		printf("           WRITE\n");
+		printf("          ------\n");
 		doPrintAUT(keyInfo.keyACL.writePermission);
+		printf("\n");
+		printf("             USE\n");
+		printf("          ------\n");
 		doPrintAUT(keyInfo.keyACL.usePermission);
 		printf("\n");
 #ifdef VERSION2
@@ -2829,7 +2888,8 @@
 		CHECK_ERR((rv != MSC_SEQUENCE_END && rv != MSC_SUCCESS), "ListKeys Failed !");
 		if (rv == MSC_SUCCESS)
 		{
-
+			printf("%16s %8s %5s\n", "Key Type", "Key Num", "SIZE");
+			printf("%16s %8s %5s\n", "---------------",	"-------", "----");
 			switch (keyInfo.keyType)
 			{
 				case MSC_KEY_DSA_PUBLIC:
@@ -2872,9 +2932,24 @@
 #endif
 			}
 
-			printf("%9d %04d", keyInfo.keyNum, keyInfo.keySize);
+			printf("%9d  %04d\n", keyInfo.keyNum, keyInfo.keySize);
+#ifdef VERSION2
+			printf("\n");
+			printf("       Key Flags\n");
+			printf("       ---------\n");
+			doPrintKeyFlags(keyInfo.keyFlags);
+#endif
+			printf("\n");
+			printf("            READ\n");
+			printf("          ------\n");
 			doPrintAUT(keyInfo.keyACL.readPermission);
+			printf("\n");
+			printf("           WRITE\n");
+			printf("          ------\n");
 			doPrintAUT(keyInfo.keyACL.writePermission);
+			printf("\n");
+			printf("             USE\n");
+			printf("          ------\n");
 			doPrintAUT(keyInfo.keyACL.usePermission);
 			printf("\n");
 #ifdef VERSION2
@@ -2996,7 +3071,7 @@
 	keyACL.usePermission = (MSCUShort16)useACL;
 
 	rv = MSCImportKey(pConnection, (MSCUChar8) keyNumber,
-		&keyACL, objectData, dataSize, &keyPolicy, 0, 0);
+		&keyACL, objectData, dataSize, &keyPolicy, 0, 0, 0);
 
 	CHECK_ERR(rv != MSC_SUCCESS, "ImportKey Failed !");
 
@@ -3065,11 +3140,13 @@
 
 #ifdef VERSION2
 	keyParams.privateKeyPolicy.cipherDirection = MSC_KEYPOLICY_DIR_ANY;
-	keyParams.privateKeyPolicy.cipherCipherMode= MSC_KEYPOLICY_MODE_CIPHER_ANY;
-	keyParams.privateKeyPolicy.cipherSignatureMode= MSC_KEYPOLICY_MODE_SIGNATURE_ANY;
+	keyParams.privateKeyPolicy.cipherCipherMode = MSC_KEYPOLICY_MODE_CIPHER_ANY;
+	keyParams.privateKeyPolicy.cipherSignatureMode = MSC_KEYPOLICY_MODE_SIGNATURE_ANY;
 	keyParams.publicKeyPolicy.cipherDirection = MSC_KEYPOLICY_DIR_ANY;
-	keyParams.publicKeyPolicy.cipherCipherMode= MSC_KEYPOLICY_MODE_CIPHER_ANY;
-	keyParams.publicKeyPolicy.cipherSignatureMode= MSC_KEYPOLICY_MODE_SIGNATURE_ANY;
+	keyParams.publicKeyPolicy.cipherCipherMode = MSC_KEYPOLICY_MODE_CIPHER_ANY;
+	keyParams.publicKeyPolicy.cipherSignatureMode = MSC_KEYPOLICY_MODE_SIGNATURE_ANY;
+	keyParams.privateKeyFlags = 0;
+	keyParams.publicKeyFlags = 0;
 #else
 	keyParams.privateKeyPolicy.cipherDirection = 0xFFFF;
 	keyParams.privateKeyPolicy.cipherMode= 0xFFFF;
@@ -3109,11 +3186,11 @@
 		if (rv == 0)
 			goto abort;
 
-		rv = getNumberValue("Enter the ACL for using the public key\nExample: 0xFFFF for all users", "Enter ACL mask", &pubUseACL);
+		rv = getNumberValue("Enter the ACL for using the public key\nExample: 0x0000 for all users", "Enter ACL mask", &pubUseACL);
 		if (rv == 0)
 			goto abort;
 
-		rv = getNumberValue("Enter the ACL for reading the private key\nExample: 0x0000 for nobody", "Enter ACL mask", &prvReadACL);
+		rv = getNumberValue("Enter the ACL for reading the private key\nExample: 0xFFFF for nobody", "Enter ACL mask", &prvReadACL);
 		if (rv == 0)
 			goto abort;
 




More information about the Pcsclite-cvs-commit mailing list