我有一个由浏览器加载的小程序。
此小程序对服务器进行 Web 服务调用。
如果我签署小程序并由服务器通过 https 下载它,然后我调用 Web 服务,是否可以重用现有的 ssl session ,或者是否必须重新建立 https?
我认为必须重新建立 https(即 ssl 握手),因为初始连接是由浏览器建立的。是这样吗?
如果是,那么有没有办法在用户开始使用小程序时避免重新认证? IE。重用之前的 ssl 连接,还是不可能?顺便说一句,Web 服务堆栈是 axis2。
谢谢
最佳答案
https 和身份验证是不同的东西。当然,当您通过 https 使用用户/密码进行身份验证时,它们会协同工作。
启用客户端认证后,可以使用https进行认证。所以客户端必须向服务器发送一个有效的(签名的)证书。但我想你有一个通过 https 身份验证方法的用户/密码。
浏览器登录后,通常服务器会创建并保持 session ,浏览器会收到 session cookie。该 cookie 将在登录后根据连续请求发送(仍由 https 加密)。
如果您将 session cookie 传递给小程序,小程序可以重用该 session 。
更新
无法向您详细解释。您应该搜索并阅读 Java Applet communication .
您可以从 javascript和访问网络 来自小程序的页面/浏览器状态 (Applet.getAppletContext())。
您可以使用 包含 session 的参数 编号。
当 Web 服务器是 servlet 容器时, session cookie 名称可以是 JSESSIONID。
如果您的网络服务器是一个 servlet 容器,那么您可以通过不同的方式传递 session ID:作为请求 header 中的 cookie 或编码到 URL 中(URL 重写)。
关于applet 调用 java web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717467/