日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

核心模塊

SDK 包含以下兩個核心模塊:

TrustRoot

TrustRoot是 SDK 的核心驗證模塊,負責驗證可信計算應用的身份和計算行為。當初始化配置信息時,其中的信任根信息會注入到TrustRoot模塊中。

信任根信息包括 IAS 根證書IASCACert、可信區(qū)代碼度量值MrEnclave、可信區(qū)代碼簽發(fā)者公鑰度量值MrSigner,在您首次初始化客戶端時注入。您可以設置信任等級 TrustLevel,根據(jù)自身需求選擇驗證級別。

  • 信任等級為 0 時,不校驗 MYTF 身份信息。

  • 信任等級為 1 時,校驗 MrSigner,即驗證該 MYTF 為螞蟻區(qū)塊鏈簽發(fā)的可信計算引擎。

  • 信任等級為 2 時,校驗 MrEnclave,即驗證該 MYTF 可信區(qū)代碼的度量值。

驗證 MYTF 是否可信,實際上是驗證 IAS Intel 遠程驗證服務對 MYTF 的遠程認證報告。Remote Attestation遠程認證流程會驗證 MYTF 是否為正確的可信執(zhí)行代碼并生成遠程認證報告 AVR。報告中包括 MYTF 代碼信息和所在硬件信息。SDK 在初始化時,會自動獲取 MYTF 的 AVR 報告,并對該 MYTF 進行核身校驗。

參數(shù)

類型

說明

trustedMrEnclave

String

用戶所信任的代碼度量值

trustedMrSigner

String

用戶所信任的 MYTF 簽發(fā)者公鑰度量值

trustedIASCert

String

IAS CA 根證書

domainName

String

域名

regionName

String

分區(qū)名

  • 使用示例

// 以下場景涉及到三方,第三方服務平臺為用戶提供隱私保護的可信計算服務,將業(yè)務邏輯寫成TAPP,安裝到 C3S 平臺中
// 第三方服務平臺安裝 TAPP 后獲取 MYTFInfo 和 TAPPInfo
 MYTFInfo mytfInfo = restClient.getMYTFInfo();
 TappInfo tappInfo = restClient.getTappInfo(tappId, tappVersion);

 // 第三方服務平臺從 MYTFInfo 和 TAPPInfo 中提取證明并將證明提供給第三方服務平臺的用戶
 String providedMYTFProfile = mytfInfo.getMytfProfile();
 String providedTAPPProfile = tappInfo.getTappProfile();

// 第三方服務平臺的用戶本地設置信任根和驗證方式
TrustRoot userTrustRoot = new TrustRoot(1, IAS_CA_CERT, MYTF_MRSIGNER, MYTF_MRENCLAVE);

// 第三方服務平臺的用戶驗證服務平臺提供的 MYTFProfile,檢查 MYTFInfo 是否正確以確定第三方服務平臺使用的是正確的 C3S 服務
Assert.assertTrue(userTrustRoot.loadMYTFInfo(providedMYTFProfile));

// 第三方服務平臺的用戶驗證服務平臺提供的 TAPPProfile,檢查 tappInfo 是否正確以確定第三方服務平臺使用的是正確的 TAPP
TappInfo tappInfo1 = userTrustRoot.getTappInfo(providedTAPPProfile);

KeyStore

KeyStore是 SDK 的密鑰管理模塊,負責管理可信計算過程中所需要的密鑰,并提供加密、解密、簽名、驗簽等接口。當用戶初始化設置配置信息時,其中的密鑰信息會注入到KeyStore模塊中。

參數(shù)

類型

說明

accessKeypair

UserKeyPair

RSA 用戶訪問公私鑰對

identityKeypair

ECCKeypair

ECC 用戶身份公私鑰對

secretKeypair

Keypair

ECC 用戶隱私公私鑰對

  • 使用示例

// 獲取客戶端中的 KeyStore
KeyStore keyStore = restClient.getKeyStore();

// 獲取用戶密鑰
UserKeyPair userAccessKeyPair = restClient.getKeyStore().getAccessKeypair();
UserKeyPair userIdentityKeyPair = restClient.getKeyStore().getIdentityKeypair();
UserKeyPair userSecretKeyPair = restClient.getKeyStore().getSecretKeypair();

// 通過用戶隱私密鑰,構(gòu)造并打開 tappEnvelope
String plainData = "this is test for envelopeOpen & envelopeBuild";
byte[] tappEnvelope = restClient.getKeyStore().buildTappEnvelope(tappInfo, plainData.getBytes());
byte[] envelopeRecoverPlainData = restClient.getKeyStore().openTappEnvelope(tappInfo, tappEnvelope);

// 通過用戶訪問密鑰,進行RSA 簽名、驗簽
String plainData2 = "this is test for RSASign & RSAVerify";
byte[] sig = restClient.getKeyStore().accessKeySign(plainData2.getBytes());
Assert.assertTrue(restClient.getKeyStore().accessKeyVerify(plainData2.getBytes(), sig));