c# - 无法覆盖 Mono-2.10.8 中的加密提供程序

标签 c# .net mono cryptography machine.config

我无法将我的加密提供程序映射到 machine.config 文件中的名称。乍一看一切都井井有条,我是不是忽略了什么愚蠢的东西?我正在使用 Mono-2.10.8

<mscorlib>
    <cryptographySettings>
        <cryptoNameMapping>
            <cryptoClasses>
                <cryptoClass monoMD2="Mono.Security.Cryptography.MD2Managed, Mono.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
                <cryptoClass AesProvider="MyProvider.MyAes, MswlAes, Culture='neutral', PublicKeyToken=0738eb9f132ed756, Version=1.0.0.0"/>
            </cryptoClasses>
            <nameEntry name="MD2" class="monoMD2" />
            <nameEntry name="AES" class="AesProvider"/>
            <nameEntry name="AES128" class="AesProvider"/>
            <nameEntry name="AES192" class="AesProvider"/>
            <nameEntry name="AES256" class="AesProvider"/>
            <nameEntry name="Rijndael" class="AesProvider"/>
            <nameEntry name="System.Security.Cryptography.Rijndael" class="AesProvider"/>
            <nameEntry name="System.Security.Cryptography.RijndaelManaged" class="AesProvider"/>
            <nameEntry name="System.Security.Cryptography.SymmetricAlgorithm" class="AesProvider"/>
        </cryptoNameMapping>
        <oidMap>
            <oidEntry OID="1.2.840.113549.2.2" name="MD2" />
            <oidEntry OID="1.2.840.113549.2.2" name="Mono.Security.Cryptography.MD2Managed" />
            <oidEntry OID="2.16.840.1.101.3.4.1.1" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.2" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.2" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.21" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.22" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.23" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.24" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.3" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.4" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.41" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.42" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.43" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1.44" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.1" name="AesProvider" />
            <oidEntry OID="2.16.840.1.101.3.4.4" name="AesProvider" />
        </oidMap>
    </cryptographySettings>
</mscorlib>

最佳答案

这是一个错误 fixed (非常)最近可以添加新算法/oid 但不会替换。它将成为 future Mono 2.10.x 版本的一部分。否则你的 machine.config 在我看来是正确的。

关于c# - 无法覆盖 Mono-2.10.8 中的加密提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842679/

相关文章:

c# - 我可以使用 Ninject 来实例化没有任何依赖的单例服务吗?

c# - 3D相对角度和计算

c# - 重载 + 运算符以添加两个数组

c# - StreamWriter 写入 MemoryStream

mono - MonoMac 被弃用了吗?

c# - 单击外部 Edittext 后如何在 Xamarin Android 中隐藏键盘

c# - 退出后保留程序的数据

c# - 如果在第一个 `else` 之后有一个 `return` ,这对性能有影响吗?

android - Visual Studio 编辑并继续 Xamarin 开发

mono - 无需安装单声道即可分发应用程序