cat.info("IV length ="+ivoct.length);
log.info("IV length ="+ivoct.length);
    private static AlgorithmParameterSpec getIv(String alg, DEREncodable tmp)        throws CMSException    {        // get 3des parameter spec        cat.debug("alg="+alg);        if(alg.equals(SMIMECapability.dES_CBC.getId())) {            ASN1OctetString iv = (ASN1OctetString)tmp;            byte[] ivoct = iv.getOctets();            cat.info("IV length ="+ivoct.length);            return new IvParameterSpec( ivoct );        } else if(alg.equals(PKCSObjectIdentifiers.des_EDE3_CBC.getId())) {            ASN1OctetString iv = (ASN1OctetString)tmp;            return new IvParameterSpec( iv.getOctets() );        }        // get rc2 parameter spec        else if(alg.equals(PKCSObjectIdentifiers.RC2_CBC.getId())) {            // retrieve key parameter version and spec bytes            //TODO:        }        else        {            throw new CMSException("Invalid cipher algorithm");        }        return null;    }