如何解决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 给我的 authToken
与 myAppKey
不匹配。即使比较它们的尺寸也没有加工。
因此,如果您对什么是 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。
在添加新配置文件时,并没有让我在 Tizen 或 Samsung 之间做出选择,只是出于某种奇怪的原因直接选择了 Tizen。因此,我无法从导入的 Android 作者证书生成作者证书。
重新安装后,按照SDK的指导,我成功了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。