Tizen Secured 配套样本不工作

问题描述

从这里下载源:https://developer.samsung.com/galaxy-watch-develop/samples/companion/hello-native.html

在这里尝试过:https://developer.samsung.com/galaxy-watch-develop/samples/companion/security-native.html

但无法在 Tizen 和 Android 之间使用“安全”套接字。

下面是一些来自 Android 的有用日志(因为这部分似乎失败了):

2021-03-23 18:21:37.903 10288-10365/com.samsung.android.sdk.accessory.example.provider D/AccessoryProvider(P): onAuthenticationResponse
2021-03-23 18:21:37.909 10288-10365/com.samsung.android.sdk.accessory.example.provider D/AccessoryProvider(P): onAuthenticationResponse: matched=false,authToken.getKey().length=294,myAppKey.length=162
2021-03-23 18:21:37.910 10288-10365/com.samsung.android.sdk.accessory.example.provider I/[SA_SDK]SAAgentV2: onAuthenticationResponse() -> AUTHENTICATION_SUCCESS

中间是我的,问题是 SAP 给我的 authTokenmyAppKey 不匹配。即使比较它们的尺寸也没有加工。

因此,如果您对什么是 authToken.getKey() 以及它是什么类型的密钥(长度为 294 字节)有任何想法,请告诉我。

myAppKey 是这样构造的:

Signature[] sigs = pkgInfo.signatures;
Log.d(TAG,"getApplicationCertificate,sigs[0].toByteArray().length=" + sigs[0].toByteArray().length); //481

CertificateFactory cf = CertificateFactory.getInstance("X.509");
ByteArrayInputStream stream = new ByteArrayInputStream(sigs[0].toByteArray());
X509Certificate x509cert = X509Certificate.getInstance(stream);
myAppKey = x509cert.getPublicKey().getEncoded();
Log.d(TAG,x509cert.getPublicKey().getEncoded().length=" + x509cert.getPublicKey().getEncoded().length); //162

解决方法

请使用以下链接下载安全示例应用。 https://developer.samsung.com/galaxy-watch-develop/samples/companion/security-native.html

并且请仔细检查用于构建 Tizen 和 Android 应用程序的作者证书是否相同。

,

解决方案是完全重新安装 Tizen Certificate Manager

在添加新配置文件时,并没有让我在 TizenSamsung 之间做出选择,只是出于某种奇怪的原因直接选择了 Tizen。因此,我无法从导入的 Android 作者证书生成作者证书。

重新安装后,按照SDK的指导,我成功了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...