Client 初始化
public AliCloudMytfClient(AliCloudClientConfig config);
参数 |
类型 |
说明 |
config |
AliCloudClientConfig |
配置信息 |
获取 MYTF 平台信息
客户端初始化时,会自动获取 MYTF 身份信息,并根据用户设置的配置信息对 MYTF 可信计算引擎进行核身。
public MYTFInfo getMYTFInfo();
// 获取 MYTF 信息
MYTFInfo mytfInfo = restClient.getMYTFInfo();
Assert.assertNotNull(mytfInfo);
// 获取该 MYTF 实例可信区代码签发者的公钥测量
byte[] MRSigner = mytfInfo.getMrSigner();
// 获取该 MYTF 实例中可信区代码的度量值
byte[] MREnclave = mytfInfo.getMrEnclave();
// 获取该 MYTF 实例所在域名
String domainName = mytfInfo.getDomainName();
// 获取该 MYTF 实例所在区名
String regionName = mytfInfo.getRegionName();
// 获取该 MYTF 版本号
int Version = mytfInfo.getVersion();
// 获取该 MYTF ECDSA 签名公钥
byte[] signPK = mytfInfo.getECDSAPubKey();
// 获取该 MYTF ECIES 加密公钥
byte[] encPK = mytfInfo.getECIESPubKey();
获取用户所有 TAPP
public List<TAPPInfo> getAllTAPP();
List<TAPPInfo> allTAPP = restClient.getAllTAPP();
Assert.assertNotNull(allTAPP);
获取 TAPP 信息
public TappInfo getTappInfo(String tappId, int version);
参数 |
类型 |
说明 |
tappId |
String |
TAPP 名称 |
version |
int |
TAPP 版本号 |
返回字段 |
字段类型 |
说明 |
tappInfo |
TappInfo |
TAPPInfo 结构体 |
// 获取 TAPP 信息
TappInfo tappInfo = restClient.getTappInfo(tappId, tappVersion);
Assert.assertNotNull(tappInfo);
// 获取 TAPP 名称
String tappID = tappInfo.getTappId();
// 获取 TAPP 版本号
int tappVersion = tappInfo.getVersion();
// 获取 TAPP 执行引擎类型
String tappExeEngine = tappInfo.getExecEngine().getEngineType();
// 获取 TAPP 字节码测量值
byte[] tappCodeHash = tappInfo.getCodeHash();
// 获取 TAPP 信息度量值
byte[] MrTapp = tappInfo.getMrTapp();
// 获取 TAPP 描述
String tappDesc = tappInfo.getDescription();
// 获取 TAPP ECIES加密公钥
byte[] encPK = tappInfo.getEncryptionKeys().get(KeyType.ECIES_SECP256K1_KEY);
// 获取 TAPP ECDSA签名公钥
byte[] signPK = tappInfo.getVerificationKeys().get(KeyType.ECDSA_RAW_SECP256K1_KEY);
安装 TAPP
TappInstallResponse installTapp(TappInstallRequest installRequest);
参数 |
类型 |
说明 |
installRequest |
TappInstallRequest |
TAPP 安装请求体 |
返回字段 |
字段类型 |
说明 |
installResponse |
TappInstallResponse |
TAPP安装响应体 |
// 构造安装 TAPP 请求
TappInstallRequest tappInstallRequest = TappInstallRequest.builder()
.newTapp(tappId, tappVersion, bytecodes)
.setTappDescription(tappDesc)
.build();
// 发送安装 TAPP 请求
TappInstallResponse tappInstallResponse = restClient.installTapp(tappInstallRequest);
授权 TAPP
TappAuthorizeResponse authorizeTapp(TappAuthorizeRequest authorizeRequest);
参数 |
类型 |
说明 |
authorizeRequest |
TappAuthorizeRequest |
TAPP 授权请求体 |
返回字段 |
字段类型 |
说明 |
authorizeResponse |
TappAuthorizeResponse |
TAPP 授权响应体 |
// 构造被授权人信息,"user_id"为被授权人的AccessId
UserIdentityData userIdData = new UserIdentityData(UserDomainEnum.BAASREST,"user_id","", AccessTypeEnum.EXECUTE);
// 构造授权 TAPP 请求
TappAuthorizeRequest tappAuthorizeRequest = TappAuthorizeRequest.builder()
.setTappId(TappId)
.setTappVersion(TappVersion)
.setAuthData(userIdData)
.build;
// 发送授权 TAPP 请求
TappAuthorizeResponse tappAuthorizeResponse = restClient.authorizeTapp(tappAuthorizeRequest);
执行 TAPP
TappExecuteResponse executeTapp(TappExecuteRequest executeRequest);
参数 |
类型 |
说明 |
executeRequest |
TappExecuteRequest |
TAPP 执行请求体 |
返回字段 |
字段类型 |
说明 |
executeResponse |
TappExecuteResponse |
TAPP 执行响应体 |
// 构造执行 TAPP 请求
TappExecuteRequest tappExecuteRequest = TappExecuteRequest.builder()
.defaultRequest(tappId, tappVersion, testReqMethod)
.addString(tappArgs)
.build();
// 发送执行 TAPP 请求
TappExecuteResponse tappExecuteResponse = restClient.executeTapp(tappExecuteRequest);