Android 2,2 и 2,3 PDF скачать через HTTPS выглядит сломанным

Я схожу с ума о PDF загрузки на мобильные устройства. Вот следующий безумие, наблюдаемое на Android 2.2 и 2.3. Я не мог воспроизвести эту проблему на iPhone или других устройствах, ни в Firefox, ни в других настольных браузерах.

Я загрузка PDF через HTTP и она работает просто отлично. Затем я загружаю тот же PDF-файл через HTTPS, и загрузка не заканчивается (и файл теряется):

Я использую эти HTTP-заголовки (и другие, которые не имеют отношения здесь):

Content-Disposition: attachment; filename="abc.pdf"
Content-Type: application/pdf

ИзменениеContent-Disposition вinline или удалить его полностью не помогает. УдалениеContent-Type будут результаты в отображении необработанных двоичных данных в окне браузера.

Примечание: Я уже обнаружил,проблема, связанная с ненадежных сертификатов SSL, Но это, кажется, не единственная проблема. Так что я действительно ищет еще одного объяснения.

Любые идеи приветствуются!

 Lukas Eder19 июл. 2012 г., 10:40
@ BojanaPopovska: К сожалению, я мало что слышал в отношении исправления двух билетов, которые я упомянул в своем ответе. Вы можете добавить свои комментарии, возможно, с указанием воспроизведения, и надеяться на лучшее!
 Bojana Popovska19 июл. 2012 г., 10:39
Любая дополнительная информация по этому вопросу? У меня точно такая же проблема при загрузке PDF-файла через HTTPS, и это проявляется только в браузерах, использующих менеджер загрузок Android (собственный браузер, браузер Dolphin). Я пробовал различные типы контента, включая aplication / octet-stream и aplication / pdf.
 Lukas Eder08 мар. 2012 г., 11:05
Я упомянул в ответ, что сертификат не является доверенным. Но это не должно иметь значения: а) пользователь может явно принять ненадежные сертификаты и б) это не должно влиять на загрузку
 ggonsalv08 мар. 2012 г., 06:15
Сертификат является доверенным, если подписчик является доверенным. Являются ли доверенные корневые authorizers о доверяют: Сертификат устройства?

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

так как у меня нет HTTPS-сервера, работающего в любом удобном месте, но отправкаContent-Type: application/octet-stream с заголовками никакой разницы?

Очевидно, исходя из ситуации и требований, это не может быть вариантом. Кроме того, попробуйте с действительным сертификатом SSL!

 Lukas Eder08 мар. 2012 г., 10:55
Привет. Как я уже говорил, действительность SSL-сертификата не является единственной проблемой. И я пробовал все видыContent-Type, В том числе и тот, который вы упомянули

порядок загрузки цепочек также важен для менеджера загрузки Android.

Чтобы убедиться, что промежуточные сертификаты находятся в правильном порядке, вы можете выполнить следующую команду:

openssl s_client -connect www.google.ch:443 -showcerts | grep ":/[C1]"

Это должно возвращать хорошо упорядоченную цепочку, такие как:

0) subject: server
   issuer:  ca1
1) subject: ca1
   issuer:  ca2
2) subject: ca2
   issuer:  ca3

И не что-то вроде этого:

0) subject: server
   issuer:  ca1
1) subject: ca2
   issuer:  ca3
2) subject: ca1
   issuer:  ca2
Решение Вопроса

после некоторого усердного изучения, в коде Google есть древнее сообщение об ошибке с множеством разочарованных комментариев разработчиков ... Вот две открытые проблемы, связанные с этой проблемой:

http://code.google.com/p/android/issues/detail?id=3492http://code.google.com/p/android/issues/detail?id=5851

Кажется, что загрузка PDF-файлов с использованием SSL с ненадежными сертификатами (что имеет место в моей тестовой среде) не работает точно с симптомами, которые я упомянул

Обновить: Это толькоодин проблема. Но это, кажется, не только один

ОбновитьНа самом деле, вот некоторая авторитетная информация по этому вопросу, показывающая, что в то время,Content-Disposition была плохо реализованаи конкретизированы, Которая объясняет многие проблемы, возникающие при осуществлении загрузки через HTTP:

http://greenbytes.de/tech/tc2231

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