
1.接入方前期准备
【部署注意事项】
- e签宝专属云仅支持 Linux 操作系统。
- e签宝专属云必须在独立服务器上进行部署,即不与贵司其他服务共用一台服务器。
- e签宝专属云的部署根目录必须是 /usr/local/esign。
- e签宝专属云必须被允许可在线升级,即有新版本时本地专属云可以联网进行升级部署。
- 建议部署e签宝专属云时联系e签宝交付经理进行远程协助指导。
(内含专属云网路架构、部署要求、部署架构、中间件相关版本以及硬件要求)
1.1 服务器配置要求
单机部署(支持两台机器:一台部署应用服务,另一台部署中间件)
最低CPU核数 | 最低内存 | 磁盘 | 机器台数 |
4核 | 8G | 200G以上 | 至少一台(需要挂载独立数据盘) 必需是独立服务器(不可与贵司其他服务共用) |
集群部署
最低CPU核数 | 最低内存 | 磁盘 | 机器台数 |
4核 | 8G | 200G以上 | 至少三台(需要挂载独立数据盘,minio数据存储在数据盘) 必需是独立服务器(不可与贵司其他服务共用) |
1.2 操作系统要求
操作系统系列 | 支持版本 | 部署用户 |
RHEL 系列 | Red Hat Enterprise Linux(7.X | 8.X | 9.X) CentOS(7.X | 8.X) CentOS Stream(9.X) | sudo 权限 |
Debian 系列 | Ubuntu 20.04 LTS | sudo 权限 |
Oracle 系列 | Oracle Linux 7.X | sudo 权限 |
信创系列 | 统信 UOS V20 银河麒麟 Kylin V10 openEular 20.03 LTS openEular 22.03 LTS | sudo 权限 |
1.3 网络配置
专属云、e签宝公有云、客户的用户网络需要三方网络能够保持畅通;
如果有对网络进行安全防控,需要对以下的域名及端口加到管控设备的白名单里面:
沙箱模拟环境 | ||||
用途 | 域名 | 公网IP | 端口 | 防火墙规则 |
e签宝 API 服务地址 | 114.55.17.44 | 443 | 出入站 | |
本地签名获取印章图片 | 183.131.227.240 具体IP请在贵司服务器上执行nslookup命令查看 | 443 | 出站 | |
在线安装部署 | 115.238.5.239 具体IP请在贵司服务器上执行nslookup命令查看 | 443 | 出站 | |
回调通知服务 | 无域名 | 47.96.79.204 | ALL(随机端口) | 入站 |
专属云服务 | 贵司提供域名 | 贵司公网ip | 贵司指定(默认443) | 出入站 |
正式生产环境 | ||||
用途 | 域名 | 公网IP | 端口 | 防火墙规则 |
e签宝 API 服务地址 | 118.31.181.75 | 443 | 出入站 | |
本地签名获取印章图片 | 183.131.227.223 具体IP请在贵司服务器上执行nslookup命令查看 | 443 | 出站 | |
在线安装部署 | 115.238.5.239 具体IP请在贵司服务器上执行nslookup命令查看 | 443 | 出站 | |
回调通知服务 | 无域名 | 118.31.35.8 | ALL(随机端口) | 入站 |
专属云服务 | 贵司提供域名 | 贵司公网ip | 贵司指定(默认443) | 出入站 |
1.4 需提供以下资料给对接群内e签宝交付经理
(1)服务器远程访问方式:服务器的用户名和密码(需要有sudo权限)
(2)贵司域名的SSL证书:your_certificate.crt 或 your_certificate.pem 和 your_private_key.key
(3)e签宝专属云配置文件:此文件需贵司登录e签宝官网/模拟官网下载,具体步骤详见e签宝专属云配置文件下载方法。
注意:
- 正式生产环境-e签宝官网地址:https://web.esign.cn/workspace/home
(创建正式专属云项目、查看正式套餐,管理正式文件等)(正式和沙箱两个环境不通用,请不要混用) - 沙箱模拟环境-e签宝模拟官网地址:https://smlfront.esign.cn:8880/workspace/home
(创建测试专属云项目、查看赠送套餐,管理测试文件等)(正式和沙箱两个环境不通用,请不要混用)
- 开发者-开放平台地址:https://open.esign.cn/my-apps/home
(可以分别创建开发者的正式服务和沙箱服务-应用ID(appId),用于API接口调用和专属云项目绑定应用)
2.购买专属云套餐
2.1 正式生产环境:联系与您对接的商务经理,购买专属云服务套餐并生效。
2.2 沙箱模拟环境:联系您对接群内的交付顾问,赠送专属云服务套餐。
可登录e签宝官网/模拟官网 查看订单:

3.e签宝官网创建专属云项目
3.1 登录e签宝官网/模拟官网-企业控制台-集成中心-专属云--创建专属云项目


设置项目名称、绑定应用(appId)、设置专属云服务访问地址(这个访问地址可以后续确认后再填入)

专属云服务访问地址格式:https://客户外网域名/dedicated-sign
注意:域名后边需要拼接:dedicated-sign

3.2 下载配置文件(auth-config.properties)

该配置文件下文中称为密钥文件,内容含有应用ID(appId)、应用secret(加密的secret)以及专属云项目ID

3.3 复制专属云项目ID并保存
(项目ID后续接口传参需要使用)

4.开发者本地环境部署(单机部署参考流程)
部署安装可以联系对接人员进行协助,获取e签宝专属云部署包并进行Linux系统部署。
部署包目录结构:/usr/local/esign/(必须部署在该目录)
部署包目录结构
├── apps #应用程序目录
│ ├── backend ##后端应用包目录
│ ├── Bplugins ##业务插件目录
│ │ ├── apps
│ │ └── plugins
│ ├── eapr ##eapr插件目录
│ │ ├── apps
│ │ ├── core
│ │ └── plugins
│ ├── emod-base ##EMOD基座应用目录
│ ├── front ##前端应用包目录
│ └── libs ##瘦身依赖jar目录
│ ├── apps
│ └── jarlibs
├── bin #一键部署程序主目录
│ ├── app-front.sh ##安装前端应用
│ ├── app.sh ##安装后端应用
│ ├── app-update-standalone.sh ##单机ALLINONE更新脚本
│ └── pub.sh ##安装中间件(单机版)
├── config #配置文件目录
│ ├── extra-config ##专属签密钥文件等额外配置存放目录
│ └── public.properties ##脚本预读全局配置文件
├── modules #模块目录
│ └── standalone ##中间件单机版模块目录
│ ├── functions_categraf.sh
│ ├── functions_lops.sh
│ ├── functions_minio.sh
│ ├── functions_mysql.sh
│ ├── functions_nginx.sh
│ ├── functions_openjdk.sh
│ ├── functions_redis.sh
│ └── functions_victormetrics.sh
├── plugins #全局插件目录
│ └── skywalking-agent
├── productDefine.yml #产品定义文件
├── public_pak #中间件组件源码包、初始化脚本及配置模板目录
│ ├── apps ##应用程序配置文件模板
│ ├── categraf ##本地化运维监控agent组件
│ ├── ecos ##ecos配置中心工具包
│ ├── expect ##expect免密脚本工具
│ ├── fonts ##字体包
│ ├── incremental-sql ##增量sql目录
│ ├── javautil ##加密java工具类
│ ├── keepalived
│ ├── lops ##本地化运维监控后端组件
│ ├── minio ##minio安装包
│ ├── mysql ##mysql安装包
│ ├── nginx ##nginx安装包及配置模板
│ ├── openjdk ##openjdk二进制包
│ ├── redis ##redis源码包
│ ├── repo ##本地源目录
│ ├── sql ##初始化sql目录
│ ├── topics ##初始化topic目录
│ └── victormetrics ##本地化运维监控存储组件
├── tools #工具脚本目录
│ ├── db_backup.sh ##数据库备份脚本
│ ├── db_initial.sh ##数据库初始化脚本
│ ├── db_rollback.sh ##数据库回滚脚本
│ └── upload_fonts.sh ##字体文件上传脚本
└── upgrade ##增量包目录
4.1 将密钥文件放入项目中(auth-config.properties)
- 将上文 3.2 获取到的密钥文件放到项目中config/extra-config目录下;
- 密钥文件命名为:auth-config.properties(默认)

4.2 修改脚本全局配置文件(public.properties)
注意:在安装会需要比较高的权限,需要有sudo权限得用户或者root用户才行。
以下命令都要在/usr/local/esign/目录下执行,如果不在该目录,请执行以下命令:cd /usr/local/esign
需要将文件中涉及到所有中间件配置修改成开发者侧环境相对应的地址,并检查当前设置的e签宝环境:
全局配置文件详情如下:vim config/public.properties
配置文件内容
####################################################################################
#环境配置(uat 代表模拟环境 / prod 代表生产环境) #
####################################################################################
template.env=uat
####################################################################################
#Domain配置项(默认值为http://<nginx_ip>:<nginx_port> , 这里需要改成https://客户外网域名)
####################################################################################
template.domain=http://127.0.0.1
####################################################################################
#公共配置项-中间件 #
####################################################################################
#nginx组件
template.nginx.host=127.0.0.1
template.nginx.port=80
#DB组件
##配置db类型,默认值mysql
template.db.default.type=mysql
##mysql相关配置项
template.mysql.default.host=127.0.0.1
template.mysql.default.port=3306
template.mysql.default.user=root
template.mysql.default.password=cp4u/mMpwd9Ulb4Z
template.mysql.default.data.home=/var/lib/mysql
#Cache组件
##配置cache类型,默认值redis
template.cache.default.type=redis
##缓存模式,单机(stand-alone),哨兵(sentinel)
template.redis.default.mode=stand-alone
template.redis.default.host=127.0.0.1
template.redis.default.password=qMrkZm3/QdqreOqM
template.redis.default.port=6379
#File组件
##配置file存储类型,默认值minio
template.file.storage.default.type=minio
##minio相关配置项
template.minio.default.host=127.0.0.1
template.minio.default.api.port=9090
template.minio.default.console.port=28080
template.minio.default.user=Z/AZUstVcyhMl+24K3Eo
template.minio.default.password=QmNMFPZro4twLUu3NP1YSVe+rV/YsqqgUiF4RXJY
template.minio.default.bucket=uat
template.minio.default.storage.data.home=/usr/local/esign/public/minio/data
#CONFIG组件
##配置config类型,默认值ecos
template.config.center.default.type=ecos
####################################################################################
#本地化运维监控组件 #
####################################################################################
#运维监控组件-lops相关配置项
template.lops.host=127.0.0.1
template.lops.port=7010
#运维监控组件-victormetrics相关配置项
template.victoria-metrics.ip=127.0.0.1
template.victoria-metrics.port=8428
###################################################################################
#应用配置项 #
###################################################################################
##STARTMARK: dedicated-sign-deploy configuration
# 专署签: dedicated-sign-deploy配置项
##dedicated-sign-deploy主机地址列表(节点地址之间使用逗号,分隔开)
template.dedicated-sign-deploy.hosts=127.0.0.1
##dedicated-sign-deploy服务端口
template.dedicated-sign-deploy.port=8080
##dedicated-sign-deploy jvm参数设置
template.dedicated-sign-deploy.javaOpts="-Xmx1024M -Xms1024M"
##ENDMARK: dedicated-sign-deploy configuration
##STARTMARK: filesystem-deploy configuration
# epaas文件系统: filesystem-deploy配置项
##filesystem-deploy主机地址列表(节点地址之间使用逗号,分隔开)
template.filesystem-deploy.hosts=127.0.0.1
##filesystem-deploy服务端口
template.filesystem-deploy.port=8150
##filesystem-deploy jvm参数设置
template.filesystem-deploy.javaOpts="-Xmx1024M -Xms1024M"
##ENDMARK: filesystem-deploy configuration
##STARTMARK: epaas-fileconvert-deploy configuration
# epaas文档转换服务: epaas-fileconvert配置项
##epaas-fileconvert-deploy主机地址列表(节点地址之间使用逗号,分隔开)
template.epaas-fileconvert-deploy.hosts=127.0.0.1
##epaas-fileconvert-deploy服务端口
template.epaas-fileconvert-deploy.port=8250
##epaas-fileconvert-deploy jvm参数设置
template.epaas-fileconvert-deploy.javaOpts="-Xmx1024M -Xms1024M"
##ENDMARK: epaas-fileconvert-deploy configuration
##STARTMARK: epaas-fixedfileconvert-deploy configuration
# epaas文档版式信息服务: epaas-fixedfileconvert-deploy配置项
##epaas-fixedfileconvert-deploy主机地址列表(节点地址之间使用逗号,分隔开)
template.epaas-fixedfileconvert-deploy.hosts=127.0.0.1
##epaas-fixedfileconvert-deploy服务端口
template.epaas-fixedfileconvert-deploy.port=8350
##epaas-fixedfileconvert-deploy jvm参数设置
template.epaas-fixedfileconvert-deploy.javaOpts="-Xmx1024M -Xms1024M"
##ENDMARK: epaas-fixedfileconvert-deploy configuration
###################################################################################
#新版EMOD合并部署配置项目 #
###################################################################################
##EMOD合并部署开关 (true 开启 / false 关闭,默认为false)
template.emod.merge.flag=true
##EMOD合并部署基座应用地址列表 (节点地址之间使用逗号,分隔开)
template.emod-base.hosts=127.0.0.1
##EMOD合并部署基座应用服务端口
template.emod-base.port=5555
##EMOD合并部署应用模块共享服务端口
template.emod-base.apps.http.port=8008
##EMOD合并部署基座应用jvm参数设置
template.emod-base.javaOpts="-Xmx2048M -Xms2048M -XX:MaxDirectMemorySize=128M"
###################################################################################
#脚本预读配置 #
###################################################################################
#安装依赖包采用何种方式(remote 表示远程仓库 / local 表示本地仓库 / auto 表示自动切换 / none 表示使用当前仓库设置, 默认值为auto)
#template.default.repository.type=local
#部署用户(默认值是vale,根据客户实际给到我们的用户为准)
#template.default.deploy.user=vale
#部署用户组(默认值是vale,根据客户实际给到我们的用户组为准,一般情况下与用户名保持一致,极端情况下可能会不一样,所以此配置项独立透出)
#template.default.deploy.group=vale
#信创场景web容器license存放路径配置项(按照实际情况填写)
#template.default.web.license=/usr/local/esign/webLicense/license.xml
(1)修改配置文件IP地址
假如开发者侧服务器地址为192.168.1.111,执行如下命令可快速修改 public.properties
sed -i "s#127.0.0.1#192.168.1.111#g" config/public.properties
再单独把template.domain=对应的ip 改成:https://客户外网域名

(2)检查e签宝环境配置
配置文件中默认:uat (uat 代表沙箱模拟环境 / prod 代表正式生产环境)
切换到线上正式环境需要将文件中所有uat替换修改为:prod
(3)修改部署用户/用户组
#默认值是vale
template.default.deploy.user=vale
template.default.deploy.group=vale
如果开发者是非root账号权限,需要做sudo授权操作
执行命令:visudo 打开/etc/sudoers配置文件,添加如下权限即可:
vale ALL=(ALL) NOPASSWD: /bin/whoami,/usr/bin/, /bin/, /etc/init.d/, /usr/sbin/, /usr/local/bin/, /sbin/, /bin/netstat, /usr/sbin/lsof
4.3 使用命令安装应用
(1)一键安装中间件
一键安装所有中间件使用的是bin目录下的pub.sh脚本:
bash bin/pub.sh install all
获取脚本安装帮助
##获取脚本安装帮助
bash bin/pub.sh
##运行结果如下:
参数个数必须为2个; <action> <app>
Usage: bash bin/pub.sh install/uninstall openjdk/mysql/redis/nginx/minio/victormetrics/lops/categraf/all
Usage: bash bin/pub.sh start/stop/restart/reconfig/status openjdk/mysql/redis/nginx/minio/victormetrics/lops/categraf/all
一键安装/卸载所有中间件
##一键安装所有中间件
bash bin/pub.sh install all
##一键卸载所有中间件
bash bin/pub.sh uninstall all
单独安装/卸载某一个中间件组件
##单独安装某一个中间件组件,如:redis
bash bin/pub.sh install redis
##单独卸载某一个中间件组件,如:redis
bash bin/pub.sh uninstall redis
一键启动/停止/重启/查看状态
##一键启动
bash bin/pub.sh start all
##一键停止
bash bin/pub.sh stop all
##一键重启
bash bin/pub.sh restart all
##一键查看状态
bash bin/pub.sh status all
单独启动/停止/重启/查看状态
##一键启动,如:redis
bash bin/pub.sh start redis
##一键停止,如:redis
bash bin/pub.sh stop redis
##一键重启,如:redis
bash bin/pub.sh restart redis
##一键查看状态,如:redis
bash bin/pub.sh status redis
(2)安装后端应用
- 如果是第一次安装,请先执行一键配置,初始化所有应用的配置,会同步刷新ecos:
(新增或者更新配置,建议直接登录ecos控制台更新发布,然后重启应用)
bash bin/app.sh config all
- 一键安装所有后端应用使用的是bin目录下的app.sh脚本:
bash bin/app.sh install emod-base
注意:
1、专属云目前只支持EMOD合并部署模式,合并应用为emod-base基座,会统一加载所有后端应用模块;
2、执行install安装应用,在应用启动后,会自动探测服务接口,检测90次,检测间隔5s,如果服务初始化成功,则立即返回,如果90次检测都不成功,代表服务初始化失败,也会退出。
获取脚本安装帮助
##获取脚本安装帮助
bash bin/app.sh
##运行结果如下:
参数个数必须为2个; <action> <app>
Usage: bash bin/app.sh install/uninstall dedicated-sign-deploy/epaas-fileconvert-deploy/epaas-fixedfileconvert-deploy/filesystem-deploy/emod-base/all
Usage: bash bin/app.sh start/stop/restart/status/config/check/backup/initial-pubconfig dedicated-sign-deploy/epaas-fileconvert-deploy/epaas-fixedfileconvert-deploy/filesystem-deploy/emod-base/all
一键安装/卸载所有后端应用
##一键安装所有应用
bash bin/app.sh install emod-base
##一键卸载所有应用
bash bin/app.sh uninstall emod-base
一键启动/停止/重启/查看状态/检测服务
##一键启动
bash bin/app.sh start emod-base
##一键停止
bash bin/app.sh stop emod-base
##一键重启
bash bin/app.sh restart emod-base
##一键查看状态
bash bin/app.sh status emod-base
##一键检测服务
bash bin/app.sh check all
(3)安装前端应用
一键安装所有前端应用使用的是bin目录下的app-front.sh脚本:
bash bin/app-front.sh install all
注意:前端应用需要和nginx部署在一起
获取脚本安装帮助
##获取脚本安装帮助
bash bin/app-front.sh
##运行结果如下:
参数个数必须为2个; <action> <app>
Usage: bash bin/app-front.sh install/uninstall ecos/front-lops/all
一键安装安装/卸载所有应用
##一键安装所有应用
bash bin/app-front.sh install all
##一键卸载所有应用
bash bin/app-front.sh uninstall all
单独安装/卸载某一个应用(一般不需要单独卸载安装)
##单独安装某一个应用,如ecos
bash bin/app-front.sh install ecos
##单独卸载某一个应用,如ecos
bash bin/app-front.sh uninstall ecos
(4)功能验证
打开浏览器输入以下网址测试服务:http://ip/dedicated-sign/health
看到"status":"UP"就代表服务起来了

4.4 进入专属云项目里开启项目状态
登录e签宝官网/模拟官网-企业控制台-集成中心-专属云-开启项目状态

如果开启报错一般是配置里的开发者专属云服务访问地址有问题(网络不通等原因)
5.SaaS API V3版接口调用
专属云项目主要涉及到上传本地文件和基于文件发起签署两个步骤,点击进入 合同文件签署服务API对接指南
注意事项:
(1)专属云暂不支持e签宝合同模板相关功能;

(2)如果是三方系统代客户发起签署,还需要提前做认证授权,点击进入 企业/机构授权接口。
- 授权:org_sign_file_storage/psn_sign_file_storage、org_initiate_sign/psn_initiate_sign 权限

5.1 上传本地文件(传入专属云项目ID)
接口需要传入上文 3.3 步骤中获取到的专属云项目ID,点击跳转【上传本地文件】接口文档

参数案例:
{
"dedicatedCloudId": "请传入专属云项目ID",
"contentMd5": "OLy7b3n5HoiVI0WMs31uHQ==",
"contentType": "application/octet-stream",
"convertToPDF": true,
"fileName": "软件销售.docx",
"fileSize": "24711"
}
5.2 基于文件发起签署(传入专属云项目ID)
接口需要传入上文 3.3 步骤中获取到的专属云项目ID,点击跳转【基于文件发起签署】接口文档

参数案例:
{
"docs": [
{
"fileId": "请设置待签署文件的fileId",
"fileName": "软件销售合同.pdf"
}
],
"signFlowConfig": {
"signFlowTitle": "此场景演示平台方自身、个人用户双方签署",
"signConfig": {
"availableSignClientTypes": "1",
"dedicatedCloudId": "请传入专属云项目ID"
}
},
"signers": [
{
"signConfig": {
"signOrder": 1
},
"signerType": 1,
"signFields": [
{
"customBizNum": "自定义编码001",
"fileId": "请设置待签署文件的fileId",
"normalSignFieldConfig": {
"autoSign": true,
"signFieldStyle": 1,
"signFieldPosition": {
"positionPage": "3",
"positionX": 200,
"positionY": 200
}
}
}
]
},
{
"psnSignerInfo": {
"psnAccount": "请设置个人用户的手机号/邮箱",
"psnInfo": {
"psnName": "个人用户的姓名"
}
},
"signConfig": {
"forcedReadingTime": 10,
"signOrder": 2
},
"signerType": 0,
"signFields": [
{
"customBizNum": "自定义编码002",
"fileId": "请设置待签署文件的fileId",
"normalSignFieldConfig": {
"signFieldPosition": {
"positionPage": "3",
"positionX": 480,
"positionY": 200
},
"signFieldStyle": 1
}
}
]
}
]
}