rv = SEC_ASN1DecodeItem(pki->arena, pki, SECKEY_PrivateKeyInfoTemplate,
rv = SEC_QuickDERDecodeItem(pki->arena, pki, SECKEY_PrivateKeyInfoTemplate,
PK11_ImportDERPrivateKeyInfoAndReturnKey(PK11SlotInfo *slot, SECItem *derPKI, 	SECItem *nickname, SECItem *publicValue, PRBool isPerm, 	PRBool isPrivate, unsigned int keyUsage, SECKEYPrivateKey** privk,	void *wincx) {    SECKEYPrivateKeyInfo *pki = NULL;    PRArenaPool *temparena = NULL;    SECStatus rv = SECFailure;    temparena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE);    pki = PORT_ArenaZNew(temparena, SECKEYPrivateKeyInfo);    pki->arena = temparena;    rv = SEC_ASN1DecodeItem(pki->arena, pki, SECKEY_PrivateKeyInfoTemplate,		derPKI);    if( rv != SECSuccess ) {	goto finish;    }    rv = PK11_ImportPrivateKeyInfoAndReturnKey(slot, pki, nickname,		publicValue, isPerm, isPrivate, keyUsage, privk, wincx);finish:    if( pki != NULL ) {	/* this zeroes the key and frees the arena */	SECKEY_DestroyPrivateKeyInfo(pki, PR_TRUE /*freeit*/);    }    return rv;}