安全计算应用支持创建Java、Python工程,并提供代码样例进行下载。
Java高级语言的简单性,跨平台与可移植等特性和对大数据、微服务等技术的支持,使得大量应用基于Java进行开发,为了满足对于数据安全的需求,方便快速将Java应用迁移到安全的TEE环境中,机密OS提供运行Java应用的环境。
参数 |
说明 |
---|---|
任务类型 |
任务类型可选:
|
工程类别 |
工程类别可选:
|
工程样例 |
提供的工程样例。
|
工程名称 |
默认生成一个工程名称。格式为“xxx_ProjectN”,可修改。 创建的Java/Python工程名称。
说明:
工程名称只能由字母、数字、“.”、“-”、“+”、“()”和“_”组成,长度为1~64个字符且不能以“.”开头。 |
工程位置 |
默认生成一个工程位置,格式为“C:\Users\username\KunpengProject”,可修改。 创建的Java/Python工程存储路径。 |
(可选)签名私钥 |
导入签名私钥。 |
(可选)签名证书 |
导入签名证书。 |
部署服务器 |
说明:
选择“使用新增服务器”添加的服务器会自动添加到目标服务器管理中。 |
IP地址 |
允许进行操作的目标节点IP地址。 |
SSH端口 |
目标节点的SSH端口号。 |
用户名 |
允许进行操作的目标节点用户。 |
密码 |
输入目标节点账户的密码。 |
记住密码 |
勾选后可记住当前服务器用户名密码。 |
存放目录 |
目标节点存放目录。
说明:
工具会读写存放目录下的内容,避免造成用户内容丢失,建议使用空目录。 |
部署SDK |
选择SDK部署方式。
|
1
|
tar -zxvf /user/local/kunpeng-sc/java/bisheng-jdk-8u372-tee-aarch64.tar.gz |
1
|
cp -r /usr/local/kunpeng-sc/java/bisheng-jdk-8u372-tee-aarch64/jdk /usr/local/kunpeng-sc-devel/utils/pack-App |
1 2 |
cd /usr/local/kunpeng-sc-devel/utils/pack-App python3 pack.py jdk |
1
|
tee_teleport -s jdk.sec -t java |
1
|
tar -zxvf /user/local/kunpeng-sc/python/Python-3.6.15-tee-aarch.tar.gz |
1
|
cp -r /usr/local/kunpeng-sc/python/Python-3.6.15-tee-aarch64/python /usr/local/kunpeng-sc-devel/utils/pack-App |
1 2 |
cd /usr/local/kunpeng-sc-devel/utils/pack-App python3 pack.py python |
1
|
tee_teleport -s python.sec -t python |
若需要安装Java、Python的第三方库,可以使用“tee_teleport”命令进行安装,“tee_teleport”的参数使用说明可参考表2。
参数 |
参数说明 |
返回值 |
---|---|---|
install(-s) |
安装TEE侧Java或Python运行时环境 |
安装成功返回0,安装失败返回-1 |
uninstall(-u) |
卸载TEE侧Java或Python运行时环境,需要指定type |
安装成功返回0,安装失败返回-1 |
type(-t) |
指定安装类型,为Java、Python或Py3rd,需配合-s参数使用 |
- |
import(-m) |
安装TEE侧Java或Python的三方库 |
安装成功返回0,安装失败返回-1 |
create(-c) |
创建TEE侧应用运行目录和sessionID |
创建成功返回0,创建失败返回-1 |
id(-i) |
指定sessionID,使用run/input/output/destroy时需指定 |
- |
run(-r) |
运行应用,需要绑定sessionID |
运行成功返回0,运行失败返回-1 |
input(-n) |
向TEE侧输入数据,可配合-d参数使用(需使用相对路径) |
运行成功返回0,运行失败返回-1 |
output(-o) |
从TEE侧将数据输出到REE侧,可配合-v参数使用 |
运行成功返回0,运行失败返回-1 |
destroy(-e) |
销毁Java或Python应用的数据、目录和sessionID,需指定sessionID |
运行成功返回0,运行失败返回-1 |
delete(-d) |
删除TEE侧应用的子文件或子目录 |
运行成功返回0,运行失败返回-1 |
query(-q) |
查询TEE侧应用的子文件或子目录是否存在 |
所查询的文件或目录存在返回0,不存在返回1,运行失败返回-1 |
parameter(-p) |
传入应用运行所需的参数 |
- |
rename(-a) |
指定输入文件的路径 |
- |
save(-v) |
指定输出文件的路径 |
- |
help(-h) |
打印使用方式 |
- |
以下为使用示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
tee_teleport -s jre.sec -t java #安装Java tee_teleport -s python.sec -t python #安装Python tee_teleport -u -t Java #卸载Java tee_teleport -u -t python #卸载Python tee_teleport -m third.sec -t python #安装三方库 tee_teleport -c test.sec #安装应用,会在当前目录生成sessionID.txt tee_teleport -r TeeJava.class -i sessionID.txt #运行应用 tee_teleport -n data_dir -i sessionID.txt #文件输入 tee_teleport -o data_dir -i sessionID.txt #文件输出 tee_teleport -e -i sessionID.txt #卸载应用 tee_teleport -d output/tee.log -i sessionID.txt #删除文件 tee_teleport -q output/tee.log -i sessionID.txt #查询文件 tee_teleport -c test.sec -r TeeJava.class -n data_dir -o output/tee.log -e #一次性安装、执行、输入、卸载 |
若对工程文件夹/文件有变更(增加、删除、修改、重命名),可参见同步代码到远端服务器将变更的内容同步到远端服务器。