100165445.htm
来自「C#高级编程(第三版),顶死你们。。 。up」· HTM 代码 · 共 110 行 · 第 1/2 页
HTM
110 行
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">现在,程序集已经进行了编译和标记;这样程序集就拥有了一个惟一的识别强名称。之后,可以在要执行程序集的机器上创建新的代码组,代码组的成员条件将要求程序集的强名称与代码组相匹配。</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">下面的命令说明,使用指定程序集清单文件中的强名称创建一个新的代码组。代码组独立于程序集的版本号,我们只是要把</span><span lang="EN-US" style="COLOR: black">FullTrust</span><span style="COLOR: black; FONT-FAMILY: 宋体">权限赋予代码组:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><strong><span lang="EN-US" style="COLOR: black">>caspol.exe -addgroup 1 -strong -file \bin\debug\SecurityApp10.exe</span></strong></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><strong><span lang="EN-US" style="COLOR: black"> -noname -noversion FullTrust</span></strong></p>
<p class="MsoNormal"><span style="FONT-FAMILY: 宋体">因为强名称提供了强有力的证据,以说明程序集是可信赖的,所以这个样例中的应用程序可以在任何区域中运行,包括</span><span lang="EN-US">Internet</span><span style="FONT-FAMILY: 宋体">区域。如果使用</span><span lang="EN-US">caspol.exe –listgroups</span><span style="FONT-FAMILY: 宋体">查看代码组,就可以看到新的代码组</span><span lang="EN-US">(1.6)</span><span style="FONT-FAMILY: 宋体">和它的相关公钥</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体">十六进制</span><span lang="EN-US">)</span><span style="FONT-FAMILY: 宋体">:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Code Groups:</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">1. All code: Nothing</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.1. Zone - MyComputer: FullTrust</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.1.1. StrongName - 002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293: FullTrust</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.1.2. StrongName - 00000000000000000400000000000000: FullTrust</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.2. Zone - Intranet: LocalIntranet</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.2.1. All code: Same site Web.</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.2.2. All code: Same directory FileIO - Read, PathDiscovery</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.3. Zone - Internet: Internet</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.3.1. All code: Same site Web.</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.4. Zone - Untrusted: Nothing</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.5. Zone - Trusted: Internet</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.5.1. All code: Same site Web.</span></p>
<p class="2" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> 1.6. StrongName - 0024000004800000940000000602000000240000525341310004000001000100D51335D1B5B64BE976AD8B08030F8E36A0DBBC3EEB5F8A18D0E30E8951DA059B440281997D760FFF61A6252A284061C1D714EFEE5B329F410983A01DB324FA85BCE6C4E6384A2F3BC1FFA01E2586816B23888CFADD38D5AA5DF041ACE2F81D9E8B591556852E83C473017A1785203B12F56B6D9DC23A8C9F691A0BC525D7B7EA: FullTrust</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Success</span></p>
<p class="MsoNormal" style="FTEL: 21.2pt"><span style="COLOR: black; FONT-FAMILY: 宋体">如果要访问程序集中的强名称,可以对程序集清单文件执行</span><span lang="EN-US" style="COLOR: black">secutil.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">命令。使用</span><span lang="EN-US" style="COLOR: black">secutil.exe</span><span style="COLOR: black; FONT-FAMILY: 宋体">可以查看程序集的强名称信息。添加</span><span style="COLOR: black"> <span lang="EN-US">–hex</span></span><span style="COLOR: black; FONT-FAMILY: 宋体">选项,可以使公钥以十六进制的形式显示</span><span lang="EN-US" style="COLOR: black">(</span><span style="COLOR: black; FONT-FAMILY: 宋体">如</span><span lang="EN-US" style="COLOR: black">aspd.exe)</span><span style="COLOR: black; FONT-FAMILY: 宋体">出来;添加</span><span lang="EN-US" style="COLOR: black">–strongname</span><span style="COLOR: black; FONT-FAMILY: 宋体">参数,可以指定要查看的强名称。执行下面的命令,可以看到一个列表,列表中包括强名称公钥、程序集名称以及程序集版本:</span></p>
<p class="a6" style="MARGIN-TOP: 8.15pt; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><strong><span lang="EN-US">>secutil.exe –hex –strongname securityapp10.exe</span></strong></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Microsoft (R) .NET Framework SecUtil 1.1.4322.573</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US"> </span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Public Key =</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">0x0024000004800000940000000602000000240000525341310004000001000100D51335D1B5B64BE976AD8B08030F8E36A0DBBC3EEB5F8A18D0E30E8951DA059B440281997D760FFF61A6252A284061C1D714EFEE5B329F410983A01DB324FA85BCE6C4E6384A2F3BC1FFA01E2586816B23888CFADD38D5AA5DF041ACE2F81D9E8B591556852E83C473017A1785203B12F56B6D9DC23A8C9F691A0BC525D7B7EA</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Name =</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">SecurityApp10</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">Version =</span></p>
<p class="a6" style="MARGIN-LEFT: 21.45pt; FTEL: 18.45pt"><span lang="EN-US">1.0.1372.39648</span></p>
<p class="a6" style="MARGIN-TOP: 0cm; MARGIN-LEFT: 21.45pt; MARGIN-RIGHT: 0cm; FTEL: 18.45pt"><span lang="EN-US">Success</span></p>
<p class="MsoNormal"><span style="COLOR: black; FONT-FAMILY: 宋体">您可能会感到奇怪:已安装的两个强名称代码组在默认状态下引用的是什么。其中一个是</span><span lang="EN-US" style="COLOR: black">Microsoft</span><span style="COLOR: black; FONT-FAMILY: 宋体">代码的强名称公钥,另一个是已经提交给</span><span lang="EN-US" style="COLOR: black">ECMA</span><span style="COLOR: black; FONT-FAMILY: 宋体">以进行标准化的那部分</span><span lang="EN-US" style="COLOR: black">.NET</span><span style="COLOR: black; FONT-FAMILY: 宋体">代码的强名称密钥,</span><span lang="EN-US" style="COLOR: black">Microsoft</span><span style="COLOR: black; FONT-FAMILY: 宋体">对此的控制权较小。</span></p></div>
<!-- page -->
<div class="page" style="text-align: center">
<a href="100165444.htm">上一页</a> <a href="index.html">首页</a> <a href="100165446.htm">下一页</a>
</div>
<div style="margin: 0px auto; width: 700px; border: solid 1px #0b5f98;">
<div style="float: left; width: 16px; background-color: #0b5f98; color: White; padding: 1px;">
图书导读
</div>
<div style="float: right; width: 670px; text-align: left; line-height: 16pt; padding-left: 2px">
<!--导读-->
<h1 id="divCurrentNode2" style="color: #b83507; width: 100%; text-align: left; font-size: 12px; padding-left: 2px">当前章节:<a href='100165445.htm'><font color='red'>14.4.9 使用强名称发布代码</font></a></h1>
<div id="divRealteNod2" style="padding-left: 2px">
<div style='float:left;width:49%'>·<a href='100165442.htm'>14.4.6 代码组的删除</a></div><div style='float:right;width:49%'>·<a href='100165443.htm'>14.4.7 代码组权限的更改</a></div><div style='float:left;width:49%'>·<a href='100165444.htm'>14.4.8 权限集的创建和应用</a></div><div style='float:right;width:49%'>·<a href='100165446.htm'>14.4.10 使用证书发布代码</a></div><div style='float:left;width:49%'>·<a href='100165447.htm'>14.4.11 区域的管理</a></div><div style='float:right;width:49%'>·<a href='100165448.htm'>14.5 小结</a></div></div>
</div>
</div>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?