在我的Tizen Werable Web应用程序(目标:Tizen 2.3.2)中,我需要在SAP[三星附件协议]认证实现中获取配对智能手机应用程序的检查令牌的作者证书公钥(用于签名应用程序)。
Werable应用程序和智能手机应用程序(Android)使用相同的密钥库进行签名。
是否可以通过packagemanager api或类似方式?
var myAppSigCert = "";//I NEED THIS ONE
SAAgent.authenticatePeerAgent(peerAgent,
function(peerAgent, authToken){
if (authToken.key === myAppSigCert ) {
alert("Service connection request accepted: " + peerAgent.appName);
SAAgent.acceptServiceConnectionRequest(peerAgent);
}else{
alert("Service connection request REJECT: " + peerAgent.appName);
SAAgent.rejectServiceConnectionRequest(peerAgent);
}
});
最佳答案
找到了。首先在web应用程序的config.xml中添加证书特权:
<tizen:privilege name="http://tizen.org/privilege/appmanager.certificate"/>
然后只需调用tizen.application的getappcert方法:
var appCerts = tizen.application.getAppCerts(null);
for (var i = 0; i < appCerts.length; i++) {
console.log("#" + i + " type:" + appCerts[i].type);
console.log("#" + i + " value:" + appCerts[i].value);
}
appmanager.certificate权限需要使用合作伙伴级别的签名authorcertificate,对于公共authorcertificate,它在应用程序安装期间返回此异常:
- [MISMATCHED_PRIVILEGE_LEVEL]Signature Level is too low to use http://tizen.org/privilege/appmanager.certificate - Signature Level = public, Privilege Level = partner
有关Tizen权限的更多信息,请访问:
https://www.tizen.org/tv/privilege
有关权限安全系统的信息:
https://developer.tizen.org/dev-guide/2.4/org.tizen.gettingstarted/html/web/details/sec_privileges_w.htm
在运行时获取签名证书公钥的API引用:https://developer.tizen.org/development/api-references/web-application?redirect=https://developer.tizen.org/dev-guide/2.3.2/org.tizen.web.apireference/html/device_api/wearable/tizen/application.html#ApplicationManager::getAppCerts
关于android - 如何在tizen可穿戴式Web应用程序中获得作者证书的公钥?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46891848/