为每个人提供MachineKeys文件夹的完整权限有哪些安全后果?

时间:2012-06-11 20:18:13

标签: asp.net security

我收到“无法获取StrongNameKeyPair的公钥”。在我的asp.net应用程序中使用Newtonsoft的JsonConvert.SerializeObject方法的异常。它在本地工作,但不在我们的测试服务器上。 (如果你知道原因,请在http://json.codeplex.com/workitem/22692帮助我): - )

我发现Unable to obtain public key for StrongNameKeyPair和其他一些帖子提到更改C:\ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys目录的权限,但是这样安全,我的网络管理员甚至会让我这样做?

编辑:这是一个堆栈跟踪: 3e无法获取StrongNameKeyPair的公钥。       System.ArgumentException          在System.Reflection.StrongNameKeyPair.ComputePublicKey()    在System.Reflection.StrongNameKeyPair.get_PublicKey()    在System.Reflection.Emit.AssemblyBuilder..ctor(AppDomain域,AssemblyName名称,AssemblyBuilderAccess访问,String目录,证据证据,PermissionSet requiredPermissions,PermissionSet optionalPermissions,PermissionSet rejectedPermissions,StackCrawlMark& stackMark,IEnumerable 1 unsafeAssemblyAttributes, SecurityContextSource securityContextSource)
 at System.Reflection.Emit.AssemblyBuilder.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable 1 unsafeAssemblyAttributes,SecurityContextSource securityContextSource)    at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name,AssemblyBuilderAccess access,String dir,Evidence evidence,PermissionSet requiredPermissions,PermissionSet optionalPermissions,PermissionSet rejectedPermissions,StackCrawlMark& stackMark,IEnumerable`1 assemblyAttributes,SecurityContextSource securityContextSource)    在System.AppDomain.DefineDynamicAssembly(AssemblyName名称,AssemblyBuilderAccess访问)    at Newtonsoft.Json.Utilities.DynamicWrapper.Init()    在Newtonsoft.Json.Utilities.DynamicWrapper.GenerateWrapperType(类型interfaceType,类型underlyingType)    at Newtonsoft.Json.Utilities.DynamicWrapper.GetWrapper(TypeTypeType,Type realObjectType)    at Newtonsoft.Json.Utilities.DynamicWrapper.CreateWrapper [T](Object realObject)    at Newtonsoft.Json.Converters.EntityKeyMemberConverter.WriteJson(JsonWriter writer,Object value,JsonSerializer serializer)    at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeConvertable(JsonWriter writer,JsonConverter converter,Object value,JsonContract contract,JsonContainerContract collectionContract,JsonProperty containerProperty) ......

1 个答案:

答案 0 :(得分:0)

我发现这篇文章:http://ayende.com/blog/1441/unable-to-obtain-public-key-for-strongnamekeypair我想如果Ayende Rahien发布它,这是一个很好的答案。

我也只给了Everyone读写权限并且它有效(服务器可能已经重新启动,但我不确定它是否存在或者是否有帮助)。