【问题标题】:Use certificate to access a local program?使用证书访问本地程序?
【发布时间】:2010-12-15 06:43:49
【问题描述】:

我希望,在运行本地程序时,该程序能够在当前目录中检查证书,并且仅当它发现该证书有效时,才允许用户访问其其余功能.

这听起来有点牵强?还是这类似于 AIR 或 iPhone 应用程序的功能?

我应该使用什么证书类型?什么加密?以 PGP 为起点是个好主意吗?

更新:想法是使用证书进行身份验证。这将替换密码。

干杯,

-克里斯。

【问题讨论】:

  • 您是否有正在编写的应用程序,或者这是您要保护的现有应用程序?即您可以修改此应用程序的源代码吗?此外,此证书是否应在每次安装时有效,还是您打算分发此证书?
  • 嗨,我正在从头开始编写应用程序,所以修改它的代码没有问题。它也是最终用户默认没有的证书。它将被发送给他们。
  • 你还没有说明你的目标是什么。检查证书有什么意义?该问题被标记为“安全”;这是关于机密性、身份验证或授权的吗?还是只是一个 DRM/许可方案?
  • 对。然后我更新了我的问题。

标签: security certificate


【解决方案1】:

这些东西通常被称为“许可证文件”而不是证书。您使用它们来验证用户而不是密码,但这是一回事。

您通常使用像 RSA(在 PGP 中使用的)这样的公钥密码系统来构建它。您生成一个密钥对,并将公钥嵌入到您的应用程序中。然后,您为客户编写许可证文件,并使用私钥对其进行数字签名。当应用启动时,它会查找许可证文件并验证签名。

您可以通过各种方式实现这一点。标准方法是使用 PKCS#7 作为签名信封格式,RSA 或 DSA 作为非对称算法,SHA-1 作为哈希算法,AES 作为对称算法。

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 1970-01-01
    • 2011-04-06
    • 2019-06-04
    • 1970-01-01
    • 2020-05-09
    • 2010-11-20
    • 2016-10-06
    相关资源
    最近更新 更多