在我的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/

10-13 01:47