如何解决打开证书存储仅程序
我正在实现一个程序,该程序涉及在证书存储区中保存和读取证书。
通过以下两个API完成证书的打开和读取:
CertOpenStore()
CertFindCertificateInStore()
例如,证书(A)由程序存储在证书存储中,并且我希望用户无法与存储证书的存储进行交互(手动添加,删除证书...)。证书的删除或添加仅由程序实现。 那我该怎么办呢?
谢谢。
解决方法
基本上,您无法完全使用它,因为它类似于DRM问题。用户始终可以对应用程序进行逆向工程并创建自己的运行时。
您可以尝试在存储上执行MAC,并将密钥保留在您的应用程序中。但是,如果用户找到了密钥,则可以更改您的商店并可以创建新的身份验证标签。
最后,您需要为应用程序提供一个受信任的执行环境(TEE)或某种访问权限(即,在可以更改文件的特定用户下运行,而普通用户只能读取该文件)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。