在 C# 中验证 DLL

2023-12-27

我有一个 exe,它使用 Castle Windsor 来实现插件机制。我需要验证我加载的插件是否来自我(而不是一些恶意代码)。

我相信我需要使用非对称密钥(可能是 SNK?)对 exe 和 dll 进行签名。首先,这是正确的吗?我该怎么做?其次,如何在 exe 中以编程方式验证 dll 来自受信任的来源?


如果您对 DLL 进行了签名,那么在运行时您可以检查StrongName http://security.policy.strongname.aspx在加载 DLL 之前。

您还可以检查用于签名的公钥是否是您期望的公钥。

要获取程序集的公钥,您可以执行以下操作:

Assembly assembly = ...
AssemblyName assemblyName = assembly.GetName();
byte[] publicKey = assemblyName.GetPublicKey();

我刚刚查了一下,StackOverflow 上已经有一个很好的答案:

https://stackoverflow.com/a/1350012/106159 https://stackoverflow.com/a/1350012/106159

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中验证 DLL 的相关文章

随机推荐

  • 如何获取字符串中的字符数

    Go中如何获取字符串的字符数 例如 如果我有一个字符串 hello 该方法应该返回5 我看到了len str 返回字节数and not字符数所以len 返回 2 而不是 1 因为 在 UTF 8 中使用两个字节进行编码 你可以试试RuneC
  • jQuery:日期选择器替代方案

    有没有比 jQuery 日期选择器更好 更小的替代品 ui datepicker js 有应用程序 70kb 在我看来是相当大的了 可以压缩吗 我知道的最好的选择是凯尔文 拉克的日期选择器 http www kelvinluck com a
  • Python函数求等边三角形的一点

    我正在尝试写一个函数equilateral x y 这需要两个np ndarrays of shape N 其中 x 和 y 是自然数并返回点 zan np ndarray of shape N 这样 x y z 是等边三角形的顶点 有哪位
  • Spring RestTemplate 无法解组包含“”的 XML

    我调用第三方提供的旧网络服务 我正在使用春天RestTemplate HttpEntity
  • 向量下标超出范围错误,C++

    当我尝试运行该程序时 出现错误 该错误会停止该程序并显示 向量下标超出范围 知道我做错了什么吗 include
  • 当 yaml 中的 Draft: true 时,netlify 渲染的草稿

    我正在 blogdown 网站上运行github 仓库 https github com tmastny website2由 Netlify 主办 地址 https timmastny rbind io https timmastny rb
  • Gradle 错误 - 无法下载 okhttp.jar 文件 2.7.2

    当我添加 firebase 函数库时 实现 com google firebase firebase functions 16 1 0 android studio 3 1 4 抛出 无法解析 app debug compileClassp
  • ReferenceError:您正在尝试在 Jest 环境被拆除后“导入”文件:在 loadCjsDefault 处

    我正在测试使用 jest 构建一个包含 rollup 的包 每当我使用 async await 时 它就会抛出错误 我不知道出了什么问题 我尝试了不同的灵魂 但它不起作用 ReferenceError You are trying to i
  • Angular 4:`ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改

    我的子模块中的每个 EventEmiiter 都会出现此错误 但我找不到解决此问题的方法 ExpressionChangedAfterItHasBeenCheckedError Expression has changed after it
  • 设置自定义表格视图单元格的背景图像

    我尝试了多种方法来设置未选定的表格单元格的背景图像 但没有成功 1 In IB setting the image field 2 cell contentView backgroundColor UIColor alloc initWit
  • Rails:渲染模型?

    我可以想到一百万种非自动的方法来在 Rails 中渲染模型 但我想知道是否有一些内置的方法可以做到这一点 我希望能够做到这一点 显然 使用部分你可以做到这一点 我的意思是 调用 render partial 但我想知道是否有一些标准方法联系
  • 使用 Enzyme 测试 Redux 连接的组件

    使用酶测试 redux 连接组件时遇到问题 import React from react import shallow mount render from enzyme import configure from enzyme impor
  • 从其他应用程序调用服务的权限

    可能的重复 服务许可 https stackoverflow com questions 4967962 permission for services 从android启动服务时出现权限问题 https stackoverflow com
  • 具有赫维赛德/阶跃函数的神经网络学习算法

    是否有前馈神经网络训练算法的实现 或直接描述 该算法不使用 sigmoid 或线性挤压函数 而是使用不可微的函数 例如赫维赛德函数 我已经找到了一个关于这种算法的论文 http ieeexplore ieee org iel3 1059 7
  • 代理密钥 RSA SHA256 返回错误的签名类型

    我正在将 vscode 开发容器与 docker 一起使用 但在与容器共享 git 时遇到问题 我已经设置了 git ssh add ssh agent 如下所示here https code visualstudio com docs r
  • 从多 mips 中获取结果

    我是汇编语言的新手 我对乘法感到非常困惑 我正在阅读快速教程here http logos cs uic edu 366 notes mips 20quick 20tutorial htm 死链接 网络存档在这里 https web arc
  • 为什么 Postgres 中的坏行估计速度很慢?

    是什么让错误的行估计成为 SQL 查询性能的痛点 我很想知道其内部原因 通常 错误的行估计实际上会选择正确的计划 而好查询和坏查询之间的唯一区别是估计的行数 为什么经常出现如此巨大的性能差异 是因为 Postgres 使用行估计来分配内存吗
  • 如何从数据库中获取数据并在 PHP 中显示?

    如何使用 php 从数据库获取数据并显示它 数据库表有列 标记为ID Number ID 是唯一且固定的 而 Number 只是一个非唯一的数字 如果有人来访http example com show php ID 32 and show
  • 行尾短语的正则表达式

    我正在抓取一个文本块 在该块中将有一行包含以 WITH PASSWORD kEqHqPUd 结尾的短语 其中 kEqHqPUd 是动态生成的密码 用于仅获取其中密码的简单正则表达式是什么 我正在使用 PHP preg match WITH
  • 在 C# 中验证 DLL

    我有一个 exe 它使用 Castle Windsor 来实现插件机制 我需要验证我加载的插件是否来自我 而不是一些恶意代码 我相信我需要使用非对称密钥 可能是 SNK 对 exe 和 dll 进行签名 首先 这是正确的吗 我该怎么做 其次