密钥集不存在

转帖:“0x80090016错误,密钥集不存在”的解决

 
PS:今天发现服务器上的任务计划没执行,一检查报错了。借助网络问题搞定,顺便把解决方法转过来。原文出自:http://blog.gx.vnet.cn/6/viewspace-9957.html#xspace-tracks
----------------------分割线下方,正文开始-----------------------------
 
  任务计划创建失败,显示密钥集不存在错误:
 
  无法安排任何任务或修改现有任务的帐户凭据。当您尝试创建新计划任务, 可能会收到以下错误信息:
 
  新任务已创建, 但可能不运行因为尚未设置帐户信息。 键集不存在。
如果您尝试修改的现有任务, 帐户凭据可能会收到以下错误信息:
常规页面初始化失败: 账户密钥集不存在  错误是: 0x80090016。
 
  这个就影响正常使用了,因为已经无法创建任务计划了,即使创建成功了,也无法启动。这个问题是什么原因引起的?在微软网站上找到这么一句话:This issue can occur if a registry key exists which modifies the default behavīor of the Cryptography APIs. In this case, the Cryptography APIs cannot create the public and private encryption keysets that are necessary to continue the installation.“这个问题产生于如果一个现存的注册表键它修改了加密的api的默认行为,在这种情形下,加密的api将不能创建公钥和私钥来继续完成安装。”(翻译得不好,但大致就这意思啦)
 
  由此追查原因,是由于某种行为导致这册表改动了默认的密钥,而protected storage服务可能又失灵了,没能起到存储本地密码信息的作用,结果使原有密钥集内容丢失,所以才有之前报错所说的“尚未设置帐户信息”。那么是什么举动到这这一问题?结合计划任务的日志,得知在很早以前就有这个问题了,只是我一直没发现,该死。现在想去探究那时到底发生了什么也不大可能了。所以干脆把这问题解决了,日后多注意也就是了。
 
  解决的办法倒很简单,先 net start “protected storage” 开启这个服务(其实就是lsass.exe),再将现有这个不完整的密钥删除掉,先备份再删除掉下面的项:
HKEY_USERS\Default\Software\Microsoft\Cryptography\Providers\Type 001
如果找不到这项,直接去删除掉  x:\documents and settings\all users\application data\microsoft\crypto\rsa\s-1-5-18\ 中的所有密钥文件,然后重启电脑以新建密钥,到此问题应该得以解决了。(记住,在做这些事情之前,一定要对相应的文件和注册表项进行备份!)
 
  注释: “rsa加密算法”是一种不对称性加密算法,rsa是1977年发明该算法的三个人的名字的开头字母。“crypto”是国际密码研讨年会,也被指为密码算法的统称。“s-1-5-18"是NT AUTHORITYSYSTEM账户的SID的标志。限于篇幅,关于sid不再详述。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章