Cloudant + Acralyser — ReportSenderException, SSLPeerUnverifiedException

Пытались заставить Acralyser работать с Cloudant.

  1. Реплицировал экземпляры CouchDB ACRA в свою облачную учетную запись. Думаю, это работает, так как я вижу обе свои базы данных в своей облачной учетной записи.
  2. Создал пользователя записи (репортер) и сгенерировал ключ API для пользователя.
  3. На стороне приложения я добавил следующую аннотацию.

    @ReportsCrashes(formKey = "", formUri = "http://[my-cloudant]/[my-db]/_design/acra-storage/_update/report", reportType = HttpSender.Type.JSON, httpMethod = HttpSender. Method.PUT, formUriBasicAuthLogin = "[мой-пользователь-репортера]", formUriBasicAuthPassword = "[мой-пароль-репортера]", mode = ReportingInteractionMode.TOAST)

В formUri, если я использую «http», похоже, что запрос ACRA к cloudant прошел без проблем. Однако я ничего не вижу на странице отчетов.

URL отчета: https://[my-cloudant]/acralyzer/_design/acralyzer/index.html#/dashboard/

В formURI, если я использую «https», я получаю следующую ошибку ACRA:

org.acra.sender.ReportSenderException: Error while sending JSON report via Http PUT
            at org.acra.sender.HttpSender.send(HttpSender.java:228)
            at org.acra.SendWorker.sendCrashReport(SendWorker.java:179)
            at org.acra.SendWorker.checkAndSendReports(SendWorker.java:141)
            at org.acra.SendWorker.run(SendWorker.java:77)
     Caused by: javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
            at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:137)

Я тестирую вышеперечисленное с помощью эмулятора, а также с устройством Samsung S2 (с рутом).

Рады предоставить дополнительную информацию, если это необходимо.


person Prasanna    schedule 09.01.2014    source источник
comment
Можете ли вы подтвердить URL-адрес, на который вы указываете PUTting?   -  person Will Holley    schedule 09.01.2014
comment
Я попробовал PUT по тому же URL-адресу, используя HTTP-клиент на основе браузера. И получаю ответ. Хотя ответ не 200 или 201, я думаю, что URL-адрес был нормальным.   -  person Prasanna    schedule 10.01.2014
comment
Можете ли вы подтвердить, что на устройстве установлен корневой сертификат DigiCert High Assurance EV Root CA? Вы должны иметь возможность сделать это в пользовательском интерфейсе через настройки/безопасность.   -  person Will Holley    schedule 10.01.2014


Ответы (1)


Вы пробовали использовать POST вместо PUT? Кроме того, у вас может уже быть это, но перед базами данных acra должно стоять ключевое слово 'acra'. Так, например, если имя вашей базы данных my-database, то это неверно; это должно быть acra-my-database.

Пожалуйста, ознакомьтесь с документацией здесь::

https://github.com/ACRA/acralyzer/wiki/setup

а также если настроить вручную::

https://github.com/ACRA/acralyzer/wiki/manual-setup

Не могу сказать, есть ли это уже в вашем URL-адресе, так как вы используете [my-db]

person Fayez    schedule 22.09.2014