Zeroc ICE ( Internet Communications Engine )中间件号称标准统一,开源,跨平台,跨语言,分布式,安全,服务透明,负载均衡,面向对象,性能优越,防火墙穿透,通讯屏蔽。https://zeroc.com/

该中间件在跨语言集成时比较方便,如下就是在JAVA C++之间交互时,启用ssl通讯的设置

1. 证书生成

ICE提供申请证书的脚步,通过ICE脚本,可生成所需的证书。进入Ice-3.5.1/cpp/src/ca目录。

1.1. 生成根证书,输入证书相关信息

python iceca init --no-password –overwrite

根证书在/root/.iceca/目录下生成,root为当前登陆用户

1.2. 申请用于ICE服务器的证书:

python iceca request --no-password server server

1.3. 申请用于ICE客户端的证书

python iceca request --no-password client client

1.4. 证书签名

python iceca sign --in server_req.pem --out server_cert.pem

python iceca sign --in client_req.pem --out client_cert.pem

1.5. 导出证书

将ICE客户端用到的证书导出为java可用的格式。根证书的证书文件需要从/root/.iceca/ca/db下复制出来.

python iceca import --java  client_cert.pem client_key.pem  client_cert.jks

python iceca import --java  ca_cert.pem ca_key.pem  ca_cert.jks

导出时需要两个密码,第一个是私钥的密码,由于在申请证书的时候不设置密码,不输入,直接回车,需要输入第二个密码##

2. 程序配置

2.1. 将生成的ca_cert.jks、ca_key.pem、client_cert.jks 、server_cert.pem文件复制到/home/certs目录下。

将编译icessl生成的so文件(libIceSSL.so、libIceSSL.so.3.5.1、libIceSSL.so.35)复制到/usr/lib下,执行 ldconfig命令。

2.2. ICE服务端ssl设置config.ice文件,添加以下行:

Ice.Plugin.IceSSL=IceSSL:createIceSSL

IceSSL.DefaultDir=/home/certs

IceSSL.CertFile=server_cert.pem

IceSSL.KeyFile=server_key.pem

IceSSL.CertAuthFile=ca_cert.pem

服务端绑定的Endpoint,如下是普通的和ssl同时启用

default -p 8881 -h localhost:ssl -p 8882

2.3. ICE客户端启用SSL

在/home/web下新建配置文件config.ice,保存以下内容:

Ice.Plugin.IceSSL=IceSSL.PluginFactory

IceSSL.DefaultDir=/home/certs

IceSSL.Keystore=ca_cert.jks

IceSSL.Truststore=client_cert.jks

IceSSL.TruststorePassword=admin12345

客户端程序连接的服务信息和配置如下

"--Ice.Config=/home/web/config.ice"

"#:ssl -p 8882 -h ##"

ZeroC Ice启用SSL通讯的配置的更多相关文章

  1. 自行搭建私有云ownCloud,启用SSL,其他配置

    ownCloud简介 ownCloud(官网)是一款开源的私有云框架,可以通过它实现个人网盘的功能,如果拥有一个性能不错的VPS,那么就可以摆脱奇慢无比的百度云等网盘啦!我花了大约一天的时间总算搭好了 ...

  2. (4.22)Microsoft 管理控制台启用 SSL 加密的 SQL Server 实例

    如何通过使用 Microsoft 管理控制台启用 SSL 加密的 SQL Server 实例 关键词:MSSQL加密,sql server加密,sql server客户端与服务器传输内容加密 转自:h ...

  3. (十四)RabbitMQ消息队列-启用SSL安全通讯

    原文:(十四)RabbitMQ消息队列-启用SSL安全通讯 如果RabbitMQ服务在内网中,只有内网的应用连接,我们认为这些连接都是安全的,但是个别情况我们需要让RabbitMQ对外提供服务.这种情 ...

  4. ZeroC Ice 暂记

    摘自: http://weibo.com/p/1001603869896789339575 原文地址: http://www.oschina.net/question/865233_242146 吴治 ...

  5. ZeroC Ice Ice Registry实现负载均衡

    Registry介绍         对于多个IceBox集群该怎么负载均衡?以服务注册表Registry为依托的Service Locator组件,以及依赖其而诞生的强大的分分布式框架-IceGri ...

  6. 《ZeroC Ice 权威指南》笔记

    Ice介绍         Ice(Internet Communications Engine)是ZeroC公司的杰作,继承了CORBA的血统,是新一代的面向对象的分布式系统中间件.Ice是RPC通 ...

  7. 用Python开发Zeroc Ice应用

    Zeroc Ice简介   Zeroc ICE(Internet Communications Engine ,互联网通信引擎)是目前功能比较强大和完善的RPC框架,支持跨平台.跨语言调用.它非常灵活 ...

  8. Nginx启用ssl以及免费证书申请

    主要是这个东西,折腾了我两天,所以记录下来. 最开始是在meteor下面调用一个webservice,但是发现meteor项目的发布环境时https,所以请求的webservice也必须时webser ...

  9. magento启用SSL改http成https

    Magento是电子商务网站,对于网站的用户信息安全来说,让Magento使用SSL连接是一个很好的解决方案.如果在页面的边栏或者底部放上些表明本站使用安全连接的图片,显得更专业,让客户有安全感,对于 ...

随机推荐

  1. [转]NopCommerce How to add a menu item into the administration area from a plugin

    本文转自:http://docs.nopcommerce.com/display/nc/How+to+code+my+own+shipping+rate+computation+method Go t ...

  2. 开始mono开发

    使用mono框架开发android程序,第一步当然是构建开发环境,严格意义上说是使用 mono for android开发android程序. 参考Mono for Android安装配置破解  mo ...

  3. Mono+Jexus让C#运行在Linux(centos7_x64),学习笔记

    .h2cls { background: #6fa833 none repeat scroll 0 0 !important; color: #fff; font-family: "微软雅黑 ...

  4. 《徐徐道来话Java》(2):泛型和数组,以及Java是如何实现泛型的

    数组和泛型容器有什么区别 要区分数组和泛型容器的功能,这里先要理解三个概念:协变性(covariance).逆变性(contravariance)和无关性(invariant). 若类A是类B的子类, ...

  5. .NET - 基于事件的异步模型

    注:这是大概四年前写的文章了.而且我离开.net领域也有四年多了.本来不想再发表,但是这实际上是Active Object模式在.net中的一种重要实现方法,因此我把它掏出来发布一下.如果该模型有新的 ...

  6. Spring6:基于注解的Spring MVC(上篇)

    什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC ...

  7. android内部培训视频_第四节(1)_异步网络操作

    第四节(1):异步网络操作  一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMa ...

  8. 如何在 TFS 中使用 Git

    对 Charley Blog 的代码进行版本控制的想法由来已久,在代码建立之初其实已经使用过 TFS 进行控制,只是后期没能好好用起来,加之后来系统环境的变化导致TFS连接丢失,便算是正式放弃了版本控 ...

  9. AWS开发人员认证考试样题解析

    最近在准备AWS的开发人员考试认证.所以特意做了一下考试样题.每道题尽量给出了文档出处以及解析. Which of the following statements about SQS is true ...

  10. C# 开发windows服务的一些心得

    最近在做一个windows服务的项目,发现并解决了一些问题,拿出来和大家分享一下,以下windows服务简称“服务” 文章会在适合时间更新,因为朋友们在不断提出新的意见或思路,感谢-.- 1.服务如何 ...