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"为被授权人的AccessIdUserIdentityData 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);