【发布时间】:2017-09-08 12:35:23
【问题描述】:
我做了以下经验:
- 创建了一个控制台应用程序和一个 dll
- 创建了强名称密钥文件
- 从强名称密钥文件中提取公钥
- 使用公钥延迟签署控制台和 dll 应用程序
- (1) 控制台应用调用dll成功
- 带有强名称密钥文件(包括私钥)的签名控制台应用程序
- (2) 控制台应用调用dll成功
现在,在 (1) 中,我假设这是正确的行为,因为来自两个文件的签名应该相同,为空,但在情况 (2) 中,公共令牌应该相同,但签名应该不同,在控制台应用程序中签名应该被填充并且在dll中为空,因此控制台应用程序应该无法调用dll。
这让我相信强名称验证只使用公钥令牌,这是真的吗?
【问题讨论】:
标签: c# security code-signing strongname