diff options
author | relyea%netscape.com <devnull@localhost> | 2002-06-13 21:43:30 +0000 |
---|---|---|
committer | relyea%netscape.com <devnull@localhost> | 2002-06-13 21:43:30 +0000 |
commit | c251d2b34c3561f9cdf008df0168a0c8a3e612a1 (patch) | |
tree | 2bc8167bbd20536d094f116415ca33674667b5e5 | |
parent | 07b0cd78d7bca366bcc63a209575c10c69a92e72 (diff) | |
download | nss-hg-c251d2b34c3561f9cdf008df0168a0c8a3e612a1.tar.gz |
Update cert handle on token insertion/removal.
-rw-r--r-- | security/nss/lib/pk11wrap/pk11cert.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/security/nss/lib/pk11wrap/pk11cert.c b/security/nss/lib/pk11wrap/pk11cert.c index ae0629d49..18b881746 100644 --- a/security/nss/lib/pk11wrap/pk11cert.c +++ b/security/nss/lib/pk11wrap/pk11cert.c @@ -585,6 +585,7 @@ PK11_MakeCertFromHandle(PK11SlotInfo *slot,CK_OBJECT_HANDLE certID, cert->slot = PK11_ReferenceSlot(slot); cert->pkcs11ID = certID; cert->ownSlot = PR_TRUE; + cert->series = slot->series; } trust = (CERTCertTrust*)PORT_ArenaAlloc(cert->arena, sizeof(CERTCertTrust)); @@ -1667,6 +1668,7 @@ PK11_ImportCert(PK11SlotInfo *slot, CERTCertificate *cert, cert->dbhandle = STAN_GetDefaultTrustDomain(); if (cert->slot == NULL) { cert->slot = PK11_ReferenceSlot(slot); + cert->series = slot->series; cert->ownSlot = PR_TRUE; if (cert->nssCertificate) { nssCryptokiInstance *instance; @@ -1787,9 +1789,11 @@ pk11_getcerthandle(PK11SlotInfo *slot, CERTCertificate *cert, if (cert->slot == slot) { certh = cert->pkcs11ID; - if (certh == CK_INVALID_HANDLE) { + if ((certh == CK_INVALID_HANDLE) || + (cert->series != slot->series)) { certh = pk11_FindObjectByTemplate(slot,theTemplate,tsize); cert->pkcs11ID = certh; + cert->series = slot->series; } } else { certh = pk11_FindObjectByTemplate(slot,theTemplate,tsize); @@ -2411,6 +2415,7 @@ PK11_FindObjectForCert(CERTCertificate *cert, void *wincx, PK11SlotInfo **pSlot) cert->slot = PK11_ReferenceSlot(*pSlot); cert->pkcs11ID = certHandle; cert->ownSlot = PR_TRUE; + cert->series = cert->slot->series; } } |