Ошибка HttpClient 403 при использовании действительного сертификата клиента

Я пытаюсь автоматизировать некоторые задачи на сайте с помощью Java. У меня есть действующий клиент для этого веб-сайта (работает при входе в систему с помощью Firefox), но я получаю сообщение об ошибке 403 при попытке войти через http-клиент. Обратите внимание, что я хочу, чтобы мой магазин доверия доверял чему-либо (я знаю, что это небезопасно, но на данный момент меня это не беспокоит).

Вот мой код:

    KeyStore keystore = getKeyStore();//Implemented somewhere else and working ok
    String password = "changeme";

    SSLContext context = SSLContext.getInstance("SSL");
    KeyManagerFactory kmfactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    kmfactory.init(keystore, password.toCharArray());
    context.init(kmfactory.getKeyManagers(), new TrustManager[] { new X509TrustManager() {
        @Override
        public void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1)
                throws CertificateException {
        }
        @Override
        public void checkServerTrusted(java.security.cert.X509Certificate[] arg0, String arg1)
                throws CertificateException {
        }

        @Override
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }
    } }, new SecureRandom());
    SSLSocketFactory sf = new SSLSocketFactory(context);

    Scheme httpsScheme = new Scheme("https", 443, sf);
    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(httpsScheme);
    ClientConnectionManager cm = new SingleClientConnManager(schemeRegistry);
    HttpClient client = new DefaultHttpClient(cm);

    HttpGet get = new HttpGet("https://theurl.com");
    HttpResponse response = client.execute(get);
    System.out.println(EntityUtils.toString(response.getEntity(), "UTF-8"));

Последний оператор выводит ошибку 403. Что мне здесь не хватает?

Ответы на вопрос(2)

Ваш ответ на вопрос