Client 初始化
public AliCloudMytfClient(AliCloudClientConfig config);
參數(shù) |
類型 |
說(shuō)明 |
config |
AliCloudClientConfig |
配置信息 |
獲取 MYTF 平臺(tái)信息
客戶端初始化時(shí),會(huì)自動(dòng)獲取 MYTF 身份信息,并根據(jù)用戶設(shè)置的配置信息對(duì) MYTF 可信計(jì)算引擎進(jìn)行核身。
public MYTFInfo getMYTFInfo();
// 獲取 MYTF 信息
MYTFInfo mytfInfo = restClient.getMYTFInfo();
Assert.assertNotNull(mytfInfo);
// 獲取該 MYTF 實(shí)例可信區(qū)代碼簽發(fā)者的公鑰測(cè)量
byte[] MRSigner = mytfInfo.getMrSigner();
// 獲取該 MYTF 實(shí)例中可信區(qū)代碼的度量值
byte[] MREnclave = mytfInfo.getMrEnclave();
// 獲取該 MYTF 實(shí)例所在域名
String domainName = mytfInfo.getDomainName();
// 獲取該 MYTF 實(shí)例所在區(qū)名
String regionName = mytfInfo.getRegionName();
// 獲取該 MYTF 版本號(hào)
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);
參數(shù) |
類型 |
說(shuō)明 |
tappId |
String |
TAPP 名稱 |
version |
int |
TAPP 版本號(hào) |
返回字段 |
字段類型 |
說(shuō)明 |
tappInfo |
TappInfo |
TAPPInfo 結(jié)構(gòu)體 |
// 獲取 TAPP 信息
TappInfo tappInfo = restClient.getTappInfo(tappId, tappVersion);
Assert.assertNotNull(tappInfo);
// 獲取 TAPP 名稱
String tappID = tappInfo.getTappId();
// 獲取 TAPP 版本號(hào)
int tappVersion = tappInfo.getVersion();
// 獲取 TAPP 執(zhí)行引擎類型
String tappExeEngine = tappInfo.getExecEngine().getEngineType();
// 獲取 TAPP 字節(jié)碼測(cè)量值
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);
參數(shù) |
類型 |
說(shuō)明 |
installRequest |
TappInstallRequest |
TAPP 安裝請(qǐng)求體 |
返回字段 |
字段類型 |
說(shuō)明 |
installResponse |
TappInstallResponse |
TAPP安裝響應(yīng)體 |
// 構(gòu)造安裝 TAPP 請(qǐng)求
TappInstallRequest tappInstallRequest = TappInstallRequest.builder()
.newTapp(tappId, tappVersion, bytecodes)
.setTappDescription(tappDesc)
.build();
// 發(fā)送安裝 TAPP 請(qǐng)求
TappInstallResponse tappInstallResponse = restClient.installTapp(tappInstallRequest);
授權(quán) TAPP
TappAuthorizeResponse authorizeTapp(TappAuthorizeRequest authorizeRequest);
參數(shù) |
類型 |
說(shuō)明 |
authorizeRequest |
TappAuthorizeRequest |
TAPP 授權(quán)請(qǐng)求體 |
返回字段 |
字段類型 |
說(shuō)明 |
authorizeResponse |
TappAuthorizeResponse |
TAPP 授權(quán)響應(yīng)體 |
// 構(gòu)造被授權(quán)人信息,"user_id"為被授權(quán)人的AccessId
UserIdentityData userIdData = new UserIdentityData(UserDomainEnum.BAASREST,"user_id","", AccessTypeEnum.EXECUTE);
// 構(gòu)造授權(quán) TAPP 請(qǐng)求
TappAuthorizeRequest tappAuthorizeRequest = TappAuthorizeRequest.builder()
.setTappId(TappId)
.setTappVersion(TappVersion)
.setAuthData(userIdData)
.build;
// 發(fā)送授權(quán) TAPP 請(qǐng)求
TappAuthorizeResponse tappAuthorizeResponse = restClient.authorizeTapp(tappAuthorizeRequest);
執(zhí)行 TAPP
TappExecuteResponse executeTapp(TappExecuteRequest executeRequest);
參數(shù) |
類型 |
說(shuō)明 |
executeRequest |
TappExecuteRequest |
TAPP 執(zhí)行請(qǐng)求體 |
返回字段 |
字段類型 |
說(shuō)明 |
executeResponse |
TappExecuteResponse |
TAPP 執(zhí)行響應(yīng)體 |
// 構(gòu)造執(zhí)行 TAPP 請(qǐng)求
TappExecuteRequest tappExecuteRequest = TappExecuteRequest.builder()
.defaultRequest(tappId, tappVersion, testReqMethod)
.addString(tappArgs)
.build();
// 發(fā)送執(zhí)行 TAPP 請(qǐng)求
TappExecuteResponse tappExecuteResponse = restClient.executeTapp(tappExecuteRequest);