问题:如何用代码的形式给数字证书添加 Everyone 角色
目前已经能将证书安装完成,但是只是用可视化的操作添加权限角色,现在希望用代码自动添加,在网上找了很多相关内容,但是没有合适的解决方案。 哪位兄弟知道这方面内容的话方便告知一下。感谢。
storee = new X509Store(StoreName.My, StoreLocation.LocalMachine); storee.Open(OpenFlags.MaxAllowed); X509Certificate2 myX509Certificate2 = new X509Certificate2( path, //证书路径 pwd, //证书的私钥保护密码 X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet //表示此证书的私钥以后还可以导出|私钥储存在本地计算机 ); //myX509Certificate2.Archived = true;//是否存档 RSACryptoServiceProvider rsa = myX509Certificate2.PrivateKey as RSACryptoServiceProvider; CryptoKeyAccessRule rule = new CryptoKeyAccessRule("Everyone", CryptoKeyRights.FullControl, AccessControlType.Allow); rsa.CspKeyContainerInfo.CryptoKeySecurity.AddAccessRule(rule); //添加权限 AuthorizationRuleCollection au = rsa.CspKeyContainerInfo.CryptoKeySecurity.GetAccessRules(true, true, typeof(System.Security.Principal.SecurityIdentifier));//查看所有权限
添加权限的操作是没有问题,但是查看所有权限的时候却没有显示,而且实际控制台中也没有显示。