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. mysql ssl jdbc_Mysql启用SSL以及JDBC连接Mysql配置

    文章目录 一.Mysql启用SSL配置 1.检查mysql是否支持ssl 2.设置用户是否使用ssl连接 1.查看用户是否使用SSL连接 2.强制某用户使用SSL连接 3.测试不使用ssl能否连接上 ...

  3. ZeroC Ice 暂记

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

  4. ZeroC Ice权威指南-学习笔记1——hello world

    前言 ZeroC Ice是一款很好的RPC框架,性能极好.但是参考文档不足是其一大问题,这也影响了它的传播.<ZeroC Ice权威指南>是唯一的中文教材,但写的不尽如人意,作为入门教材, ...

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

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

  6. zeroc ice php,ZeroC ICE+PHP整合

    最近为了作分布式框架的技术选型,特意研究了多个分布式框架,恰好研究了Zeroc Ice 框架,特意记录以便后续查阅php 本文主要介绍win环境下PHP与ICE 环境的整合apache 首先咱们须要确 ...

  7. Java构建工具, ZeroC ICE, word2vec

    https://antkillerfarm.github.io/ Java构建工具 构建工具的意义在于,提供一种独立于IDE的软件构建方式.而且通常来说,构建工具更适合特大项目的构建.比如,即使是以功 ...

  8. Zeroc Ice 发布订阅者之demo Icestorm之clock

    刚刚在服务端(192.168.0.113)和客户端跑通(192.168.0.188),在这里记录,作为备忘. 第一步:读readme,先用vs2010生成subscriber.exe和publishe ...

  9. qt 中使用openssl_openSSL漏洞致使SSL证书安全配置评级F

    原文阅读:openSSL漏洞致使SSL证书安全配置评级F SSL数字证书在服务器配置不当会暴露更多的安全漏洞,因此给黑客提供了攻击网站提供了便利和入口,通常我们会借助SSLLABS进行测试SSL安全部 ...

最新文章

  1. eclipse如何卸载adt插件
  2. HDU3371(最小生成树)
  3. Dispatcher.Invoke方法
  4. UA MATH574M 统计学习I 监督学习理论
  5. html文本长度不一样的对齐,关于html:文本在中间不对齐
  6. 使用Tkinter的Label组件写一个广告板招租
  7. ASP.NET中 Repeater嵌套
  8. soundbar未来发展_智能电视时代 Soundbar未来发展之路
  9. java中list去除空值_Java –从列表中删除所有空值
  10. python中sys模块有什么用_Python中模块之sys的功能介绍
  11. 【7集iCore3基础视频】7-4 iCore3连接示意图
  12. elastic-job 新手指南官网指南
  13. Http请求头+请求方式+状态码
  14. ovs ovn 学习资料
  15. VS2015 经常不出现智能提示,代码颜色也没有了
  16. C# 中关闭当前线程的四种方式 .
  17. matlab有参函数,定义含参量函数 matlab
  18. C语言如何打开shx文件,shx文件是什么 shx文件如何打开
  19. 射频中的回波损耗,反射系数,电压驻波比以及S参数的含义
  20. 多站点同服务器同IP网站架设(IIS)心得

热门文章

  1. mysql安装1335_Mysql 安装问题。提示MySQL Server 5.1 -- Error 1335.
  2. api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
  3. 在线ocr文字识别_PandaOCR:最佳免费 OCR 文字识别工具
  4. 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt
  5. 新海诚没有参与制作的作品_继《你的名字》之后,新海诚又出新作啦!!
  6. mysql知识点概览_MySQL 基本架构概览
  7. Django创建项目后,项目文件夹下的组成部分
  8. mybatis 配置文件报错:Referenced file contains errors(file:/D:/config/ mybatis-3-mapper.dtd).
  9. office控件显示不了_计算机二级office考试重点难点总结,考生必看!
  10. 瑞数(裁判文书)js的加密分析