PORT_Assert(slot);
SEC_DeletePermCRL(CERTSignedCrl *crl){#ifdef NSS_CLASSIC    PK11SlotInfo *slot = crl->slot;    CK_RV crv;    if (slot == NULL) {	/* shouldn't happen */	PORT_SetError( SEC_ERROR_CRL_INVALID);	return SECFailure;    }    crv = PK11_DestroyTokenObject(slot,crl->pkcs11ID);    if (crv != CKR_OK) {        PORT_SetError( PK11_MapError(crv) );	return SECFailure;    }    crl->slot = NULL;    PK11_FreeSlot(slot);    return SECSuccess;#else    PRStatus status;    NSSToken *token;    nssCryptokiObject *object;    PK11SlotInfo *slot = crl->slot;    if (slot == NULL) {	/* shouldn't happen */	PORT_SetError( SEC_ERROR_CRL_INVALID);	return SECFailure;    }    token = PK11Slot_GetNSSToken(slot);    object = nss_ZNEW(NULL, nssCryptokiObject);    object->token = nssToken_AddRef(token);    object->handle = crl->pkcs11ID;    object->isTokenObject = PR_TRUE;    status = nssToken_DeleteStoredObject(object);    nssCryptokiObject_Destroy(object);    return (status == PR_SUCCESS) ? SECSuccess : SECFailure;#endif}