info.env = env; info.vector = certVector; info.type = CERT_OBJECT;  if( PK11_TraverseCertsInSlot(slot, certTraversalCallback, (void*)&info) != SECSuccess) { if( ! (*env)->ExceptionOccurred(env) ) { JSS_throwMsg(env, TOKEN_EXCEPTION, "PK11_TraverseSlot returned an error"); }
certList = PK11_ListCertsInSlot(slot); if( certList == NULL ) { JSS_throwMsg(env, TOKEN_EXCEPTION, "PK11_ListCertsInSlot " "returned an error");
Java_org_mozilla_jss_pkcs11_PK11Store_putCertsInVector    (JNIEnv *env, jobject this, jobject certVector){    PK11SlotInfo *slot;    TraversalCallbackInfo info;    PR_ASSERT(env!=NULL && this!=NULL && certVector!=NULL);    if( JSS_PK11_getStoreSlotPtr(env, this, &slot) != PR_SUCCESS) {        ASSERT_OUTOFMEM(env);        goto finish;    }    PR_ASSERT(slot!=NULL);    /*     * log in if the slot does not have publicly readable certs     */    if( !PK11_IsFriendly(slot) ) {        PK11_Authenticate(slot, PR_TRUE /*load certs*/, NULL /*wincx*/);    }    info.env = env;    info.vector = certVector;    info.type = CERT_OBJECT;    if( PK11_TraverseCertsInSlot(slot,                                 certTraversalCallback,                                 (void*)&info) != SECSuccess)    {        if( ! (*env)->ExceptionOccurred(env) ) {            JSS_throwMsg(env, TOKEN_EXCEPTION,                "PK11_TraverseSlot returned an error");        }        goto finish;    }finish:    return;}