在 web.config 文件中存储公钥

Posted

技术标签:

【中文标题】在 web.config 文件中存储公钥【英文标题】:Storing public key in web.config file 【发布时间】:2013-08-10 03:10:03 【问题描述】:

我正在尝试将公钥存储在 ASP.NET 网站的 web.config 文件中,如下所示:

<add key="public_key" value="<RSAKeyValue><Modulus>zDYX4tbHSyTrwDmjSXiiFTo0ydGK50zxtH2lGL90oWrshMGy16wod7AZMfm8CMd/Rxl3ocIPLTmHSwyBb0xzL6lnF8uJI90s2TBHYemx3tkRQCcW6PZfGBWwlwSzhaNidbibRtoWNImBG4ehzc5Yxg3r6IyUBEtY9xJkL1tIezU=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>"/>

此代码位于 web.config 文件的 appSettings 部分中。不幸的是,它给了我以下警告以及许多其他错误:

Warning 6   The element 'appSettings' has invalid child element 'RSAKeyValue'. List of possible elements expected: 'add, remove, clear'.

请问我该如何解决这个问题?谢谢你:)

【问题讨论】:

不应该是... value="&amp;lt;RSAKeyValue&amp;gt;&amp;lt;Modulus ...吗? 非常感谢您的回复 Marc :) 非常感谢 :) 【参考方案1】:

在这种情况下,您需要转义特殊字符(&amp;lt;&amp;lt;&amp;gt;&amp;gt;),因为在当前状态下它们会将 web.config 转换为无效的 XML。

这里是here得到的转义字符串:

&lt;RSAKeyValue&gt;&lt;Modulus&gt;zDYX4tbHSyTrwDmjSXiiFTo0ydGK50zxtH2lGL90oWrshMGy16wod7AZMfm8CMd/Rxl3ocIPLTmHSwyBb0xzL6lnF8uJI90s2TBHYemx3tkRQCcW6PZfGBWwlwSzhaNidbibRtoWNImBG4ehzc5Yxg3r6IyUBEtY9xJkL1tIezU=&lt;/Modulus&gt;&lt;Exponent&gt;AQAB&lt;/Exponent&gt;&lt;/RSAKeyValue&gt;

【讨论】:

非常感谢您的回复 Andrei :) 非常感谢 :)

以上是关于在 web.config 文件中存储公钥的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 web.config 文件中存储字典对象?

在 web.config 或 app.config 中存储分层应用程序设置

如何保护存储在 web.config 中的密码?

web.config 重写规则在 blob 存储中的 Azure 静态网站中不起作用

“&”字符会破坏存储在 web.config 中的密码

web.config文件详解