1
我們有一個tomcat webapp自簽名認證。當用戶點擊幫助按鈕然後下載pdf,在pc瀏覽器中它可以工作,但是在android中,它仍然是下載的時間。Android瀏覽器不從HTTPS自簽名認證下載文件
我在Spring控制器使用此代碼:
URL url = servletContext.getResource("/manual/Manual.pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"Manual.pdf\"");
response.setContentType("application/octect-stream");
response.setContentLength(url.getFile().length());
try
{
InputStream fis = url.openStream();
OutputStream out = response.getOutputStream();
IOUtils.copy(fis, out);
out.flush();
}catch(IOException ioe)
{
logger.error(ioe);
}
我們正在使用HTTPS和端口9443
我得到這個錯誤在logcat的android系統:
Application: android.process.media
Tag: DownloadManager
Text: Aborting request for download 23:
while trying to execute request: javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException:
Trust anchor for certification path not found.
謝謝您的幫助。
您是否檢查您的Android設備是否有正確的時間設置?我遇到了這樣的SSL問題,並修復了我的設備時鐘。 –
是的時間是正確的我使用模擬器和時間配置相同。服務器也有相同的時間。 – Josema
那麼在錯誤中說「沒有找到證書路徑的信任錨點」。你可能想檢查你的認證路徑,這可能是一個服務器問題,而不是客戶端。時下的瀏覽器是很聰明的解決任何編碼問題和類似的東西。您可能有損壞的證書網址。 –