Hello, I discovered that I cannot use an ISO Latin1 character in the tokenUid name returned by OpenSCToken::probe(SecTokendProbeFlags flags, char tokenUid[TOKEND_MAX_UID]). The token is not displayed in the KeyChain application.
Since this tokenUid value is not displayed I just replaced the offending character by '?'. Maybe UTF-8 characters would be accepted. The patch is attached. Comments? -- Dr. Ludovic Rousseau
Index: OpenSCToken.cpp =================================================================== --- OpenSCToken.cpp (revision 91) +++ OpenSCToken.cpp (working copy) @@ -296,6 +296,16 @@ uint32 OpenSCToken::probe(SecTokendProbe strncpy(tokenUid + strlen(tokenUid), mScP15Card->serial_number, TOKEND_MAX_UID - strlen(tokenUid) - 1); + { + /* replace non ASCII chars by '?' */ + int i; + unsigned char *c = (unsigned char *)tokenUid; + + for (i=0; tokenUid[i]; i++) + if (c[i] > 127) + tokenUid[i] = '?'; + } + otdLog(" score = %d, tokenUid = \"%s\"\n", score, tokenUid); } }
_______________________________________________ opensc-devel mailing list opensc-devel@lists.opensc-project.org http://www.opensc-project.org/mailman/listinfo/opensc-devel