IceSSL插件配置

本文档详细介绍了IceSSL插件的配置和使用,包括C++和Java应用程序的配置,创建SSL端点,安全考虑事项,以及证书的安装和转换。IceSSL插件提供SSL协议,用于保护敏感信息,确保通信安全。配置涉及设置IceSSL属性,如端点协议和证书文件,同时强调了安全配置,如端点协议的选择和密码管理。此外,还提供了证书生成和导入的Python脚本流程。
摘要由CSDN通过智能技术生成

1. IceSSL简介

        Ice版本:Ice-3.1.1

        操作系统:Windows XP SP2

        JDK版本:JDK 1.6

        安全性对于许多分布式应用程序来说是一个重要的考虑因素,无论是在企业内部网还是在不可信的网络,如Internet。保护敏感的信息,确保其完整性,并验证通信双方的身份的能力,这些能力对于开发安全的应用程序来说是必不可少的。考虑到这些目标,Ice提供了这些功能的IceSSL插件,IceSSL插件使用SSL协议。

2. 配置IceSSL

        将IceSSL合并到你的应用程序中,需要安装IceSSL插件,根据你的安全需求进行配置,并创建SSL端点。

        安装IceSSL插件通过在配置文件中添加Ice.Plugin属性,不需要修改应用程序源代码。

2.1. C++应用程序

        C++ IceSSL插件的可执行代码驻留在Unix的共享库上和Windows上的一个动态链接库(DLL)中。如下所示属性Ice.Plugin

        Ice.Plugin.IceSSL=IceSSL:createIceSSL 

        该属性值IceSSLcreateIceSSL允许UnixWindowsIce运行时寻找到IceSSL库(在Unix 和Windows上),并且初始化插件。该库必须出现在共享库路径(大多数Unix 平台的LD_LIBRARY_PATH,在Windows平台上的path环境变量)指定的目录中。

2.2. Java应用程序

        Ice.Plugin属性配置如下:

        Ice.Plugin.IceSSL=IceSSL.PluginFactory 

        IceSSL.PluginFactory 是一个class类名,允许ice运行时初始化IceSSL插件,这些类包含在Ice.jar 包中。

2.3. 创建SSL端点

        安装了IceSSL 插件之后,就可以在端点中使用一种新协议ssl了。例如,下面的端点列表创建了一个TCP 端点、一个SSL 端点,以及一个UDP 端点:

        MyAdapter.Endpoints=tcp -p 8000:ssl -p 8001:udp -p 8000

        如这个例子所演示的,UDP端点可以使用和TCPSSL端点相同的端口号,因为UDP是一种不同的协议,有自己的端口集。但TCP端点和SSL端点不能使用同一个端口号,因为SSL 在本质上是位于TCP 之上的一个层面。在串化代理中使用SSL 同样直截了当:

        MyProxy=MyObject:tcp -p 8000:ssl -p 8001:udp -p 8000

2.4. 安全考虑事项

        像上面的例子那样,对象适配器的端点使用多种协议,对安全有一些明显的影响。如果意图是用SSL来保护会话通信,或者是限制对服务器的访问,那么应该只定义SSL端点。

        但在有些情况下,使用不安全的端点协议也有好处。下图阐释了一种环境,在防火墙以内可以使用TCP,但外部客户必须使用SSL

 

         图中的防火墙被配置成阻塞外部对TCP端口8000的访问,并把与端口8001 的连接转到服务器的机器。

        在防火墙以内使用TCP的一个原因是,它比SSL效率更高,使用时所需的管理工作更少。当然,这里的例子假定内部客户是可信的,在许多环境中事情未必如此。

2.5. 配置IceSSL

         配置环境

IceGrid节点

IP地址

注册器(registry

192.168.1.10

节点1Node1

192.168.1.20

节点2Node2

192.168.1.30

客户端(client

192.168.1.40

         注册器配置:

[plain]  view plain   copy
  1. # IceSSL properties  
  2. Ice.Plugin.IceSSL=IceSSL:createIceSSL  
  3. IceSSL.DefaultDir=C:\IceGrid  
  4. IceSSL.CertFile=registry_cert.pem  
  5. IceSSL.KeyFile=registry_key.pem  
  6. IceSSL.CertAuthFile=ca_cert.pem  
  7. IceSSL.Password=123456  
  8. # Registry properties  
  9. IceGrid.Registry.Client.Endpoints=ssl -p 4065:tcp -p 4066  
  10. IceGrid.Registry.Server.Endpoints=ssl  
  11. IceGrid.Registry.Internal.Endpoints=ssl  
  12. IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier  
  13. IceGrid.Registry.PermissionsVerifier=IceGrid/NullPermissionsVerifier  
  14. IceGrid.Registry.Data=C:\IceGrid\registry  
  15. IceGrid.Registry.Admin.Endpoints=default  
  16. #Log properties  
  17. IceGrid.Registry.Trace.Adapter=1  
  18. IceGrid.Registry.Trace.Node=2  

        启动注册器我们使用的是icegridregistry.exe可执行程序,所以配置IceSSL插件使用C++配置IceSSL:createIceSSLIceSSL.Password属性配置了明文密码,这不是一个安全的做法。更好的设置密码的方式,参考官方文档。        

        配置说明:       

属性

说明

Ice.Plugin.IceSSL

开启IceSSL插件服务的主类

IceSSL.DefaultDir

数字证书存放的目录

IceSSL.CertFile

注册器的数字证书文件,pem格式

IceSSL.KeyFile

注册器的数字证书对应的私钥文件,pem格式

IceSSL.CertAuthFile

给注册器的数字证书签名的根证书,pem格式

IceSSL.Password

读取私钥时使用的密码

        其他的属性不属于IceSSL插件特有的配置,在此不再次说明。

         IceGrid.Registry.Client.Endpoints属性提供了两种协议,添加了ssl协议,保留了tcp协议,保留的tcp协议提供给客户端连接注册器使用,客户端连接注册器只是为了获取一个可用的代理,不需要使用加密通信,这样也可以降低对性能的影响。

        管理客户端配置:

[plain]  view plain   copy
  1. Ice.Plugin.IceSSL=IceSSL:createIceSSL  
  2. IceSSL.DefaultDir=C:\IceGrid  
  3. IceSSL.CertFile=admin_cert.pem  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值