3
所以我搜索了一段時間,並沒有真正找到我需要的東西(因爲每個結果都是關於簽名的實際包)。所以基本上,我所做的是Web服務受到會話管理器的保護,爲了獲得會話編號,需要將GUID發送到WebService。在iOS方面,我們能夠獲得此設置(因爲開發WebService的團隊有iOS開發人員可以提供幫助),但由於該團隊中沒有人或者在這裏沒有太多有關Android的經驗,因此難以嘗試數字瞭解如何做同樣的事情。下面是我迄今爲止所嘗試的,但是生成的GUID由一些奇怪的字符組成,並且不起作用,所以當我繼續尋找其他選項時,我被卡住了。Android標誌數據與P12證書
String password = "password";
String text = "545048";
KeyStore keyStore = KeyStore.getInstance("pkcs12");
InputStream inputStream = activity.getResources().openRawResource(R.raw.am_client);
keyStore.load(inputStream, password.toCharArray());
String alias = keyStore.aliases().nextElement();
PrivateKey privateKey = (PrivateKey)keyStore.getKey(alias, password.toCharArray());
X509Certificate certificate = (X509Certificate)keyStore.getCertificate(alias);
//Sign Data
byte[] dataToSign = text.getBytes("UTF-8");
Signature signature1 = Signature.getInstance("SHA1WithRSA");
signature1.initSign(privateKey);
signature1.update(dataToSign);
byte[] signedData = signature1.sign();
String signed = new String(signedData, "UTF-8");
Log.d("MESSAGE", "string = " + signed);
//This is what comes up in the Log: ��m(N� �xp�r���K�V>G3b���M��W08���6#�͞�+�/�]�,�o���N"�$��uVa�ƾ�~��