[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