X509Certificate orgCert = null;
    private void processUser(UserDataVO data, boolean createJKS, boolean createPEM,                             boolean keyrecoverflag) throws Exception {        KeyPair rsaKeys = null;        if (usekeyrecovery && keyrecoverflag) {            // Recover Keys            IKeyRecoverySessionRemote keyrecoverysession = keyrecoveryhome.create();            KeyRecoveryData recoveryData = keyrecoverysession.keyRecovery(administrator, data.getUsername());            if (recoveryData != null) {                rsaKeys = recoveryData.getKeyPair();            } else {                throw new Exception("No Key Recovery Data available for user, " + data.getUsername() + " can not be generated.");            }        } else {            rsaKeys = KeyTools.genKeys(1024);        }        // Get certificate for user and create P12        if (rsaKeys != null) {            createUser(data.getUsername(), data.getPassword(), data.getCAId(), rsaKeys, createJKS, createPEM, data.getKeyRecoverable());        }    } //processUser