【问题标题】:Installing client certificate on android programmatically without dialog?在没有对话框的情况下以编程方式在android上安装客户端证书?
【发布时间】:2014-12-16 12:43:02
【问题描述】:

我正在尝试使用以下代码以编程方式在 android 上安装客户端证书:

Intent clientCertInstall = KeyChain.createInstallIntent();
clientCertInstall.putExtra(KeyChain.EXTRA_PKCS12, clientCert);
clientCertInstall.putExtra(KeyChain.EXTRA_NAME, "Client Cert");
MyActivity.this.startActivityForResult(clientCertInstall, REGISTER_CLIENT_CERT);

安装活动启动时,android 要求用户输入证书密码(虽然没有密码,只需单击确定即可)

此外,在单击“确定”后,android 要求用户输入证书的名称,尽管我在“KeyChain.EXTRA_NAME”参数中给了他一个名称。

这种行为让我的用户很恼火,他们不了解证书,只想在没有对话框的情况下自动安装它,我该如何实现?避免一个对话会很有帮助。

谢谢,

【问题讨论】:

    标签: android certificate client-certificates


    【解决方案1】:

    这是"by design"。允许应用程序在未经用户批准的情况下安装证书将增加对 SSL 安全通信渠道(如网上银行)的中间人攻击的可能性。也就是说,对话框不会告诉您这些,用户无疑会按 OK,不管它说什么。

    【讨论】:

      猜你喜欢
      • 2012-07-24
      • 2017-03-20
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 2019-10-10
      • 2018-03-04
      • 2018-10-31
      相关资源
      最近更新 更多