作为测试SCEP服务器的一部分,我向我的iOS设备发送了大量SCEP请求,以创建RSA密钥对。
在注册过程中,一些CSR实际上已由SCEP服务器签名并返回到设备。
但是,我想从设备中删除旧的密钥/证书以重新开始,因为设备中的证书列表太长了(想象一下我经历了多少次尝试和错误步骤)。
问题是,其中一些证书没有显示在Settings/General/Profile下面。只有当我进入VPN条目并选择证书作为身份验证方法时,它们才会出现。
问题:
是否有办法要求iOS设备从其KeyChain中删除密钥/证书?
发布于 2014-08-20 14:06:06
最后,我想出了两个选择:
在一个越狱设备上,人们可以使用Keychain应用程序(0.4版)来帮助进程。我就是这样做的:
dpkg -i keychainviewer0.4_beta.deb)rowid。chmod u+r /private/var/Keychains/keychain-2.dbsqlite3 /private/var/Keychains/keychain-2.db警告:下面的线条是破坏性的!
Keychains 备份整个目录。最好是备份一下你的整个设备,以防出问题。
在你自己的危险中前进!
DELETE FROM keys WHERE labl IN (SELECT DISTINCT(labl) FROM cert WHERE rowid=_row_id_you_want_);DELETE FROM cert WHERE rowid=_row_id_you_want_;另一个版本是基于要删除的证书的颁发者。在这种情况下,您将执行以下操作:
rowid。SELECT quote(issr) FROM cert WHERE rowid=_row_id_you_want_;X'F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0',这是发行人名二进制blob存储在Keychain中的十六进制符号(我认为这是加密的形式)。DELETE FROM keys WHERE labl in (SELECT DISTINCT(labl) FROM cert WHERE issr=X'F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0');DELETE FROM cert WHERE issr=X'F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0');发布于 2014-06-20 16:48:46
首先,这是一个有趣的问题。
我认为唯一的办法是擦除(擦除所有设置)。我不知道任何API、配置概要文件或MDM命令可以具体做到这一点。
我相信,这是iOS的错误。当适当的配置配置文件被删除时,应该删除客户端证书。所以,你应该把它发出来。
发布于 2014-06-20 21:52:36
您是如何向iOS设备发送SCEP请求的?我很好奇。
通常,设备上的某些内容会发出SCEP请求并接收证书。
您所看到的项目很可能在密钥链中。在这种情况下,只有添加它们的应用程序才能删除它们。如果这是一个场景,下面是一个有用的链接:http://useyourloaf.com/blog/2010/03/29/simple-iphone-keychain-access.html
https://stackoverflow.com/questions/24319346
复制相似问题