Android API

Android的API是基于Java的。本文根据特性总结了Citrix端点管理API,并提供了API定义。

应用管理:

  • isManaged
  • isWrapped

MDX政策:

  • getPoliciesXML
  • getPolicyValue
  • setPolicyChangeMessenger

共享库:

  • MDXDictionary

用户数据:

  • getUserName

类com.citrix.worx.sdk.MDXApplication

方法

  • isManaged

    isManaged(上下文上下文)

    检查应用程序当前是否由MDX管理,这意味着设备上安装了Citrix Secure Hub应用程序,并且在应用程序上执行了Citrix端点管理策略。端点管理后端基础设施(密钥库)查询数据加密部分密钥(秘密),MDX将使用这些密钥加密应用程序文件数据。如果应用程序被管理,则返回true。

    非托管高级应用使用在Applications/Citrix/MDXToolkit/data/MDXSDK_Android/default_sdk_policies.xml中指定的端点管理策略默认值。策略不会对非托管的General应用程序强制执行。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    布尔bIsManaged = MDXApplication.isManaged(context);

  • isWrapped

    isWrapped (Context Context)

    如果应用程序被MDX Toolkit包装,则返回true。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    布尔bIsWrapped = MDXApplication.isWrapped(context);

  • getUserName

    getUserName (Context Context)

    返回一个字符串,该字符串包含运行mdx管理的应用程序的注册用户的用户名,无论用户登录状态如何。如果用户没有注册,应用程序没有被管理,或者应用程序没有被包装,则返回nil。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    字符串userName = MDXApplication.getUserName(context);

类com.citrix.worx.sdk.MDXPolicies

方法

  • getPoliciesXML

    getPoliciesXML (Context Context)

    返回default_sdk_policies.xml的内容,每个策略一行,前缀为(match),以表示XML文件中的值与返回的值匹配MDXPolicies.getPolicyValue ().失败时返回空字符串。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    字符串policyesxml = MDXPolicies.getPoliciesXML(context);

  • getPolicyValue

    getPolicyValue (Context Context, String policyName)

    返回一个字符串其中包含指定策略的当前值。返回如果没有找到值。

    参数

    上下文-发出这个调用的Android上下文。

    policyName—要搜索的策略名称。策略名称是策略的值PolicyName元素。

    例子

    字符串值= MDXPolicies.getPolicyValue(context"DisableCamera");

  • setPolicyChangeMessenger

    public static String setPolicyChangeMessenger (Context Context, String policyName.)信使信使)

    注册一个Messenger以在给定策略的值更改时接收消息。当MDX检测到Citrix Endpoint Management控制台中的策略值更改时,MDX通知此消息。然后可以使用其他api重新读取策略值并更改应用程序。返回

    参数

    上下文-发出这个调用的Android上下文。

    policyName—要监控的策略名称。策略名称是策略的值PolicyName元素。

    信使—当策略值发生变化时接收消息的信使。

    例子

    MDXPolicies。setPolicyChangeMessenger(上下文、“DisableCamera”信使);

类com.citrix.mdx.common.MDXDictionary

MDXDictionary是一个容器,用于读取和存储加密的Android键-值对包。同一个MDX安全组中的移动生产力应用程序共享一个字典。使用共享仓库API在具有相同MDX字典的应用程序之间共享托管内容。例如,您可以通过注册的应用程序共享证书和私钥,以便应用程序可以从安全仓库而不是从secure Hub获得证书。

无论私有文件加密策略和公共文件加密策略设置如何,字典都是加密存储的。开发人员在检索字典之前必须解锁仓库。

构造函数

  • 公共MDXDictionary(MDXDictionary源代码)

    构造现有MDXDictionary的副本。

    参数

    -应该复制的MDXDictionary。

  • public MDXDictionary(字符串名,Bundle包,长序列)

    从名称、包和序列号构造MDXDictionary。如果不知道序列号,请使用create()工厂方法。

    参数

    的名字-字典的名字。

    ——Android捆绑包。

    序列-序列号。

方法

  • 创建(Context Context, String name)

    通过首先检查同名字典是否已经存在来创建字典。如果字典不存在,则返回一个新字典。否则,将返回现有的字典。此方法永不返回

    参数

    上下文-发出这个调用的Android上下文。

    的名字-字典的名字。

    例子

    //创建一个字典实例。

    MDXDictionary dict = MDXDictionary.create(getContext(), "app-settings");

  • 删除上下文上下文,字符串名称

    按名称删除字典。返回真正的在成功;返回在失败。

    参数

    上下文-发出这个调用的Android上下文。

    的名字-字典的名字。

    例子

    //创建一个字典实例。

    MDXDictionary.delete (getContext(),“app-settings”);

  • 查找MDXDictionary的上下文和字符串名称

    查找现有的字典。返回一个现有的字典;返回如果没有找到字典。

    参数

    上下文-发出这个调用的Android上下文。

    的名字-字典的名字。

    例子

    MDXDictionary dict = MDXDictionary.find(getContext(),"app-settings");

    if(dict != null){//使用字典}
  • public boolean isNew()

    检查这是新字典还是现有字典。返回真正的如果字典还不存在。

    例子

    MDXDictionary dict = MDXDictionary.create(getContext(), "app-settings");

    if (dict.isNew()){//没有找到字典。} else{//找到现有的字典。}
  • 公共布尔值保存(上下文上下文)

    存储加密字典。如果存在同名的字典,则将覆盖该字典。返回真正的在成功;返回在失败。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    MDXDictionary dict = MDXDictionary.find(getContext(), "app-settings");

    if(dict != null){字符串证书= getCertificate();dict.bundle。putString("secret-certificate",证书);//通过覆盖现有的bundle来更新bundle。字典保存(getContext ());}
  • 公共布尔值附加(上下文上下文)

    将加密字典追加到现有字典。如果不存在字典,则存储指定的字典。返回真正的在成功;返回在失败。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    MDXDictionary dict = MDXDictionary.find(getContext(), ";app-settings");

    if(dict != null){字符串证书= getCertificate();Bundle Bundle = new Bundle();包。putString("secret-certificate",证书);字典包=包;字典追加(getContext ());//注意dict。包may not match the state of the // bundle that was stored. The stored bundle could be // larger. }
  • 公共布尔值删除

    删除字典。返回真正的在成功;返回在失败。

    参数

    上下文-发出这个调用的Android上下文。

    例子

    MDXDictionary dict = MDXDictionary.find(getContext(), "app-settings");

    if(dict != null) {dict.delete(getContext());}

笔记和注意事项

  • 构造函数将抛出IllegalArgumentException当传入错误参数时。
  • create ()操作将永远不会返回null。如果加密策略已启用,则用户有责任确保加密策略已解锁create ()被称为。
  • append ()如果可解析或序列化的存储对象不是已知的Java或Android数据类型,则操作可能失败。安全中心无法解组字典,因为安全中心内部不知道该类。
  • append ()操作将其绑定包附加到现有的字典绑定包。如果所存储的bundle与字典中的bundle不同,则本地bundle将不会反映所存储的bundle的状态。一个find ()操作或create ()操作是查询以前存储的bundle的状态所必需的。
Android API