我希望保护与OSGi包中的endpoint.publish()一起发布的webservice组件的通信。因此,我正在努力解决三个问题。
运行时是Java 1.6,equinox 3.7.1。客户端是另一个Web应用程序(使用php)。
一般来说,是否有安全发布Web服务的最佳实践(特别是关于OSGi包)?
提前致谢!
答案 0 :(得分:1)
我会按顺序回答:
在证书中使用IP地址作为通用名称(CN)可能不是一种好的形式。最好在本地为该IP地址分配名称(例如,在大多数系统的主机文件中)。或者,您可以通过配置客户端来跳过名称验证 - 在这种情况下,您接受CA颁发的任何证书。如果您对PKI有足够的控制权,例如,如果您使用自签名证书,这仍然是一个选项。
可以使用InputStream
加载KeyStores(以及信任库是密钥库),并且可以为资源创建输入流。有关详细信息,请参阅this question on stackoverflow。
尝试使用会话上下文将身份验证绑定到会话而不是单个页面。显然,没有SSL,这是不太安全,但使用SSL,你应该没问题。