TTSDK

TTSDK(TrustTracker SDK,簡稱TTSDK),由亚慱体育 開發,用於驗證和追溯APK(Android Application Package file)簽名。

TTSDK分兩個版本:TTSDK-Android和TTSDK-PC。TTSDK以Jar包的形式提供,封裝了Android係統下PKI相關的功能模塊,提供了對Android APK中簽名文件的解析、副署簽名的驗證,支持通過SVS和OCSP兩種方式查詢簽名證書狀態。使用TTSDK可以方便快速的將驗證和追溯APK簽名的代碼集成到已有的平台或者APP中。

TTSDK的使用許可如下:

TTSDK許可比較
版本/特性 TTSDK-Android TTSDK-PC(免費版) TTSDK-PC(商業版)
使用環境 Android PC/服務器 PC/服務器
使用限製 僅可自用,不得出售、轉讓、分發 無(需要來自亚慱体育 的書麵授權許可)
技術支持 E-mail/電話 E-mail E-mail/電話/現場(需另外付費)

部分示例代碼如下:
1)對未安裝的APK驗證其原生簽名

//首先獲得未安裝APK的全路徑
String apkPath ="../../XXX.apk";

//然後調用TTAPKSignatureVerifier的靜態函數驗證即可
boolean result = TTAPKSignatureVerifier. verifySignature (apkPath);

2)判斷APK(已安裝)是否含有副署簽名,如有並驗證簽名

PackageInfo packageInfo = ...;//獲得App 的PackageInfo對象
//讀取 Apk 中的包含簽名信息的RSA數據
byte[] rsaData = TTCounterSignatureTracker.readRSAFile(packageInfo);
//構造副署簽名的 Verifier
TTCounterSignatureVerifier csVerifier = new TTCounterSignatureVerifier(rsaData);
//判斷 RSA 數據中是否含有副署簽名
Boolean hasCounterSign = csVerifier.hasCounterSignature();
if (hasCounterSign) {
  //校驗RSA數據中的副署簽名是否正確,這裏校驗每一個副署簽名,隻要一個副署簽名驗證失敗,
  //則返回驗證結果false,全部都通過,返回true
  Boolean isCSCorrect = csVerifier.verifyCounterSignature();
  ....
}

3)判斷APK(未安裝)是否含有副署簽名,如果有驗證副署簽名

//首先獲得未安裝APK的全路徑
String apkPath = "../../XX.APK";//獲得App的全路徑

//然後構造副署簽名驗證器
TTCounterSignatureVerifier verifier= new TTCounterSignatureVerifier (apkPath);

//判斷是否含有副署簽名,如果有則驗證副署簽名
if(verifier. hasCounterSignature()){
  boolean result = verifier. verifyCounterSignature();
}

4)在線查詢數字證書狀態

//在線SVS方式驗證證書狀態
String entityCert = "MII..";//實體證書
//構造SVS方式的證書驗證器
TTSVSVerifier svsVerifier =new TTSVSVerifier();
//驗證證書
boolean result = svsVerifier.verify(entityCert);
//如果驗證結果失敗,獲取錯誤代碼
if(!result){
	String errorCode = svsVerifier.getErrorCode();
}

TTSDK-Andorid 目前最新的版本是v1.1.0,下載地址如下:

下載 “TTSDK-Android v1.1.0” ttsdk-android-1.1.0.zip – 已下載3716次 – 2 MB

TTSDK-PC目前最新的版本是v1.1.0,下載地址如下:

下載 “TTSDK-PC v1.1.0” ttsdk-pc-1.1.0.zip – 已下載1988次 – 2 MB

TTSDK使用了BouncyCastle庫, 下麵是BouncyCastle許可信息:

LICENSE
Copyright (c) 2000 – 2013 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.