cat.debug("POPO verification succesful");
log.debug("POPO verification successful");
    public byte[] nsCertRequest(ISignSessionRemote signsession, byte[] reqBytes, String username, String password)        throws Exception {            byte[] buffer = Base64.decode(reqBytes);            DERInputStream  in = new DERInputStream(new ByteArrayInputStream(buffer));            DERConstructedSequence spkac = (DERConstructedSequence)in.readObject();            NetscapeCertRequest nscr = new NetscapeCertRequest (spkac);            // Verify POPO, we don't care about the challenge, it's not important.            nscr.setChallenge("challenge");            if (nscr.verify("challenge") == false)                throw new SignRequestSignatureException("Invalid signature in NetscapeCertRequest, popo-verification failed.");            cat.debug("POPO verification succesful");            X509Certificate cert = (X509Certificate) signsession.createCertificate(administrator, username, password, nscr.getPublicKey());            //Certificate[] chain = ss.getCertificateChain();            byte[] pkcs7 = signsession.createPKCS7(administrator, cert);            cat.debug("Created certificate (PKCS7) for "+ username);            debug.print("<h4>Generated certificate:</h4>");            debug.printInsertLineBreaks(cert.toString().getBytes());            return pkcs7;    } //nsCertRequest