diff options
author | ian.mcgreer%sun.com <devnull@localhost> | 2002-03-07 22:08:00 +0000 |
---|---|---|
committer | ian.mcgreer%sun.com <devnull@localhost> | 2002-03-07 22:08:00 +0000 |
commit | e7d4e689046953ab217a510ecd0028b51fe6d186 (patch) | |
tree | ae1c5f370de4bac7d4e21e2bba483094ef8b1c12 /security/nss/lib/pki/certificate.c | |
parent | 2da4d94e4d2367ac88eb483d0e3ccee905f140e4 (diff) | |
download | nss-hg-e7d4e689046953ab217a510ecd0028b51fe6d186.tar.gz |
bug 129298, handle different nicknames across tokens
r=relyea/a=wtc
Diffstat (limited to 'security/nss/lib/pki/certificate.c')
-rw-r--r-- | security/nss/lib/pki/certificate.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/security/nss/lib/pki/certificate.c b/security/nss/lib/pki/certificate.c index a584456b1..f9dc9a7e3 100644 --- a/security/nss/lib/pki/certificate.c +++ b/security/nss/lib/pki/certificate.c @@ -92,6 +92,39 @@ NSSCertificate_Destroy return PR_SUCCESS; } +NSS_IMPLEMENT NSSUTF8 * +NSSCertificate_GetNickname +( + NSSCertificate *c, + NSSToken *tokenOpt +) +{ + NSSUTF8 *rvNick = NULL; + nssCryptokiInstance *instance; + nssListIterator *instances = c->object.instances; + if (c->object.cryptoContext) { + return c->object.tempName; + } + for (instance = (nssCryptokiInstance *)nssListIterator_Start(instances); + instance != (nssCryptokiInstance *)NULL; + instance = (nssCryptokiInstance *)nssListIterator_Next(instances)) + { + if (tokenOpt) { + if (instance->token == tokenOpt) { + /* take the nickname on the given token */ + rvNick = instance->label; + break; + } + } else { + /* take the first one */ + rvNick = instance->label; + break; + } + } + nssListIterator_Finish(instances); + return rvNick; +} + NSS_IMPLEMENT PRStatus NSSCertificate_DeleteStoredObject ( |